diff options
author | HorrorTroll <sonicvipduc@gmail.com> | 2023-10-10 02:50:33 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-09 12:50:33 -0700 |
commit | 3665ae04410c064a7ab8e9f8aa5f58b7105e16b8 (patch) | |
tree | ec5832b73f19f831833b272d4f3b3ee16326dbaf /keyboards/horrortroll/nyx/rev1/nyx.c | |
parent | 6e6fff866e1179b69f78602e5a791fb1a9e029f4 (diff) |
[Keyboard] HorrorTroll Nyx (#21143)
* Added support keyboard Nyx
* Resolved zvarc suggested and lint error
* Delete FORCE_NKRO due to problem with BIOS on mainboard
* Resolved dunk2k suggested and limit more brightness, disable some RGB Effect
* Resolved drashna suggested
* Delete flower blooming effect and move to rev1 folder
Diffstat (limited to 'keyboards/horrortroll/nyx/rev1/nyx.c')
-rw-r--r-- | keyboards/horrortroll/nyx/rev1/nyx.c | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/keyboards/horrortroll/nyx/rev1/nyx.c b/keyboards/horrortroll/nyx/rev1/nyx.c new file mode 100644 index 0000000000..fb4ce3183b --- /dev/null +++ b/keyboards/horrortroll/nyx/rev1/nyx.c @@ -0,0 +1,89 @@ +/* Copyright 2023 HorrorTroll <https://github.com/HorrorTroll> + * + * 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 + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + 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); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + case RGB_MOD: + if (record->event.pressed) { + switch (rgb_matrix_get_mode()) { + case RGB_MATRIX_SOLID_MULTISPLASH: + rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); + return false; + default: + rgb_matrix_step(); + return false; + } + } + return false; + case RGB_RMOD: + if (record->event.pressed) { + switch (rgb_matrix_get_mode()) { + case RGB_MATRIX_SOLID_COLOR: + rgb_matrix_mode(RGB_MATRIX_SOLID_MULTISPLASH); + return false; + default: + rgb_matrix_step_reverse(); + return false; + } + } + return false; + } + + return process_record_user(keycode, record); +} + +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(30, 0, 75, 75); + } else if (!(rgb_matrix_get_flags() & LED_FLAG_INDICATOR)) { + rgb_matrix_set_color(30, RGB_OFF); + } + return true; +} + +void keyboard_post_init_kb(void) { + if (!(rgb_matrix_get_flags() & LED_FLAG_ALL)) { + rgb_matrix_set_color_all(0, 0, 0); + } else { + rgb_matrix_mode_noeeprom(RGB_MATRIX_CUSTOM_STARTUP_SWIRL_ANIM); + } + + keyboard_post_init_user(); +} +#endif |