forked from mirrors/qmk_userspace
Add GET_TAPPING_TERM macro to reduce duplicate code (#16681)
* Add GET_TAPPING_TERM macro to reduce duplicate code The macro gives the right tapping term depending on whether per-key tapping terms and/or dynamic tapping terms are enabled. Unnecessary function calls and variable resolution are avoided. Fixes #16472. * Use GET_TAPPING_TERM for Cirque trackpads Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
This commit is contained in:
parent
cad0af09a8
commit
8f585153c4
7 changed files with 26 additions and 45 deletions
|
@ -182,12 +182,7 @@ static bool autoshift_press(uint16_t keycode, uint16_t now, keyrecord_t *record)
|
|||
# endif
|
||||
) &&
|
||||
# endif
|
||||
TIMER_DIFF_16(now, autoshift_time) <
|
||||
# ifdef TAPPING_TERM_PER_KEY
|
||||
get_tapping_term(autoshift_lastkey, record)
|
||||
# else
|
||||
TAPPING_TERM
|
||||
# endif
|
||||
TIMER_DIFF_16(now, autoshift_time) < GET_TAPPING_TERM(autoshift_lastkey, record)
|
||||
) {
|
||||
// clang-format on
|
||||
// Allow a tap-then-hold for keyrepeat.
|
||||
|
|
|
@ -93,12 +93,7 @@ void perform_space_cadet(keyrecord_t *record, uint16_t sc_keycode, uint8_t holdM
|
|||
register_mods(MOD_BIT(holdMod));
|
||||
}
|
||||
} else {
|
||||
#ifdef TAPPING_TERM_PER_KEY
|
||||
if (sc_last == holdMod && timer_elapsed(sc_timer) < get_tapping_term(sc_keycode, record))
|
||||
#else
|
||||
if (sc_last == holdMod && timer_elapsed(sc_timer) < TAPPING_TERM)
|
||||
#endif
|
||||
{
|
||||
if (sc_last == holdMod && timer_elapsed(sc_timer) < GET_TAPPING_TERM(sc_keycode, record)) {
|
||||
if (holdMod != tapMod) {
|
||||
if (IS_MOD(holdMod)) {
|
||||
unregister_mods(MOD_BIT(holdMod));
|
||||
|
|
|
@ -174,11 +174,7 @@ void tap_dance_task() {
|
|||
if (action->custom_tapping_term > 0) {
|
||||
tap_user_defined = action->custom_tapping_term;
|
||||
} else {
|
||||
#ifdef TAPPING_TERM_PER_KEY
|
||||
tap_user_defined = get_tapping_term(action->state.keycode, &(keyrecord_t){});
|
||||
#else
|
||||
tap_user_defined = TAPPING_TERM;
|
||||
#endif
|
||||
tap_user_defined = GET_TAPPING_TERM(action->state.keycode, &(keyrecord_t){});
|
||||
}
|
||||
if (action->state.count && timer_elapsed(action->state.timer) > tap_user_defined) {
|
||||
process_tap_dance_action_on_dance_finished(action);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue