diff options
Diffstat (limited to 'qmk/keyboards/sofle_choc/keymaps/custom/lighting.c')
| -rw-r--r-- | qmk/keyboards/sofle_choc/keymaps/custom/lighting.c | 18 | 
1 files changed, 13 insertions, 5 deletions
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c index 9e4001d..67ccf2c 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c @@ -2,6 +2,7 @@      uint8_t flags = 0;  #include "keycodes.h"  #include "lighting.h" +#include "keymap_bepo.h"  // The variable is defined in star_key.h  // The LED is on when the key is pressed. @@ -60,26 +61,31 @@ void housekeeping_task_lighting(void) {          counter += 1;      } +    uint8_t matrix_mode = rgb_matrix_get_mode(); +    if (matrix_mode != RGB_MATRIX_BREATHING && host_keyboard_led_state().caps_lock) { +        rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING); +    } +      if (flags == last_flags) {          return;      }      last_flags = flags; -    if (get_mods()) { -        if (rgb_matrix_get_mode() != RGB_MATRIX_SOLID_COLOR) { +    if (flags) { +        if (matrix_mode != RGB_MATRIX_SOLID_COLOR) {              rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);          }          uint8_t v = colors[flags].v;          if (counter >= 2)              v *= 2;          rgb_matrix_sethsv_noeeprom(colors[flags].h, colors[flags].s, v); -    } else if (rgb_matrix_get_mode() != RGB_MATRIX_SOLID_REACTIVE_SIMPLE) { +    } else if (matrix_mode != RGB_MATRIX_SOLID_REACTIVE_SIMPLE) {          rgb_matrix_sethsv_noeeprom(HSV_WHITE);          rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_REACTIVE_SIMPLE);      }  } -#define KEY_5      MT(MOD_LCTL, KC_P5) +#define KEY_6      MT(MOD_LCTL, KC_P6)  #define KEY_DOWN   MT(MOD_RCTL, KC_DOWN)  bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {      // Activate effects depending of mods @@ -115,9 +121,11 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {                      rgb_matrix_set_color(index, 128, 128, 128);                      break;                  case KC_P1 ... KC_P0: -                case KEY_5: +                case KEY_6:                      rgb_matrix_set_color(index, 100, 100, 0);                      break; +                case BP_CCED: +                case BP_PERC:                  case KC_PDOT:                      // Add a bit of red for the punction symbol                      rgb_matrix_set_color(index, 150, 50, 0);  | 
