diff options
author | Christoph Cullmann <cullmann@kde.org> | 2024-08-27 13:53:14 +0200 |
---|---|---|
committer | Christoph Cullmann <cullmann@kde.org> | 2024-08-27 13:53:14 +0200 |
commit | 789b351293fd4ecf3ae7885e53d54c7107e3e9dd (patch) | |
tree | 32c8323e3d2a128dac2363e8c3f80598463afdc5 /crkbd/keymap.c | |
parent | 254f4e66ada5d30f25facdbbdbb5821d0a17d7ce (diff) |
fix rgb stuff
Diffstat (limited to 'crkbd/keymap.c')
-rw-r--r-- | crkbd/keymap.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/crkbd/keymap.c b/crkbd/keymap.c index d6cae2d..60aad99 100644 --- a/crkbd/keymap.c +++ b/crkbd/keymap.c @@ -41,3 +41,43 @@ K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35 // our shared 42 keys keymap #include "../common/keymap.h" + +void keyboard_post_init_user(void) { + // always use the same effect + rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING); + rgblight_set_speed_noeeprom(2); + + // trigger init of layer state + layer_state_set_user(layer_state); +} + +// handle layer changes for backlight +layer_state_t layer_state_set_user(layer_state_t state) { + const uint8_t layer = get_highest_layer(state); + switch (layer) { + case _BASE: + rgblight_sethsv_noeeprom(HSV_WHITE); + break; + + case _SYM: + rgblight_sethsv_noeeprom(HSV_RED); + break; + + case _NUM: + rgblight_sethsv_noeeprom(HSV_GREEN); + break; + + case _FN: + rgblight_sethsv_noeeprom(HSV_BLUE); + break; + + case _NAV: + rgblight_sethsv_noeeprom(HSV_GOLD); + break; + + default: + break; + } + + return state; +} |