forked from mirrors/qmk_userspace
Fix swap-hands tapping.
This is an inelegant hack for #2522 but makes things work. Basically we give `action.c` a chance to handle the hold event early so that we can swap the keyboard for later keys. Later, to allow the hold to happen again quickly we nuke the key record so that tapping is reset. I tried to find a cleaner way, honestly.
This commit is contained in:
parent
23ac2a02ef
commit
5d771039ad
4 changed files with 50 additions and 9 deletions
|
@ -263,7 +263,7 @@ bool process_tapping(keyrecord_t *keyp)
|
|||
return true;
|
||||
}
|
||||
} else {
|
||||
// FIX: process_aciton here?
|
||||
// FIX: process_action here?
|
||||
// timeout. no sequential tap.
|
||||
debug("Tapping: End(Timeout after releasing last tap): ");
|
||||
debug_event(event); debug("\n");
|
||||
|
@ -277,6 +277,7 @@ bool process_tapping(keyrecord_t *keyp)
|
|||
if (event.pressed && is_tap_key(event.key)) {
|
||||
debug("Tapping: Start(Press tap key).\n");
|
||||
tapping_key = *keyp;
|
||||
process_record_tap_hint(&tapping_key);
|
||||
waiting_buffer_scan_tap();
|
||||
debug_tapping_key();
|
||||
return true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue