summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--docs/feature_rgblight.md1
-rw-r--r--quantum/process_keycode/process_rgb.c5
-rw-r--r--quantum/quantum_keycodes.h4
3 files changed, 10 insertions, 0 deletions
diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md
index d2612a6d1b..8e8d6b81c3 100644
--- a/docs/feature_rgblight.md
+++ b/docs/feature_rgblight.md
@@ -74,6 +74,7 @@ Changing the **Value** sets the overall brightness.<br>
 |`RGB_MODE_XMAS`    |`RGB_M_X` |Christmas animation mode                                            |
 |`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode                                      |
 |`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode                                |
+|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode                                              |
 
 !> By default, if you have both the RGB Light and the [RGB Matrix](feature_rgb_matrix.md) feature enabled, these keycodes will work for both features, at the same time. You can disable the keycode functionality by defining the `*_DISABLE_KEYCODES` option for the specific feature.
 
diff --git a/quantum/process_keycode/process_rgb.c b/quantum/process_keycode/process_rgb.c
index 5dd8e7809d..167c0c03c9 100644
--- a/quantum/process_keycode/process_rgb.c
+++ b/quantum/process_keycode/process_rgb.c
@@ -207,6 +207,11 @@ bool process_rgb(const uint16_t keycode, const keyrecord_t *record) {
                 rgblight_mode(RGBLIGHT_MODE_RGB_TEST);
 #endif
                 return false;
+            case RGB_MODE_TWINKLE:
+#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_TWINKLE)
+                handleKeycodeRGBMode(RGBLIGHT_MODE_TWINKLE, RGBLIGHT_MODE_TWINKLE_end);
+#endif
+                return false;
         }
     }
 
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index b6353081c1..26021598a1 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -511,6 +511,9 @@ enum quantum_keycodes {
     ONESHOT_DISABLE,
     ONESHOT_TOGGLE,
 
+    // RGB underglow/matrix (continued)
+    RGB_MODE_TWINKLE,
+
     // Start of custom keycode range for keyboards and keymaps - always leave at the end
     SAFE_RANGE
 };
@@ -654,6 +657,7 @@ enum quantum_keycodes {
 #define RGB_M_X RGB_MODE_XMAS
 #define RGB_M_G RGB_MODE_GRADIENT
 #define RGB_M_T RGB_MODE_RGBTEST
+#define RGB_M_TW RGB_MODE_TWINKLE
 
 // Magic aliases
 #define CL_SWAP MAGIC_SWAP_CONTROL_CAPSLOCK