petrichor.c (1085B)
1 // Copyright 2023 Andrew Kannan 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 4 #include "quantum.h" 5 6 const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( 7 {2, 1, HSV_PURPLE} 8 ); 9 const rgblight_segment_t PROGMEM my_numlock_layer[] = RGBLIGHT_LAYER_SEGMENTS( 10 {1, 1, HSV_GREEN} 11 ); 12 const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( 13 {0, 1, HSV_BLUE} 14 ); 15 16 const rgblight_segment_t* const PROGMEM enabled_rgb_layers[] = RGBLIGHT_LAYERS_LIST( 17 my_capslock_layer, 18 my_numlock_layer, 19 my_layer1_layer 20 ); 21 22 void keyboard_post_init_kb(void) { 23 keyboard_post_init_user(); 24 rgblight_layers = enabled_rgb_layers; 25 } 26 27 bool led_update_kb(led_t led_state) { 28 if(!led_update_user(led_state)){ 29 return false; 30 } 31 rgblight_set_layer_state(0, led_state.caps_lock); 32 rgblight_set_layer_state(1, led_state.num_lock); 33 return true; 34 } 35 36 layer_state_t layer_state_set_kb(layer_state_t state) { 37 state = layer_state_set_user(state); 38 rgblight_set_layer_state(2, layer_state_cmp(state, 1)); 39 return state; 40 }