qmk/qmk_firmware

[Bug] Unnecessary delay when pressing the first key after a One-shot key

Open

#14,932 opened on Oct 24, 2021

View on GitHub
 (4 comments) (1 reaction) (0 assignees)C (43,867 forks)batch import
bughelp wanted

Repository metrics

Stars
 (20,368 stars)
PR merge metrics
 (Avg merge 20d 9h) (27 merged PRs in 30d)

Description

One-shot has 2 behaviors:

  • When the mod-key is tapped, the following keypress is modified
  • When the mod-key is held, all keypresses during the hold are modified

This leads to a necessary delay because if the modifier and then "a" and "b" are pressed in rapid succession, we don't yet know if the mod-key press is a tap or a hold, so we don't know whether to apply the modifier to "b" or not.

However, there the delay is unnecessary for "a". In either case (tap or hold), "a" will be modified, so we can send the modified keypress right away.

Contributor guide