qmk_firmware

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

v1.c (1431B)


      1 // Copyright 2021 JZ-Skyloong (@JZ-Skyloong)
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 #include "quantum.h"
      5 
      6 #if defined(RGB_MATRIX_ENABLE) && defined(NUM_LOCK_INDEX)
      7 
      8 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
      9     if (!process_record_user(keycode, record)) {
     10         return false;
     11     }
     12     switch (keycode) {
     13 #    ifdef RGB_MATRIX_ENABLE
     14         case QK_RGB_MATRIX_TOGGLE:
     15             if (record->event.pressed) {
     16                 switch (rgb_matrix_get_flags()) {
     17                     case LED_FLAG_ALL: {
     18                         rgb_matrix_set_flags(LED_FLAG_NONE);
     19                         rgb_matrix_set_color_all(0, 0, 0);
     20                     } break;
     21                     default: {
     22                         rgb_matrix_set_flags(LED_FLAG_ALL);
     23                     } break;
     24                 }
     25             }
     26             return false;
     27 #    endif
     28     }
     29     return true;
     30 }
     31 
     32 bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
     33     if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) {
     34         return false;
     35     }
     36     // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
     37 
     38     if (host_keyboard_led_state().num_lock) {
     39         RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_INDEX, 255, 255, 255);
     40     } else {
     41         if (!rgb_matrix_get_flags()) {
     42             RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_INDEX, 0, 0, 0);
     43         }
     44     }
     45     return true;
     46 }
     47 
     48 #endif  // NUM_LOCK_INDEX
     49