qmk/qmk_firmware

[Bug] When holding multiple mod-tap keys, only one gets registered as a modifier

Open

#13.346 geöffnet am 26. Juni 2021

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C (43.867 Forks)batch import
bughelp wanted

Repository-Metriken

Stars
 (20.368 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 20T 9h) (27 gemergte PRs in 30 T)

Beschreibung

Describe the Bug

I have home-row modifiers set up with mod-tap like so:

#define HM_A LALT_T(KC_A)
#define HM_R LGUI_T(KC_R)
#define HM_S LSFT_T(KC_S)
#define HM_T LCTL_T(KC_T)

My relevant configuration is as follows:

#define TAPPING_TERM 250
#define IGNORE_MOD_TAP_INTERRUPT
#define TAPPING_FORCE_HOLD
#define PERMISSIVE_HOLD

When I input this key sequence:

HM_R down, HM_S down, KC_SPACE down, KC_SPACE up, HM_S up, HM_R up

My computer sees the following:

gui down, s down, space down, space up, s up, gui up

But I would expect to see this:

gui down, shift down, space down, space up, shift up, gui up

Basically, I would expect the second mod-tap key to also be treated as a modifier since space was pressed and released between when it was pressed and released.

System Information

  • Keyboard: Keyboardio Atreus
    • Revision (if applicable):
  • Operating system: Arch Linux
  • AVR GCC version: 11.1.0
  • ARM GCC version: 11.1.0
  • QMK Firmware version: 0.13.2
  • Any keyboard related software installed?
    • AutoHotKey
    • Karabinerk
    • Other:

Contributor Guide