Explorar o código

Prevent Tri-Layer keys from stopping caps words (#20398)

Ricardo Hermida Ruiz %!s(int64=3) %!d(string=hai) anos
pai
achega
d3b8179f46

+ 1 - 0
quantum/process_keycode/process_caps_word.c

@@ -148,6 +148,7 @@ bool process_caps_word(uint16_t keycode, keyrecord_t* record) {
             case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX:
             case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
             case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX:
+            case QK_TRI_LAYER_LOWER ... QK_TRI_LAYER_UPPER:
             // Ignore AltGr.
             case KC_RALT:
             case OSM(MOD_RALT):

+ 5 - 0
tests/caps_word/test_caps_word.cpp

@@ -371,6 +371,11 @@ INSTANTIATE_TEST_CASE_P(
             "OSL", OSL(1), 1, KC_NO, true},
         CapsWordPressUserParams{
             "LT_held", LT_1_KC_A, TAPPING_TERM + 1, KC_NO, true},
+        // Tri-Layer keys are ignored and continue Caps Word.
+        CapsWordPressUserParams{
+            "TL_LOWR", TL_LOWR, 1, KC_NO, true},
+        CapsWordPressUserParams{
+            "TL_UPPR", TL_UPPR, 1, KC_NO, true},
         // AltGr keys are ignored and continue Caps Word.
         CapsWordPressUserParams{
             "KC_RALT", KC_RALT, 1, KC_NO, true},