qmk_firmware

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

ps17.c (1149B)


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