fix setting solid colour it's weird that you can't set solid colour in rgb, only in hsv. so i created a custom effect that sets all keys to LBR_COLOUR. also put EE_CLR back, sometimes it's useful to have.
la-ninpre aaoth@aaoth.xyz
Sun, 12 Jan 2025 11:14:38 +0300
4 files changed,
20 insertions(+),
14 deletions(-)
M
keyboards/keychron/v1/ansi/keymaps/lbr/config.h
→
keyboards/keychron/v1/ansi/keymaps/lbr/config.h
@@ -29,5 +29,7 @@ #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN #undef RGB_MATRIX_KEYPRESSES #undef RGB_MATRIX_FRAMEBUFFER_EFFECTS - #define RGB_MATRIX_DISABLE_KEYCODES + +#define LBR_COLOUR 0xcc, 0x33, 0x33 +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CUSTOM_solid_lbr
M
keyboards/keychron/v1/ansi/keymaps/lbr/keymap.c
→
keyboards/keychron/v1/ansi/keymaps/lbr/keymap.c
@@ -43,24 +43,14 @@ [MGCK] = LAYOUT_ansi_82(
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + EE_CLR , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; #ifdef RGB_MATRIX_ENABLE -// top-right key for numpad status #define IND_NUMPAD 14 #define IND_CAPSLK 0 -#define IND_COLOUR 0xcc, 0x33, 0x33 - -void -keyboard_post_init_user(void) -{ - if(rgb_matrix_is_enabled()){ - rgb_matrix_set_color_all(IND_COLOUR); - } -} #ifdef DIP_SWITCH_ENABLE bool@@ -83,12 +73,12 @@ {
if(rgb_matrix_is_enabled()){ led_t led_state = host_keyboard_led_state(); if(led_state.num_lock){ - rgb_matrix_set_color(IND_NUMPAD, IND_COLOUR); + rgb_matrix_set_color(IND_NUMPAD, LBR_COLOUR); }else{ rgb_matrix_set_color(IND_NUMPAD, RGB_BLACK); } if(led_state.caps_lock){ - rgb_matrix_set_color(IND_CAPSLK, IND_COLOUR); + rgb_matrix_set_color(IND_CAPSLK, LBR_COLOUR); }else{ rgb_matrix_set_color(IND_CAPSLK, RGB_BLACK); }
A
keyboards/keychron/v1/ansi/keymaps/lbr/rgb_matrix_user.inc
@@ -0,0 +1,13 @@
+RGB_MATRIX_EFFECT(solid_lbr) + +#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS +static bool solid_lbr(effect_params_t *params) +{ + RGB_MATRIX_USE_LIMITS(led_min, led_max); + #ifndef LBR_COLOUR + # define LBR_COLOUR 0xcc, 0x33, 0x33 + #endif + rgb_matrix_set_color_all(LBR_COLOUR); + return rgb_matrix_check_finished_leds(led_max); +} +#endif /* RGB_MATRIX_CUSTOM_EFFECT_IMPLS */
M
keyboards/keychron/v1/ansi/keymaps/lbr/rules.mk
→
keyboards/keychron/v1/ansi/keymaps/lbr/rules.mk
@@ -1,5 +1,6 @@
DIPSWITCH_ENABLE = yes RGB_MATRIX_ENABLE = yes +RGB_MATRIX_CUSTOM_USER = yes MOUSEKEY_ENABLE = yes # optimizations