summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/feature_rgblight.md6
-rw-r--r--quantum/quantum.c17
-rw-r--r--quantum/quantum_keycodes.h8
3 files changed, 21 insertions, 10 deletions
diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md
index 0a5e2a8b15..9d8f537dfb 100644
--- a/docs/feature_rgblight.md
+++ b/docs/feature_rgblight.md
@@ -87,8 +87,8 @@ These control the RGB Lighting functionality.
| Long Name | Short Name | Description |
|-----------|------------|-------------|
||`RGB_TOG`|toggle on/off|
-||`RGB_MOD`|cycle through modes|
-||`RGB_SMOD`|cycle through modes, use reverse direction when shift is hold|
+|`RGB_MODE_FORWARD`|`RGB_MOD`|cycle through modes, use reverse direction when shift is held|
+|`RGB_MODE_REVERSE`|`RGB_RMOD`|cycle through modes in reverse (also suppost shift to go forward)|
||`RGB_HUI`|hue increase|
||`RGB_HUD`|hue decrease|
||`RGB_SAI`|saturation increase|
@@ -104,6 +104,8 @@ These control the RGB Lighting functionality.
|`RGB_MODE_XMAS`|`RGB_M_X`| Switch to the Christmas animation |
|`RGB_MODE_GRADIENT`|`RGB_M_G`| Switch to the static gradient mode |
+note: for backwards compatibility, `RGB_SMOD` is an alias for `RGB_MOD`.
+
## Hardware Modification
![Planck with RGB Underglow](https://raw.githubusercontent.com/qmk/qmk_firmware/master/keyboards/planck/keymaps/yang/planck-with-rgb-underglow.jpg)
diff --git a/quantum/quantum.c b/quantum/quantum.c
index d08f15870c..9c498bf7e0 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -286,20 +286,25 @@ bool process_record_quantum(keyrecord_t *record) {
rgblight_toggle();
}
return false;
- case RGB_MOD:
+ case RGB_MODE_FORWARD:
if (record->event.pressed) {
- rgblight_step();
+ uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT));
+ if(shifted) {
+ rgblight_step_reverse();
+ }
+ else {
+ rgblight_step();
+ }
}
return false;
- case RGB_SMOD:
- // same as RBG_MOD, but if shift is pressed, it will use the reverese direction instead.
+ case RGB_MODE_REVERSE:
if (record->event.pressed) {
uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT));
if(shifted) {
- rgblight_step_reverse();
+ rgblight_step();
}
else {
- rgblight_step();
+ rgblight_step_reverse();
}
}
return false;
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index c3c5f16564..048da32673 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -399,8 +399,8 @@ enum quantum_keycodes {
// RGB functionality
RGB_TOG,
- RGB_MOD,
- RGB_SMOD,
+ RGB_MODE_FORWARD,
+ RGB_MODE_REVERSE,
RGB_HUI,
RGB_HUD,
RGB_SAI,
@@ -553,6 +553,10 @@ enum quantum_keycodes {
#define KC_GESC GRAVE_ESC
+#define RGB_MOD RGB_MODE_FORWARD
+#define RGB_SMOD RGB_MODE_FORWARD
+#define RGB_RMOD RGB_MODE_REVERSE
+
#define RGB_M_P RGB_MODE_PLAIN
#define RGB_M_B RGB_MODE_BREATHE
#define RGB_M_R RGB_MODE_RAINBOW