summaryrefslogtreecommitdiff
path: root/planck/keymap.c
diff options
context:
space:
mode:
authorChristoph Cullmann <cullmann@kde.org>2023-08-13 17:23:23 +0200
committerChristoph Cullmann <cullmann@kde.org>2023-08-13 17:23:23 +0200
commit3f637e3831a6fd0219012e5c35109c01ba5447d7 (patch)
tree00acc8d2ec3872a906daa6f2092c6e292a0be7a5 /planck/keymap.c
parenta55ce6bf04217feb11a5fc7766af6b1bb9e27588 (diff)
fix rgb
Diffstat (limited to 'planck/keymap.c')
-rw-r--r--planck/keymap.c77
1 files changed, 32 insertions, 45 deletions
diff --git a/planck/keymap.c b/planck/keymap.c
index 1ddeea9..32420bd 100644
--- a/planck/keymap.c
+++ b/planck/keymap.c
@@ -40,59 +40,46 @@ static bool my_on_left_hand(keypos_t pos)
// our shared 34 keys keymap
#include "../common/keymap.h"
-/* plwnck rev6 RGB layout:
- * ----------------------------------
- * | 6 5 4 3 |
- * | 0 |
- * | 7 8 1 2 |
- * ----------------------------------
- */
+void keyboard_post_init_user(void) {
+ // always use the same effect
+ rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING);
+ rgblight_set_speed_noeeprom(2);
-const rgblight_segment_t PROGMEM base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 9, HSV_WHITE}
-);
+ // trigger init of layer state
+ layer_state_set_user(layer_state);
+}
-const rgblight_segment_t PROGMEM sym_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 9, HSV_GOLD}
-);
+// 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;
-const rgblight_segment_t PROGMEM num_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 9, HSV_GREEN}
-);
+ case _SYM:
+ rgblight_sethsv_noeeprom(HSV_RED);
+ break;
-const rgblight_segment_t PROGMEM fn_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 9, HSV_RED}
-);
+ case _NUM:
+ rgblight_sethsv_noeeprom(HSV_GREEN);
+ break;
-const rgblight_segment_t PROGMEM nav_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 9, HSV_BLUE}
-);
+ case _FN:
+ rgblight_sethsv_noeeprom(HSV_BLUE);
+ break;
-const rgblight_segment_t PROGMEM magic_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 9, RGB_CORAL}
-);
+ case _NAV:
+ rgblight_sethsv_noeeprom(HSV_GOLD);
+ break;
-const rgblight_segment_t * const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- [_BASE] = base_layer,
- [_SYM] = sym_layer,
- [_NUM] = num_layer,
- [_FN] = fn_layer,
- [_NAV] = nav_layer,
- [_MAGIC] = magic_layer
-);
+ case _MAGIC:
+ rgblight_sethsv_noeeprom(HSV_MAGENTA);
+ break;
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
-}
+ default:
+ break;
+ }
-layer_state_t layer_state_set_user(layer_state_t state)
-{
- rgblight_set_layer_state(_BASE, layer_state_cmp(state, _BASE));
- rgblight_set_layer_state(_SYM, layer_state_cmp(state, _SYM));
- rgblight_set_layer_state(_NUM, layer_state_cmp(state, _NUM));
- rgblight_set_layer_state(_FN, layer_state_cmp(state, _FN));
- rgblight_set_layer_state(_NAV, layer_state_cmp(state, _NAV));
- rgblight_set_layer_state(_MAGIC, layer_state_cmp(state, _MAGIC));
return state;
}