adds 'RGB_RMOD' to go through RGB modes in reverse

This commit is contained in:
Colin T.A. Gray 2017-12-04 11:36:24 -07:00 committed by skullydazed
parent 7b51f050d7
commit 53b043d4ef
3 changed files with 22 additions and 11 deletions

View file

@ -87,8 +87,8 @@ These control the RGB Lighting functionality.
| Long Name | Short Name | Description | | Long Name | Short Name | Description |
|-----------|------------|-------------| |-----------|------------|-------------|
||`RGB_TOG`|toggle on/off| ||`RGB_TOG`|toggle on/off|
||`RGB_MOD`|cycle through modes| |`RGB_MODE_FORWARD`|`RGB_MOD`|cycle through modes, use reverse direction when shift is held|
||`RGB_SMOD`|cycle through modes, use reverse direction when shift is hold| |`RGB_MODE_REVERSE`|`RGB_RMOD`|cycle through modes in reverse (also suppost shift to go forward)|
||`RGB_HUI`|hue increase| ||`RGB_HUI`|hue increase|
||`RGB_HUD`|hue decrease| ||`RGB_HUD`|hue decrease|
||`RGB_SAI`|saturation increase| ||`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_XMAS`|`RGB_M_X`| Switch to the Christmas animation |
|`RGB_MODE_GRADIENT`|`RGB_M_G`| Switch to the static gradient mode | |`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 ## Hardware Modification
![Planck with RGB Underglow](https://raw.githubusercontent.com/qmk/qmk_firmware/master/keyboards/planck/keymaps/yang/planck-with-rgb-underglow.jpg) ![Planck with RGB Underglow](https://raw.githubusercontent.com/qmk/qmk_firmware/master/keyboards/planck/keymaps/yang/planck-with-rgb-underglow.jpg)

View file

@ -286,13 +286,7 @@ bool process_record_quantum(keyrecord_t *record) {
rgblight_toggle(); rgblight_toggle();
} }
return false; return false;
case RGB_MOD: case RGB_MODE_FORWARD:
if (record->event.pressed) {
rgblight_step();
}
return false;
case RGB_SMOD:
// same as RBG_MOD, but if shift is pressed, it will use the reverese direction instead.
if (record->event.pressed) { if (record->event.pressed) {
uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)); uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT));
if(shifted) { if(shifted) {
@ -303,6 +297,17 @@ bool process_record_quantum(keyrecord_t *record) {
} }
} }
return false; return false;
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();
}
else {
rgblight_step_reverse();
}
}
return false;
case RGB_HUI: case RGB_HUI:
if (record->event.pressed) { if (record->event.pressed) {
rgblight_increase_hue(); rgblight_increase_hue();

View file

@ -399,8 +399,8 @@ enum quantum_keycodes {
// RGB functionality // RGB functionality
RGB_TOG, RGB_TOG,
RGB_MOD, RGB_MODE_FORWARD,
RGB_SMOD, RGB_MODE_REVERSE,
RGB_HUI, RGB_HUI,
RGB_HUD, RGB_HUD,
RGB_SAI, RGB_SAI,
@ -553,6 +553,10 @@ enum quantum_keycodes {
#define KC_GESC GRAVE_ESC #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_P RGB_MODE_PLAIN
#define RGB_M_B RGB_MODE_BREATHE #define RGB_M_B RGB_MODE_BREATHE
#define RGB_M_R RGB_MODE_RAINBOW #define RGB_M_R RGB_MODE_RAINBOW