da6e888a32
Tap dance callbacks may register weak mods; one case when it happens is when a tap dance registers a key with modifiers. When the tap dance is interrupted by pressing another key, these weak mods could affect the interrupting key (normally any stale weak mods are cleared at the start of action_exec() when handling a keypress event, but the tap dance interrupt check code is called later, and the weak mods left by that code were not cleared). Add another clear_weak_mods() call to preprocess_tap_dance() to make sure that the interrupting keypress is not affected by unrelated weak mods from the previous tap dance. Fixes #12445. |
||
---|---|---|
.. | ||
process_audio.c | ||
process_audio.h | ||
process_auto_shift.c | ||
process_auto_shift.h | ||
process_backlight.c | ||
process_backlight.h | ||
process_clicky.c | ||
process_clicky.h | ||
process_combo.c | ||
process_combo.h | ||
process_dynamic_macro.c | ||
process_dynamic_macro.h | ||
process_grave_esc.c | ||
process_grave_esc.h | ||
process_joystick.c | ||
process_joystick.h | ||
process_key_lock.c | ||
process_key_lock.h | ||
process_leader.c | ||
process_leader.h | ||
process_magic.c | ||
process_magic.h | ||
process_midi.c | ||
process_midi.h | ||
process_music.c | ||
process_music.h | ||
process_printer.c | ||
process_printer.h | ||
process_printer_bb.c | ||
process_rgb.c | ||
process_rgb.h | ||
process_sequencer.c | ||
process_sequencer.h | ||
process_space_cadet.c | ||
process_space_cadet.h | ||
process_steno.c | ||
process_steno.h | ||
process_tap_dance.c | ||
process_tap_dance.h | ||
process_terminal.c | ||
process_terminal.h | ||
process_terminal_nop.h | ||
process_ucis.c | ||
process_ucis.h | ||
process_unicode.c | ||
process_unicode.h | ||
process_unicode_common.c | ||
process_unicode_common.h | ||
process_unicodemap.c | ||
process_unicodemap.h |