logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

proteus67.c (1186B)


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