qmk_firmware

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

typek.c (1514B)


      1 /* Copyright 2023 Gondolindrim <gondolindrim@acheronproject.com>
      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 // This function gets called when caps, num, scroll change
     20 bool led_update_kb(led_t led_state) {
     21     bool res = led_update_user(led_state);
     22     if (res) {
     23         led_state.caps_lock? rgblight_setrgb_at(RGB_RED, 0) : rgblight_setrgb_at(RGB_OFF, 0);
     24     }
     25     return res;
     26 }
     27 
     28 // This function is called when layers change
     29 layer_state_t layer_state_set_kb(layer_state_t state) {
     30     state = layer_state_set_user(state);
     31     switch(get_highest_layer(state)) {
     32         case 1:   
     33             rgblight_setrgb_at(RGB_GREEN, 1);
     34             break;
     35         case 2:   
     36             rgblight_setrgb_at(RGB_BLUE, 2);
     37             break;
     38         default:
     39             rgblight_setrgb_at(RGB_OFF, 1);
     40             rgblight_setrgb_at(RGB_OFF, 2);
     41             break;
     42     }
     43     return state;
     44 }