qmk_firmware

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

haven60.c (1455B)


      1 /* Copyright 2023 CMM.S Freather
      2  *
      3  * This program is free software: you can redistribute it and/or modify
      4  * it under the terms of the GNU General Public License as published by
      5  * the Free Software Foundation, either version 2 of the License, or
      6  * (at your option) any later version.
      7  *
      8  * This program is distributed in the hope that it will be useful,
      9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     11  * GNU General Public License for more details.
     12  *
     13  * You should have received a copy of the GNU General Public License
     14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     15  */
     16 
     17 #include "quantum.h"
     18 
     19 const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
     20     {0, 13, HSV_WHITE}
     21 );
     22 
     23 const rgblight_segment_t PROGMEM my_capsoff_layer[] = RGBLIGHT_LAYER_SEGMENTS(
     24     {0, 1, HSV_BLACK}
     25 );
     26 
     27 // Now define the array of layers. Later layers take precedence
     28 const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
     29     my_capslock_layer,
     30     my_capsoff_layer
     31 );
     32 
     33 
     34 void keyboard_post_init_kb(void){
     35     rgblight_layers = my_rgb_layers;
     36     keyboard_post_init_user();
     37 }
     38 
     39 bool led_update_kb(led_t led_state){
     40     bool res = led_update_user(led_state);
     41     if (res) {
     42         rgblight_set_layer_state(0, led_state.caps_lock);
     43         rgblight_set_layer_state(1, !led_state.caps_lock);
     44     }
     45     return res;
     46 }