1
0
Fork 0

Remove IGNORE_MOD_TAP_INTERRUPT_PER_KEY in favour of HOLD_ON_OTHER_KEY_PRESS_PER_KEY (#15741)

This commit is contained in:
precondition 2022-12-13 12:20:07 +01:00 committed by GitHub
parent ca13734f91
commit 515dd18c28
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
42 changed files with 227 additions and 518 deletions

View file

@ -397,8 +397,17 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) {
break;
# endif
}
// If Retro Shift is disabled, possible custom actions shouldn't happen.
// clang-format off
// If Retro Shift is disabled, possible custom actions shouldn't happen.
// clang-format off
# if defined(RETRO_SHIFT) && !defined(NO_ACTION_TAPPING)
# if defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY)
const bool is_hold_on_interrupt = get_hold_on_other_key_press(keycode, record);
# elif defined(IGNORE_MOD_TAP_INTERRUPT)
const bool is_hold_on_interrupt = false;
# else
const bool is_hold_on_interrupt = IS_MT(keycode);
# endif
# endif
if (IS_RETRO(keycode)
# if defined(RETRO_SHIFT) && !defined(NO_ACTION_TAPPING)
// Not tapped or #defines mean that rolls should use hold action.
@ -407,27 +416,7 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) {
# ifdef RETRO_TAPPING_PER_KEY
|| !get_retro_tapping(keycode, record)
# endif
|| (record->tap.interrupted && (IS_LT(keycode)
# if defined(HOLD_ON_OTHER_KEY_PRESS) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY)
# ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY
? get_hold_on_other_key_press(keycode, record)
# else
? true
# endif
# else
? false
# endif
# if defined(IGNORE_MOD_TAP_INTERRUPT) || defined(IGNORE_MOD_TAP_INTERRUPT_PER_KEY)
# ifdef IGNORE_MOD_TAP_INTERRUPT_PER_KEY
: !get_ignore_mod_tap_interrupt(keycode, record)
# else
: false
# endif
# else
: true
# endif
))
)
|| (record->tap.interrupted && is_hold_on_interrupt))
# endif
) {
// clang-format on
@ -454,10 +443,10 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) {
# endif
) {
// Fixes modifiers not being applied to rolls with AUTO_SHIFT_MODIFIERS set.
# if !defined(IGNORE_MOD_TAP_INTERRUPT) || defined(IGNORE_MOD_TAP_INTERRUPT_PER_KEY)
# if !defined(IGNORE_MOD_TAP_INTERRUPT) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY)
if (autoshift_flags.in_progress
# ifdef IGNORE_MOD_TAP_INTERRUPT_PER_KEY
&& !get_ignore_mod_tap_interrupt(keycode, record)
# ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY
&& get_hold_on_other_key_press(keycode, record)
# endif
) {
autoshift_end(KC_NO, now, false, &autoshift_lastrecord);