Fix Caps Word capitalization when used with Combos + Auto Shift. (#17549)

This commit is contained in:
Pascal Getreuer 2022-08-13 06:48:51 -07:00 committed by GitHub
parent 4eeafbebab
commit 6a0d90f81a
Failed to generate hash of commit
9 changed files with 343 additions and 15 deletions

View file

@ -227,7 +227,16 @@ static inline void dump_key_buffer(void) {
#endif
}
record->event.time = 0;
#if defined(CAPS_WORD_ENABLE) && defined(AUTO_SHIFT_ENABLE)
// Edge case: preserve the weak Left Shift mod if both Caps Word and
// Auto Shift are on. Caps Word capitalizes by setting the weak Left
// Shift mod during the press event, but Auto Shift doesn't send the
// key until it receives the release event.
del_weak_mods((is_caps_word_on() && get_autoshift_state()) ? ~MOD_BIT(KC_LSFT) : 0xff);
#else
clear_weak_mods();
#endif // defined(CAPS_WORD_ENABLE) && defined(AUTO_SHIFT_ENABLE)
#if TAP_CODE_DELAY > 0
// only delay once and for a non-tapping key