aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorla-ninpre <aaoth@aaoth.xyz>2025-01-12 11:14:38 +0300
committerla-ninpre <aaoth@aaoth.xyz>2025-01-12 11:14:38 +0300
commita01857bbe4ebf7e91d2b763f08757bb07e3750f9 (patch)
treeba082f8991f26549fc559a7ba8ca217c35236233
parent0432e17f4b2aa71c238b2e1220ce581fd203c880 (diff)
downloadqmk-userspace-a01857bbe4ebf7e91d2b763f08757bb07e3750f9.tar.gz
qmk-userspace-a01857bbe4ebf7e91d2b763f08757bb07e3750f9.zip
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.
-rw-r--r--keyboards/keychron/v1/ansi/keymaps/lbr/config.h4
-rw-r--r--keyboards/keychron/v1/ansi/keymaps/lbr/keymap.c16
-rw-r--r--keyboards/keychron/v1/ansi/keymaps/lbr/rgb_matrix_user.inc13
-rw-r--r--keyboards/keychron/v1/ansi/keymaps/lbr/rules.mk1
4 files changed, 20 insertions, 14 deletions
diff --git a/keyboards/keychron/v1/ansi/keymaps/lbr/config.h b/keyboards/keychron/v1/ansi/keymaps/lbr/config.h
index e9999a4..042b778 100644
--- a/keyboards/keychron/v1/ansi/keymaps/lbr/config.h
+++ b/keyboards/keychron/v1/ansi/keymaps/lbr/config.h
@@ -29,5 +29,7 @@
#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
diff --git a/keyboards/keychron/v1/ansi/keymaps/lbr/keymap.c b/keyboards/keychron/v1/ansi/keymaps/lbr/keymap.c
index 6264ce9..7260d11 100644
--- a/keyboards/keychron/v1/ansi/keymaps/lbr/keymap.c
+++ b/keyboards/keychron/v1/ansi/keymaps/lbr/keymap.c
@@ -43,24 +43,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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 @@ rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max)
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);
}
diff --git a/keyboards/keychron/v1/ansi/keymaps/lbr/rgb_matrix_user.inc b/keyboards/keychron/v1/ansi/keymaps/lbr/rgb_matrix_user.inc
new file mode 100644
index 0000000..add2983
--- /dev/null
+++ b/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 */
diff --git a/keyboards/keychron/v1/ansi/keymaps/lbr/rules.mk b/keyboards/keychron/v1/ansi/keymaps/lbr/rules.mk
index fa20834..2aadaba 100644
--- a/keyboards/keychron/v1/ansi/keymaps/lbr/rules.mk
+++ b/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