From 8d8dcb089ed36e7e1a61d77e5a4b6b08c8668869 Mon Sep 17 00:00:00 2001 From: Pascal Getreuer Date: Mon, 14 Apr 2025 09:46:24 -0700 Subject: [Core] Flow Tap tap-hold option to disable HRMs during fast typing (#25125) aka Global Quick Tap, Require Prior Idle--- quantum/action.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'quantum/action.c') diff --git a/quantum/action.c b/quantum/action.c index be85192d25..eb0dbc7022 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -1183,6 +1183,23 @@ bool is_tap_action(action_t action) { return false; } +uint16_t get_tap_keycode(uint16_t keycode) { + switch (keycode) { + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + return QK_MOD_TAP_GET_TAP_KEYCODE(keycode); + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + return QK_LAYER_TAP_GET_TAP_KEYCODE(keycode); + case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: + // IS_SWAP_HANDS_KEYCODE() tests for the special action keycodes + // like SH_TOGG, SH_TT, ..., which overlap the SH_T(kc) range. + if (!IS_SWAP_HANDS_KEYCODE(keycode)) { + return QK_SWAP_HANDS_GET_TAP_KEYCODE(keycode); + } + break; + } + return keycode; +} + /** \brief Debug print (FIXME: Needs better description) * * FIXME: Needs documentation. -- cgit v1.2.3