diff options
author | Drashna Jael're <drashna@live.com> | 2022-11-08 17:14:27 -0800 |
---|---|---|
committer | Drashna Jael're <drashna@live.com> | 2022-11-08 17:14:27 -0800 |
commit | 64f04b30c2f48fc0e7c49ca043443f03dc56df94 (patch) | |
tree | e0f374d3b92bacefd22c31e7bda8ee1c6fcb37de /quantum/process_keycode/process_combo.c | |
parent | d9f575fa86ca10b990958d4e677c6a0a387dc7c3 (diff) | |
parent | 96c48a5f4aa461ed31fd4ee61151ac206e16fb5f (diff) |
Merge tag '0.18.16' into firmware22
Diffstat (limited to 'quantum/process_keycode/process_combo.c')
-rw-r--r-- | quantum/process_keycode/process_combo.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index d5a649adb3..e5135e5a64 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -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 |