common.c (1706B)
1 // Copyright 2023 Massdrop, Inc. 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 #ifdef RGB_MATRIX_ENABLE 4 # include "host.h" 5 # include "quantum.h" 6 # include "rgb_matrix.h" 7 8 # ifdef RGB_MATRIX_CAPS_LOCK_INDEX 9 bool rgb_matrix_indicators_kb(void) { 10 if (!rgb_matrix_indicators_user()) { 11 return false; 12 } 13 14 if (host_keyboard_led_state().caps_lock && (rgb_matrix_get_flags() != LED_FLAG_NONE)) { 15 rgb_matrix_set_color(RGB_MATRIX_CAPS_LOCK_INDEX, RGB_WHITE); 16 } else if (rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) { 17 rgb_matrix_set_color(RGB_MATRIX_CAPS_LOCK_INDEX, RGB_OFF); 18 } 19 return true; 20 } 21 # endif 22 23 # ifdef RGB_MATRIX_CYCLE_ZONES_ENABLE 24 bool process_record_kb(uint16_t keycode, keyrecord_t *record) { 25 if (!process_record_user(keycode, record)) { 26 return false; 27 } 28 29 if (!record->event.pressed) { 30 switch (keycode) { 31 case QK_RGB_MATRIX_TOGGLE: 32 switch (rgb_matrix_get_flags()) { 33 case LED_FLAG_ALL: 34 rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); 35 break; 36 case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): 37 rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); 38 break; 39 case LED_FLAG_UNDERGLOW: 40 rgb_matrix_set_flags(LED_FLAG_NONE); 41 break; 42 default: 43 rgb_matrix_set_flags(LED_FLAG_ALL); 44 break; 45 } 46 return false; 47 } 48 } 49 return true; 50 }; 51 # endif 52 53 #endif