From 64b1ed45507a15d5594b1f90b936c2096918f5a4 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 4 Oct 2022 15:24:22 -0700 Subject: Fix Per Key LED Indicator Callbacks (#18450) Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> Co-authored-by: Nick Brassel --- keyboards/keychron/q0/q0.c | 6 +++++- keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c | 3 ++- .../keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c | 9 +++++---- keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c | 3 ++- .../keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c | 3 ++- .../q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c | 9 +++++---- keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c | 5 +++-- keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c | 5 +++-- 8 files changed, 27 insertions(+), 16 deletions(-) (limited to 'keyboards/keychron') diff --git a/keyboards/keychron/q0/q0.c b/keyboards/keychron/q0/q0.c index d17ab77f47..554476ad8c 100644 --- a/keyboards/keychron/q0/q0.c +++ b/keyboards/keychron/q0/q0.c @@ -42,7 +42,10 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return true; } -__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +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().num_lock) { @@ -52,6 +55,7 @@ __attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 0, 0); } } + return true; } #endif // NUM_LOCK_LED_INDEX diff --git a/keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c index f5e8d48cba..b7d12f9466 100644 --- a/keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -49,6 +49,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { diff --git a/keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c index 90e16ded46..c6fa5f1f15 100644 --- a/keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -54,6 +54,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { @@ -67,11 +68,11 @@ void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t l bool is_caps_lock_indicator(uint16_t keycode) { bool indicator = keycode == KC_CAPS; - + if (get_caps_lock_light_tab()) { indicator = keycode == KC_TAB || keycode == KC_CAPS; } - + if (get_caps_lock_light_alphas()) { return (KC_A <= keycode && keycode <= KC_Z) || indicator; } else { @@ -80,4 +81,4 @@ bool is_caps_lock_indicator(uint16_t keycode) { } bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; } -bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; } \ No newline at end of file +bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; } diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c index 6750dc86c7..fbc37fb5bf 100644 --- a/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state | default_layer_state); switch (current_layer) { case MAC_BASE: @@ -59,6 +59,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { diff --git a/keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c index 4903421cab..638aa77eb0 100644 --- a/keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -49,6 +49,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { diff --git a/keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c index 90e16ded46..c6fa5f1f15 100644 --- a/keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -54,6 +54,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { @@ -67,11 +68,11 @@ void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t l bool is_caps_lock_indicator(uint16_t keycode) { bool indicator = keycode == KC_CAPS; - + if (get_caps_lock_light_tab()) { indicator = keycode == KC_TAB || keycode == KC_CAPS; } - + if (get_caps_lock_light_alphas()) { return (KC_A <= keycode && keycode <= KC_Z) || indicator; } else { @@ -80,4 +81,4 @@ bool is_caps_lock_indicator(uint16_t keycode) { } bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; } -bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; } \ No newline at end of file +bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; } diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c index 6df0e9530f..604f54a705 100644 --- a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -50,6 +50,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { @@ -69,4 +70,4 @@ bool is_caps_lock_indicator(uint16_t keycode) { #endif } -bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; } \ No newline at end of file +bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; } diff --git a/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c b/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c index 16c2a6d784..4a80b8ac36 100644 --- a/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c +++ b/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c @@ -67,7 +67,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code_delay(KC_VOLD, 10); } - } else { + } else { if ((get_mods() & MOD_BIT(KC_LCMD)) != MOD_BIT(KC_LCMD)) { register_code(KC_LCMD); defer_exec(20, cancel_cmd, NULL); @@ -81,7 +81,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { return false; } -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_user(void) { switch(get_highest_layer(layer_state|default_layer_state)) { case 1: rgb_matrix_set_color_all(RGB_BLACK); @@ -91,4 +91,5 @@ void rgb_matrix_indicators_kb(void) { rgb_matrix_set_color_all(RGB_BLACK); break; } + return false; } -- cgit v1.2.3