qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

proteus67.c (1186B)


      1 // Copyright 2023 James Gzowski
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 #include QMK_KEYBOARD_H
      4 
      5 enum custom_layer {
      6     _LAYERA,
      7     _LAYERB,
      8     _LAYERC,
      9 };
     10 
     11 // MO(_LAYERB)
     12 const rgblight_segment_t PROGMEM backlight_layer_layerb[] = RGBLIGHT_LAYER_SEGMENTS(
     13     {0, 4, HSV_GOLD}
     14 );
     15 // MO(_LAYERC)
     16 const rgblight_segment_t PROGMEM backlight_layer_layerc[] = RGBLIGHT_LAYER_SEGMENTS(
     17     {0, 4, HSV_CYAN}
     18 );
     19 const rgblight_segment_t PROGMEM backlight_layer_layera[] = RGBLIGHT_LAYER_SEGMENTS(
     20     {0, 4, HSV_BLACK}
     21 );
     22 const rgblight_segment_t* const PROGMEM set_backlight_mode[] = RGBLIGHT_LAYERS_LIST(
     23     backlight_layer_layerb,
     24     backlight_layer_layerc,
     25     backlight_layer_layera
     26 );
     27 
     28 layer_state_t layer_state_set_kb(layer_state_t state) {
     29     rgblight_set_layer_state(0, layer_state_cmp(state, _LAYERB));
     30     rgblight_set_layer_state(1, layer_state_cmp(state, _LAYERC));
     31     rgblight_set_layer_state(2, layer_state_cmp(state, _LAYERA));
     32 
     33     return layer_state_set_user(state);
     34 }
     35 
     36 void keyboard_post_init_kb(void) {
     37     rgblight_set_effect_range(4, 17);
     38     rgblight_sethsv_range(HSV_BLACK, 0, 4);
     39     rgblight_layers = set_backlight_mode;
     40 
     41     keyboard_post_init_user();
     42 }