From 7148a69d5ea7d75119c81cf9b7c579f3136c4fd3 Mon Sep 17 00:00:00 2001 From: precondition <57645186+precondition@users.noreply.github.com> Date: Fri, 11 Feb 2022 20:53:26 +0100 Subject: Pass in the keyrecord_t of the dual-role/tapping key when calling per-key tap hold functions (#15938) * Replace keyp by &tapping_key in the record arg of per-key tap hold funcs * Replace NULL by &(keyrecord_t){} in 2nd arg of get_tapping_term --- quantum/action_tapping.c | 18 +++++++++--------- quantum/pointing_device_drivers.c | 2 +- quantum/process_keycode/process_tap_dance.c | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c index d2c93f85e3..4ba38bee8d 100644 --- a/quantum/action_tapping.c +++ b/quantum/action_tapping.c @@ -124,7 +124,7 @@ bool process_tapping(keyrecord_t *keyp) { # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) || ( # ifdef RETRO_TAPPING_PER_KEY - get_retro_tapping(tapping_keycode, keyp) && + get_retro_tapping(tapping_keycode, &tapping_key) && # endif (RETRO_SHIFT + 0) != 0 && TIMER_DIFF_16(event.time, tapping_key.event.time) < (RETRO_SHIFT + 0) ) @@ -158,7 +158,7 @@ bool process_tapping(keyrecord_t *keyp) { ( ( # ifdef TAPPING_TERM_PER_KEY - get_tapping_term(tapping_keycode, keyp) + get_tapping_term(tapping_keycode, &tapping_key) # else g_tapping_term # endif @@ -166,7 +166,7 @@ bool process_tapping(keyrecord_t *keyp) { ) # ifdef PERMISSIVE_HOLD_PER_KEY - || get_permissive_hold(tapping_keycode, keyp) + || get_permissive_hold(tapping_keycode, &tapping_key) # elif defined(PERMISSIVE_HOLD) || true # endif @@ -177,7 +177,7 @@ bool process_tapping(keyrecord_t *keyp) { # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) || ( # ifdef RETRO_TAPPING_PER_KEY - get_retro_tapping(tapping_keycode, keyp) && + get_retro_tapping(tapping_keycode, &tapping_key) && # endif ( // Rolled over the two keys. @@ -188,7 +188,7 @@ bool process_tapping(keyrecord_t *keyp) { || ( IS_LT(tapping_keycode) # ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY - && get_hold_on_other_key_press(tapping_keycode, keyp) + && get_hold_on_other_key_press(tapping_keycode, &tapping_key) # endif ) # endif @@ -196,7 +196,7 @@ bool process_tapping(keyrecord_t *keyp) { || ( IS_MT(tapping_keycode) # ifdef IGNORE_MOD_TAP_INTERRUPT_PER_KEY - && !get_ignore_mod_tap_interrupt(tapping_keycode, keyp) + && !get_ignore_mod_tap_interrupt(tapping_keycode, &tapping_key) # endif ) # endif @@ -252,7 +252,7 @@ bool process_tapping(keyrecord_t *keyp) { tapping_key.tap.interrupted = true; # if defined(HOLD_ON_OTHER_KEY_PRESS) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) # if defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) - if (get_hold_on_other_key_press(tapping_keycode, keyp)) + if (get_hold_on_other_key_press(tapping_keycode, &tapping_key)) # endif { debug("Tapping: End. No tap. Interfered by pressed key\n"); @@ -360,7 +360,7 @@ bool process_tapping(keyrecord_t *keyp) { # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) || ( # ifdef RETRO_TAPPING_PER_KEY - get_retro_tapping(tapping_keycode, keyp) && + get_retro_tapping(tapping_keycode, &tapping_key) && # endif (RETRO_SHIFT + 0) != 0 && TIMER_DIFF_16(event.time, tapping_key.event.time) < (RETRO_SHIFT + 0) ) @@ -373,7 +373,7 @@ bool process_tapping(keyrecord_t *keyp) { # if !defined(TAPPING_FORCE_HOLD) || defined(TAPPING_FORCE_HOLD_PER_KEY) if ( # ifdef TAPPING_FORCE_HOLD_PER_KEY - !get_tapping_force_hold(tapping_keycode, keyp) && + !get_tapping_force_hold(tapping_keycode, &tapping_key) && # endif !tapping_key.tap.interrupted && tapping_key.tap.count > 0) { // sequential tap. diff --git a/quantum/pointing_device_drivers.c b/quantum/pointing_device_drivers.c index 4333bbb095..7702958f88 100644 --- a/quantum/pointing_device_drivers.c +++ b/quantum/pointing_device_drivers.c @@ -101,7 +101,7 @@ const pointing_device_driver_t pointing_device_driver = { # ifdef TAPPING_TERM_PER_KEY # include "action.h" # include "action_tapping.h" -# define CIRQUE_PINNACLE_TAPPING_TERM get_tapping_term(KC_BTN1, NULL) +# define CIRQUE_PINNACLE_TAPPING_TERM get_tapping_term(KC_BTN1, &(keyrecord_t){}) # else # ifdef TAPPING_TERM # define CIRQUE_PINNACLE_TAPPING_TERM TAPPING_TERM diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index c707fdea30..035c9c265d 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -173,7 +173,7 @@ void tap_dance_task() { tap_user_defined = action->custom_tapping_term; } else { #ifdef TAPPING_TERM_PER_KEY - tap_user_defined = get_tapping_term(action->state.keycode, NULL); + tap_user_defined = get_tapping_term(action->state.keycode, &(keyrecord_t){}); #else tap_user_defined = TAPPING_TERM; #endif -- cgit v1.2.3