diff options
author | lalalademaxiya1 <[email protected]> | 2023-02-10 04:40:17 +0800 |
---|---|---|
committer | GitHub <[email protected]> | 2023-02-09 12:40:17 -0800 |
commit | f07841cce38d1ae63d6c41b2c067c650a7bee648 (patch) | |
tree | 479b4fee4b3efe32b8f4c08869e4634f52a9e3c7 /keyboards/keychron/q2/q2.c | |
parent | 41a5046e89410cf6a119493f7c4f302f480e94a9 (diff) | |
download | qmk_firmware-f07841cce38d1ae63d6c41b2c067c650a7bee648.tar.gz qmk_firmware-f07841cce38d1ae63d6c41b2c067c650a7bee648.zip |
[Keyboard] Added JIS version for Keychron Q2 (#19491)
Co-authored-by: jack <[email protected]>
Co-authored-by: Ryan <[email protected]>
Diffstat (limited to 'keyboards/keychron/q2/q2.c')
-rw-r--r-- | keyboards/keychron/q2/q2.c | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/keyboards/keychron/q2/q2.c b/keyboards/keychron/q2/q2.c index 7a8edd8016..13b2238d17 100644 --- a/keyboards/keychron/q2/q2.c +++ b/keyboards/keychron/q2/q2.c @@ -1,4 +1,4 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) +/* Copyright 2023 @ Keychron (https://www.keychron.com) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -35,3 +35,45 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } #endif // DIP_SWITCH_ENABLE + +#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } + // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); + + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255); + } else { + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0); + } + } + return true; +} + +#endif // CAPS_LOCK_LED_INDEX |