diff options
author | Sebastian Kaim <sebb@sebb767.de> | 2017-10-24 23:17:47 +0200 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2017-10-24 17:02:20 -1000 |
commit | 1f4349592277e6a61e643947665c8b026b7700ed (patch) | |
tree | d4374e8deb6d268357bb5c22684b71c4445c75e2 | |
parent | 21dfa29c28b8257116b2f1c0b4524c4062658598 (diff) |
Added a new keycode for cycling through RBG modes which reverses directions when shift is hold.
This commit adds a new keycode `RGB_SMOD` which is the same as `RGB_MOD` (cycle through all modes),
but when it is used in combination with shift it will reverse the direction.
-rw-r--r-- | docs/feature_rgblight.md | 1 | ||||
-rw-r--r-- | quantum/quantum.c | 12 | ||||
-rw-r--r-- | quantum/quantum_keycodes.h | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index 18f2c74e5e..0a5e2a8b15 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -88,6 +88,7 @@ These control the RGB Lighting functionality. |-----------|------------|-------------| ||`RGB_TOG`|toggle on/off| ||`RGB_MOD`|cycle through modes| +||`RGB_SMOD`|cycle through modes, use reverse direction when shift is hold| ||`RGB_HUI`|hue increase| ||`RGB_HUD`|hue decrease| ||`RGB_SAI`|saturation increase| diff --git a/quantum/quantum.c b/quantum/quantum.c index a1a1a9d1cb..23873852f5 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -290,6 +290,18 @@ bool process_record_quantum(keyrecord_t *record) { 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) { + 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_HUI: if (record->event.pressed) { rgblight_increase_hue(); diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 212fdc67d6..c3c5f16564 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -400,6 +400,7 @@ enum quantum_keycodes { // RGB functionality RGB_TOG, RGB_MOD, + RGB_SMOD, RGB_HUI, RGB_HUD, RGB_SAI, |