logo

qmk_firmware

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

ps17.c (1149B)


  1. // Copyright 2023 mjbogusz (@mjbogusz)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "quantum.h"
  4. layer_state_t layer_state_set_kb(layer_state_t state) {
  5. /* Display current layer using indicator LEDs */
  6. gpio_write_pin(LED_INDICATOR_0_PIN, !IS_LAYER_ON_STATE(state, 1));
  7. gpio_write_pin(LED_INDICATOR_1_PIN, !IS_LAYER_ON_STATE(state, 2));
  8. gpio_write_pin(LED_INDICATOR_2_PIN, !IS_LAYER_ON_STATE(state, 3));
  9. return layer_state_set_user(state);
  10. }
  11. void keyboard_pre_init_kb(void) {
  12. /* Set indicator LEDs as outputs */
  13. gpio_set_pin_output(LED_INDICATOR_0_PIN);
  14. gpio_set_pin_output(LED_INDICATOR_1_PIN);
  15. gpio_set_pin_output(LED_INDICATOR_2_PIN);
  16. keyboard_pre_init_user();
  17. }
  18. #ifdef RGB_MATRIX_ENABLE
  19. void suspend_power_down_kb(void) {
  20. /* Disable indicator LEDs when going to sleep */
  21. gpio_write_pin(LED_INDICATOR_0_PIN, 1);
  22. gpio_write_pin(LED_INDICATOR_1_PIN, 1);
  23. gpio_write_pin(LED_INDICATOR_2_PIN, 1);
  24. suspend_power_down_user();
  25. }
  26. void suspend_wakeup_init_kb(void) {
  27. /* Restore indicator LEDs state */
  28. layer_state_set_kb(layer_state);
  29. suspend_wakeup_init_user();
  30. }
  31. #endif