From 5d771039adf23fe9cb8de5843a3d799dc73a2fc7 Mon Sep 17 00:00:00 2001 From: Joe Wasson Date: Mon, 12 Mar 2018 10:22:49 -0700 Subject: 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. --- tmk_core/common/action_tapping.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tmk_core/common/action_tapping.c') diff --git a/tmk_core/common/action_tapping.c b/tmk_core/common/action_tapping.c index 531a3ca345..6280c6c36f 100644 --- a/tmk_core/common/action_tapping.c +++ b/tmk_core/common/action_tapping.c @@ -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; -- cgit v1.2.3