]> git.donarmstrong.com Git - qmk_firmware.git/commit
race condition between oneshot_mods and tap_dance
authorSjB <steve@sagacity.ca>
Sun, 29 Jan 2017 18:04:43 +0000 (13:04 -0500)
committerSjB <steve@sagacity.ca>
Sun, 29 Jan 2017 18:26:31 +0000 (13:26 -0500)
commit5a860b71a1943358d0722ace9d2c13bd5c77c971
treec14acba6ee9cfc163743d16f3cd5673e44766cdd
parentec05f654210a01ef82db2ab54e6065783536b802
race condition between oneshot_mods and tap_dance

since the keycode for a tap dance process gets process only after the
TAPPING_TERM timeout, you really only have ONESHOT_TIMEOUT -
TAPPING_TERM time to tap or double tap on the key. This fix save the
oneshot_mods into the action.state structure and applies the mods with
the keycode when it's registered. It also unregisters the mod when the
the tap dance process gets reset.
quantum/process_keycode/process_tap_dance.c
quantum/process_keycode/process_tap_dance.h