Fix Per Key LED Indicator Callbacks (#18450)

Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
master
Drashna Jaelre 2022-10-04 15:24:22 -07:00 committed by GitHub
parent 09d3e27710
commit 64b1ed4550
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
218 changed files with 1430 additions and 1271 deletions

View File

@ -441,8 +441,12 @@ Where `28` is an unused index from `eeconfig.h`.
If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `led_matrix_indicators_kb` or `led_matrix_indicators_user` function for that: If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `led_matrix_indicators_kb` or `led_matrix_indicators_user` function for that:
```c ```c
void led_matrix_indicators_kb(void) { bool led_matrix_indicators_kb(void) {
if (!led_matrix_indicators_user()) {
return false;
}
led_matrix_set_value(index, value); led_matrix_set_value(index, value);
return true;
} }
``` ```
@ -451,5 +455,6 @@ In addition, there are the advanced indicator functions. These are aimed at tho
```c ```c
void led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { void led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
LED_MATRIX_INDICATOR_SET_VALUE(index, value); LED_MATRIX_INDICATOR_SET_VALUE(index, value);
return false;
} }
``` ```

View File

@ -888,16 +888,21 @@ Where `28` is an unused index from `eeconfig.h`.
If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `rgb_matrix_indicators_kb` or `rgb_matrix_indicators_user` function for that: If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `rgb_matrix_indicators_kb` or `rgb_matrix_indicators_user` function for that:
```c ```c
void rgb_matrix_indicators_kb(void) { bool rgb_matrix_indicators_kb(void) {
if (!rgb_matrix_indicators_user()) {
return false;
}
rgb_matrix_set_color(index, red, green, blue); rgb_matrix_set_color(index, red, green, blue);
return true;
} }
``` ```
In addition, there are the advanced indicator functions. These are aimed at those with heavily customized displays, where rendering every LED per cycle is expensive. Such as some of the "drashna" layouts. This includes a special macro to help make this easier to use: `RGB_MATRIX_INDICATOR_SET_COLOR(i, r, g, b)`. In addition, there are the advanced indicator functions. These are aimed at those with heavily customized displays, where rendering every LED per cycle is expensive. Such as some of the "drashna" layouts. This includes a special macro to help make this easier to use: `RGB_MATRIX_INDICATOR_SET_COLOR(i, r, g, b)`.
```c ```c
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) {
RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
return false;
} }
``` ```
@ -905,7 +910,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
Caps Lock indicator on alphanumeric flagged keys: Caps Lock indicator on alphanumeric flagged keys:
```c ```c
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) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
for (uint8_t i = led_min; i <= led_max; i++) { for (uint8_t i = led_min; i <= led_max; i++) {
if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) { if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) {
@ -913,12 +918,13 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
} }
} }
} }
return false;
} }
``` ```
Layer indicator on all keys: Layer indicator on all keys:
```c ```c
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) {
for (uint8_t i = led_min; i <= led_max; i++) { for (uint8_t i = led_min; i <= led_max; i++) {
switch(get_highest_layer(layer_state|default_layer_state)) { switch(get_highest_layer(layer_state|default_layer_state)) {
case 2: case 2:
@ -931,12 +937,13 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
break; break;
} }
} }
return false;
} }
``` ```
Layer indicator only on keys with configured keycodes: Layer indicator only on keys with configured keycodes:
```c ```c
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) {
if (get_highest_layer(layer_state) > 0) { if (get_highest_layer(layer_state) > 0) {
uint8_t layer = get_highest_layer(layer_state); uint8_t layer = get_highest_layer(layer_state);
@ -951,6 +958,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
} }
} }
} }
return false;
} }
``` ```
@ -961,7 +969,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
This example sets the modifiers to be a specific color based on the layer state. You can use a switch case here, instead, if you would like. This uses HSV and then converts to RGB, because this allows the brightness to be limited (important when using the WS2812 driver). This example sets the modifiers to be a specific color based on the layer state. You can use a switch case here, instead, if you would like. This uses HSV and then converts to RGB, because this allows the brightness to be limited (important when using the WS2812 driver).
```c ```c
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) {
HSV hsv = {0, 255, 255}; HSV hsv = {0, 255, 255};
if (layer_state_is(layer_state, 2)) { if (layer_state_is(layer_state, 2)) {
@ -980,18 +988,20 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
} }
} }
return false;
} }
``` ```
If you want to indicate a Host LED status (caps lock, num lock, etc), you can use something like this to light up the caps lock key: If you want to indicate a Host LED status (caps lock, num lock, etc), you can use something like this to light up the caps lock key:
```c ```c
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) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(5, 255, 255, 255); // assuming caps lock is at led #5 RGB_MATRIX_INDICATOR_SET_COLOR(5, 255, 255, 255); // assuming caps lock is at led #5
} else { } else {
RGB_MATRIX_INDICATOR_SET_COLOR(5, 0, 0, 0); RGB_MATRIX_INDICATOR_SET_COLOR(5, 0, 0, 0);
} }
return false;
} }
``` ```

View File

@ -114,7 +114,11 @@ led_config_t g_led_config = {
} }
}; };
__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;
}
if (host_keyboard_led_state().caps_lock && CAPS_LOCK_ENABLE) { if (host_keyboard_led_state().caps_lock && CAPS_LOCK_ENABLE) {
for (uint8_t i = led_min; i <= led_max; i++) { for (uint8_t i = led_min; i <= led_max; i++) {
if (g_led_config.flags[i] & CAPS_LED_GROUP) { if (g_led_config.flags[i] & CAPS_LED_GROUP) {
@ -122,5 +126,7 @@ __attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min,
} }
} }
} }
return true;
} }
#endif #endif

View File

@ -32,7 +32,10 @@ led_config_t g_led_config = {{
LED_FLAG_INDICATOR, LED_FLAG_INDICATOR LED_FLAG_INDICATOR, LED_FLAG_INDICATOR
}}; }};
void rgb_matrix_indicators_advanced_kb(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;
}
if (!host_keyboard_led_state().caps_lock) { if (!host_keyboard_led_state().caps_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0); RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0);
} }
@ -40,5 +43,5 @@ void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0); RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0);
} }
rgb_matrix_indicators_advanced_user(led_min, led_max); return true;
} }

View File

@ -68,7 +68,7 @@ void keyboard_post_init_user(void) {
}; };
// Custom RGB indicator behaviour: // Custom RGB indicator behaviour:
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 led_processed_count = 0; uint8_t led_processed_count = 0;
for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
for (uint8_t col = 0; col < MATRIX_COLS; ++col) { for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
@ -115,10 +115,11 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
break; break;
default: default:
break; break;
} }
} }
} }
} }
} }
} }
return false;
} }

View File

@ -21,20 +21,20 @@ const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
{ 0, B_1, A_1, C_1 }, { 0, B_1, A_1, C_1 },
{ 0, B_2, A_2, C_2 }, { 0, B_2, A_2, C_2 },
{ 0, B_3, A_3, C_3 }, { 0, B_3, A_3, C_3 },
{ 0, B_4, A_4, C_4 }, { 0, B_4, A_4, C_4 },
{ 0, B_5, A_5, C_5 }, { 0, B_5, A_5, C_5 },
{ 0, B_6, A_6, C_6 }, { 0, B_6, A_6, C_6 },
{ 0, B_7, A_7, C_7 }, { 0, B_7, A_7, C_7 },
{ 0, B_8, A_8, C_8 }, { 0, B_8, A_8, C_8 },
{ 0, B_9, A_9, C_9 }, { 0, B_9, A_9, C_9 },
{ 0, B_10, A_10, C_10 }, { 0, B_10, A_10, C_10 },
{ 0, B_11, A_11, C_11 }, { 0, B_11, A_11, C_11 },
{ 0, B_12, A_12, C_12 }, { 0, B_12, A_12, C_12 },
{ 0, B_13, A_13, C_13 }, { 0, B_13, A_13, C_13 },
{ 0, B_14, A_14, C_14 }, { 0, B_14, A_14, C_14 },
{ 0, B_15, A_15, C_15 }, { 0, B_15, A_15, C_15 },
{ 0, E_1, D_1, F_1 }, { 0, E_1, D_1, F_1 },
{ 0, E_2, D_2, F_2 }, { 0, E_2, D_2, F_2 },
{ 0, E_3, D_3, F_3 }, { 0, E_3, D_3, F_3 },
{ 0, E_4, D_4, F_4 }, { 0, E_4, D_4, F_4 },
@ -46,13 +46,13 @@ const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
{ 0, E_10, D_10, F_10 }, { 0, E_10, D_10, F_10 },
{ 0, E_11, D_11, F_11 }, { 0, E_11, D_11, F_11 },
{ 0, E_12, D_12, F_12 }, { 0, E_12, D_12, F_12 },
{ 0, E_13, D_13, F_13 }, { 0, E_13, D_13, F_13 },
{ 0, E_14, D_14, F_14 }, { 0, E_14, D_14, F_14 },
{ 0, E_15, D_15, F_15 }, { 0, E_15, D_15, F_15 },
{ 0, H_1, G_1, I_1 }, { 0, H_1, G_1, I_1 },
{ 0, H_2, G_2, I_2 }, { 0, H_2, G_2, I_2 },
{ 0, H_3, G_3, I_3 }, { 0, H_3, G_3, I_3 },
{ 0, H_4, G_4, I_4 }, { 0, H_4, G_4, I_4 },
{ 0, H_5, G_5, I_5 }, { 0, H_5, G_5, I_5 },
{ 0, H_6, G_6, I_6 }, { 0, H_6, G_6, I_6 },
@ -67,25 +67,25 @@ const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
{ 0, K_2, J_2, L_2 }, { 0, K_2, J_2, L_2 },
{ 0, K_3, J_3, L_3 }, { 0, K_3, J_3, L_3 },
{ 0, K_4, J_4, L_4 }, { 0, K_4, J_4, L_4 },
{ 0, K_5, J_5, L_5 }, { 0, K_5, J_5, L_5 },
{ 0, K_6, J_6, L_6 }, { 0, K_6, J_6, L_6 },
{ 0, K_7, J_7, L_7 }, { 0, K_7, J_7, L_7 },
{ 0, K_8, J_8, L_8 }, { 0, K_8, J_8, L_8 },
{ 0, K_9, J_9, L_9 }, { 0, K_9, J_9, L_9 },
{ 0, K_10, J_10, L_10 }, { 0, K_10, J_10, L_10 },
{ 0, K_11, J_11, L_11 }, { 0, K_11, J_11, L_11 },
{ 0, K_12, J_12, L_12 }, { 0, K_12, J_12, L_12 },
{ 0, K_13, J_13, L_13 }, { 0, K_13, J_13, L_13 },
{ 0, K_14, J_14, L_14 }, { 0, K_14, J_14, L_14 },
{ 0, K_1, J_1, L_1 }, { 0, K_1, J_1, L_1 },
{ 0, K_16, J_16, L_16 }, { 0, K_16, J_16, L_16 },
{ 0, H_16, G_16, I_16 }, { 0, H_16, G_16, I_16 },
{ 0, E_16, D_16, F_16 }, { 0, E_16, D_16, F_16 },
{ 0, B_16, A_16, C_16 }, { 0, B_16, A_16, C_16 },
{ 0, H_15, G_15, I_15 }, { 0, H_15, G_15, I_15 },
{ 0, K_15, J_15, L_15 }, { 0, K_15, J_15, L_15 },
}; };
led_config_t g_led_config = { led_config_t g_led_config = {
@ -102,7 +102,7 @@ led_config_t g_led_config = {
{16,48},{32,48},{48,48},{64,48},{80,48},{96,48},{112,48},{128,48},{144,48},{160,48},{176,48},{192,48},{224,48}, {16,48},{32,48},{48,48},{64,48},{80,48},{96,48},{112,48},{128,48},{144,48},{160,48},{176,48},{192,48},{224,48},
{16,64},{48,64},{80,64},{96,64},{128,64},{160,64},{224,64} {16,64},{48,64},{80,64},{96,64},{128,64},{160,64},{224,64}
}, { }, {
1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
@ -110,9 +110,12 @@ led_config_t g_led_config = {
} }
}; };
#endif #endif
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF);
} }
return true;
} }

View File

@ -205,7 +205,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
uint8_t layer = get_highest_layer(layer_state); uint8_t layer = get_highest_layer(layer_state);
switch (layer) { switch (layer) {
@ -250,5 +250,6 @@ void rgb_matrix_indicators_user(void) {
break; break;
} }
} }
return false;
} }
#endif #endif

View File

@ -205,7 +205,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);
switch (layer) { switch (layer) {
@ -250,5 +250,6 @@ void rgb_matrix_indicators_user(void) {
break; break;
} }
} }
return false;
} }
#endif #endif

View File

@ -141,7 +141,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
uint8_t layer = get_highest_layer(layer_state); uint8_t layer = get_highest_layer(layer_state);
switch (layer) { switch (layer) {
@ -177,5 +177,6 @@ void rgb_matrix_indicators_user(void) {
break; break;
} }
} }
return false;
} }
#endif #endif

View File

@ -19,17 +19,17 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */ /* Base */
[_QWERTY] = LAYOUT_all( [_QWERTY] = LAYOUT_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MPLY, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MPLY,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, CA_SCLN, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, CA_SCLN,
KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT KC_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
), ),
[_DEFAULT] = LAYOUT_all( [_DEFAULT] = LAYOUT_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MPLY, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MPLY,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, CA_SCLN, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, CA_SCLN,
KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT KC_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
), ),
[_FN1_60] = LAYOUT_all( [_FN1_60] = LAYOUT_all(
@ -43,24 +43,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT) _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT)
) )
}; };
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
uint8_t layer = get_highest_layer(layer_state); uint8_t layer = get_highest_layer(layer_state);
switch (layer) { switch (layer) {
case _FN1_60: case _FN1_60:
rgb_matrix_set_color(10, 0, 0, 255); rgb_matrix_set_color(10, 0, 0, 255);
break; break;
case _FN2_60: case _FN2_60:
rgb_matrix_set_color(10, 255, 255, 255); rgb_matrix_set_color(10, 255, 255, 255);
break; break;
case _DEFAULT: case _DEFAULT:
rgb_matrix_set_color(10, 0, 255, 0); rgb_matrix_set_color(10, 0, 255, 0);
break; break;
default: default:
break; break;
@ -68,6 +68,7 @@ void rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(10, 255, 0, 0); rgb_matrix_set_color(10, 255, 0, 0);
} }
return false;
} }
void matrix_init_kb(void){ void matrix_init_kb(void){

View File

@ -108,10 +108,13 @@ led_config_t g_led_config = {
} }
}; };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -25,13 +25,17 @@ void matrix_init_kb(void) {
} }
/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ /* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */
void rgb_matrix_indicators_kb(void) { bool rgb_matrix_indicators_kb(void) {
if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(62, 255, 255, 255); rgb_matrix_set_color(62, 255, 255, 255);
} }
if (host_keyboard_led_state().scroll_lock) { if (host_keyboard_led_state().scroll_lock) {
rgb_matrix_set_color(14, 255, 255, 255); rgb_matrix_set_color(14, 255, 255, 255);
} }
return true;
} }
/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ /* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */

View File

@ -24,13 +24,17 @@ void matrix_init_kb(void) {
} }
/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ /* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */
void rgb_matrix_indicators_kb(void) { bool rgb_matrix_indicators_kb(void) {
if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(62, 255, 255, 255); rgb_matrix_set_color(62, 255, 255, 255);
} }
if (host_keyboard_led_state().scroll_lock) { if (host_keyboard_led_state().scroll_lock) {
rgb_matrix_set_color(14, 255, 255, 255); rgb_matrix_set_color(14, 255, 255, 255);
} }
return true;
} }
/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ /* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */

View File

@ -48,13 +48,16 @@ led_config_t g_led_config = { {
} }; } };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(51, 255, 255, 255); rgb_matrix_set_color(51, 255, 255, 255);
} }
if (host_keyboard_led_state().scroll_lock) { if (host_keyboard_led_state().scroll_lock) {
rgb_matrix_set_color(14, 255, 255, 255); rgb_matrix_set_color(14, 255, 255, 255);
} }
return true;
} }
#endif #endif

View File

@ -591,7 +591,7 @@ void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) {
} }
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
// uint32_t mode = rgblight_get_mode(); // uint32_t mode = rgblight_get_mode();
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
@ -691,5 +691,6 @@ void rgb_matrix_indicators_user(void) {
break; break;
} }
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -594,7 +594,7 @@ void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) {
} }
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
// uint32_t mode = rgblight_get_mode(); // uint32_t mode = rgblight_get_mode();
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
@ -694,5 +694,6 @@ void rgb_matrix_indicators_user(void) {
break; break;
} }
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -245,7 +245,7 @@ void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) {
} }
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
// uint32_t mode = rgblight_get_mode(); // uint32_t mode = rgblight_get_mode();
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
@ -280,5 +280,6 @@ void rgb_matrix_indicators_user(void) {
break; break;
} }
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -8,10 +8,10 @@
// The underscores don't mean anything - you can have a layer called STUFF or any other name. // The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them // Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers. // entirely and just use numbers.
enum layers { enum layers {
_QWERTY, _QWERTY,
_LOWER, _LOWER,
_RAISE, _RAISE,
_NUMP, _NUMP,
}; };
@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[_QWERTY] = LAYOUT
)}; )};
//Per key lights //Per key lights
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
switch (get_highest_layer(layer_state)) { switch (get_highest_layer(layer_state)) {
case _QWERTY: case _QWERTY:
@ -179,7 +179,7 @@ void rgb_matrix_indicators_user(void) {
case 15: // C key off case 15: // C key off
case 20: // X key off case 20: // X key off
case 21: // Z key off case 21: // Z key off
case 26: // shift key off case 26: // shift key off
case 52 ... 53: // right column off case 52 ... 53: // right column off
rgb_matrix_set_color(i, 0, 0, 0); // off rgb_matrix_set_color(i, 0, 0, 0); // off
@ -256,6 +256,7 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(14, 0, 255, 0); // Green layer active rgb_matrix_set_color(14, 0, 255, 0); // Green layer active
} }
} }
return false;
}; };
#endif #endif

View File

@ -29,12 +29,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// https://github.com/foostan/crkbd/blob/main/corne-classic/doc/buildguide_en.md // https://github.com/foostan/crkbd/blob/main/corne-classic/doc/buildguide_en.md
// Change LED color to red when CAPS LOCK is active // Change LED color to red when CAPS LOCK is active
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(26, 255, 0, 0); rgb_matrix_set_color(26, 255, 0, 0);
// Only works with SPLIT_LED_STATE_ENABLE // Only works with SPLIT_LED_STATE_ENABLE
rgb_matrix_set_color(53, 255, 0, 0); rgb_matrix_set_color(53, 255, 0, 0);
} }
return false;
} }
// + ---- + // + ---- +
@ -128,4 +129,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______ _______, _______, _______, _______, _______, _______
//|--------------------------| |--------------------------| //|--------------------------| |--------------------------|
) )
}; };

View File

@ -342,7 +342,7 @@ void check_default_layer(uint8_t type) {
} }
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if ( if (
user_config.rgb_layer_change && rgb_matrix_config.enable && user_config.rgb_layer_change && rgb_matrix_config.enable &&
(!user_config.rgb_matrix_idle_anim || rgb_matrix_get_mode() != user_config.rgb_matrix_idle_mode) (!user_config.rgb_matrix_idle_anim || rgb_matrix_get_mode() != user_config.rgb_matrix_idle_mode)
@ -370,6 +370,7 @@ void rgb_matrix_indicators_user(void) {
} }
} }
} }
return false;
} }
void rgb_matrix_update_current_mode(uint8_t mode, uint8_t speed) { void rgb_matrix_update_current_mode(uint8_t mode, uint8_t speed) {

View File

@ -24,7 +24,7 @@ static const char nav_leds[] = {38, 43, 44, 46};
static const char fun_leds[] = {45, 44, 37, 46, 43, 38, 47, 42, 39, 40}; static const char fun_leds[] = {45, 44, 37, 46, 43, 38, 47, 42, 39, 40};
static const char mouse_leds[] = {11, 16, 17, 19}; static const char mouse_leds[] = {11, 16, 17, 19};
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) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(26, RGB_RED); rgb_matrix_set_color(26, RGB_RED);
} }
@ -65,4 +65,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
break; break;
} }
return false;
} }

View File

@ -45,8 +45,9 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
}; };
#endif #endif
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(62, RGB_WHITE); rgb_matrix_set_color(62, RGB_WHITE);
} }
return false;
} }

View File

@ -107,7 +107,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
}; };
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(62, RGB_WHITE); rgb_matrix_set_color(62, RGB_WHITE);
} else if ((rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR)) == 0) { } else if ((rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR)) == 0) {
@ -133,4 +133,5 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(55, RGB_OFF); rgb_matrix_set_color(55, RGB_OFF);
rgb_matrix_set_color(59, RGB_OFF); rgb_matrix_set_color(59, RGB_OFF);
} }
return false;
} }

View File

@ -52,23 +52,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
), ),
}; };
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{ if (host_keyboard_led_state().caps_lock) {
if (host_keyboard_led_state().caps_lock) rgb_matrix_set_color(22, 200, 200, 200);
{ }
rgb_matrix_set_color(22, 200, 200, 200); if (IS_LAYER_ON(_L1)) {
} rgb_matrix_set_color(35, 0, 200, 200);
if (IS_LAYER_ON(_L1)) }
{ if (IS_LAYER_ON(_L2)) {
rgb_matrix_set_color(35, 0, 200, 200); rgb_matrix_set_color(22, 200, 0, 200);
} }
if (IS_LAYER_ON(_L2)) return false;
{
rgb_matrix_set_color(22, 200, 0, 200);
}
} }
void keyboard_pre_init_user(void) { void keyboard_pre_init_user(void) {
setPinOutput(B5); setPinOutput(B5);
writePinLow(B5); writePinLow(B5);
} }

View File

@ -1,4 +1,4 @@
/* Copyright 2021 Jessica Sullivan and Don Kjer /* Copyright 2021 Jessica Sullivan and Don Kjer
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -60,14 +60,14 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) if (!rgb_matrix_indicators_user()) {
{ return false;
if (host_keyboard_led_state().caps_lock) }
{
if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(CAPS_LED, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(CAPS_LED, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif /* RGB_MATRIX_ENABLE */ #endif /* RGB_MATRIX_ENABLE */

View File

@ -93,20 +93,13 @@ led_config_t g_led_config = {
} }
}; };
void suspend_power_down_kb(void) { bool rgb_matrix_indicators_kb(void) {
rgb_matrix_set_suspend_state(true); if (!rgb_matrix_indicators_user()) {
suspend_power_down_user(); return false;
} }
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
__attribute__ ((weak))
void rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -91,8 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/ */
}; };
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{
uint8_t this_led = host_keyboard_leds(); uint8_t this_led = host_keyboard_leds();
if (!g_suspend_state && rgb_matrix_config.enable) { if (!g_suspend_state && rgb_matrix_config.enable) {
@ -218,6 +217,7 @@ void rgb_matrix_indicators_user(void)
if (this_led & (1 << USB_LED_CAPS_LOCK)) { if (this_led & (1 << USB_LED_CAPS_LOCK)) {
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
} }
return false;
} }
void matrix_init_user(void) void matrix_init_user(void)

View File

@ -57,8 +57,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
} }
} }
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{
uint8_t this_led = host_keyboard_leds(); uint8_t this_led = host_keyboard_leds();
if (!g_suspend_state && rgb_matrix_config.enable) { if (!g_suspend_state && rgb_matrix_config.enable) {
@ -151,6 +150,7 @@ void rgb_matrix_indicators_user(void)
rgb_matrix_set_color(62, 0x00, 0x00, 0x00); rgb_matrix_set_color(62, 0x00, 0x00, 0x00);
break; break;
} }
return false;
} }

View File

@ -34,8 +34,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
} }
} }
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{
if (!g_suspend_state) { if (!g_suspend_state) {
switch (get_highest_layer(layer_state)) { switch (get_highest_layer(layer_state)) {
case _QWERTY: case _QWERTY:
@ -113,6 +112,7 @@ void rgb_matrix_indicators_user(void)
rgb_matrix_set_color(62, 0x00, 0x00, 0x00); rgb_matrix_set_color(62, 0x00, 0x00, 0x00);
break; break;
} }
return false;
} }

View File

@ -157,7 +157,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
}; };
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) {
led_t led_state = host_keyboard_led_state(); led_t led_state = host_keyboard_led_state();
if (led_state.caps_lock) { if (led_state.caps_lock) {
@ -227,4 +227,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x33, 0x66, 0x99); RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x33, 0x66, 0x99);
RGB_MATRIX_INDICATOR_SET_COLOR(26, 0x33, 0x66, 0x99); RGB_MATRIX_INDICATOR_SET_COLOR(26, 0x33, 0x66, 0x99);
} }
return false;
} }

View File

@ -4,34 +4,19 @@
#define _LAYER2 2 #define _LAYER2 2
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER0] = LAYOUT(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, [_LAYER0] = LAYOUT(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2,KC_DEL), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2,KC_DEL),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
[_LAYER1] = LAYOUT(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, [_LAYER1] = LAYOUT(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, EEP_RST, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, EEP_RST,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
[_LAYER2] = LAYOUT(KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_DEL, [_LAYER2] = LAYOUT(KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_DEL,
KC_TRNS, RGB_TOG, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_TRNS, KC_PSLS, KC_PAST, QK_BOOT, KC_TRNS, RGB_TOG, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_TRNS, KC_PSLS, KC_PAST, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, EEP_RST,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
}; };
void rgb_matrix_indicators_user(void) {
}
void matrix_init_user(void) {
//user initialization
}
void matrix_scan_user(void) {
//user matrix
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}

View File

@ -91,20 +91,13 @@ led_config_t g_led_config = {
} }
}; };
void suspend_power_down_kb(void) { bool rgb_matrix_indicators_kb(void) {
rgb_matrix_set_suspend_state(true); if (!rgb_matrix_indicators_user()) {
suspend_power_down_user(); return false;
} }
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
__attribute__ ((weak))
void rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -84,7 +84,7 @@ void highlight_layer3(void){
rgb_matrix_set_color(46, 0x00, 0x99, 0x00); rgb_matrix_set_color(46, 0x00, 0x99, 0x00);
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
uint8_t this_led = host_keyboard_leds(); uint8_t this_led = host_keyboard_leds();
if (!g_suspend_state) { if (!g_suspend_state) {
switch (get_highest_layer(layer_state)) { switch (get_highest_layer(layer_state)) {
@ -97,4 +97,5 @@ void rgb_matrix_indicators_user(void) {
if ( this_led & (1<<USB_LED_CAPS_LOCK)) { if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
} }
return false;
} }

View File

@ -145,7 +145,7 @@ void highlight_layer3(void) {
} }
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
uint8_t this_led = host_keyboard_leds(); uint8_t this_led = host_keyboard_leds();
if (!g_suspend_state) { if (!g_suspend_state) {
switch (get_highest_layer(layer_state)) { switch (get_highest_layer(layer_state)) {
@ -164,5 +164,5 @@ void rgb_matrix_indicators_user(void) {
if ( this_led & (1<<USB_LED_CAPS_LOCK)) { if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
} }
return false;
} }

View File

@ -92,20 +92,13 @@ led_config_t g_led_config = {
} }
}; };
void suspend_power_down_kb(void) { bool rgb_matrix_indicators_kb(void) {
rgb_matrix_set_suspend_state(true); if (!rgb_matrix_indicators_user()) {
suspend_power_down_user(); return false;
} }
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
__attribute__ ((weak))
void rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF);
} }
return false;
} }
#endif #endif

View File

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "dz64rgb.h" #include "dz64rgb.h"
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
@ -64,7 +64,7 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
{ 0, B_14, A_14, C_14 }, { 0, B_14, A_14, C_14 },
{ 0, B_13, A_13, C_13 }, { 0, B_13, A_13, C_13 },
{ 0, B_12, A_12, C_12 }, { 0, B_12, A_12, C_12 },
{ 0, B_11, A_11, C_11 }, { 0, B_11, A_11, C_11 },
{ 0, B_10, A_10, C_10 }, { 0, B_10, A_10, C_10 },
{ 0, B_9, A_9, C_9 }, { 0, B_9, A_9, C_9 },
@ -111,11 +111,13 @@ led_config_t g_led_config = {
}; };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -230,7 +230,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
), ),
}; };
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
// CapsLock Light // CapsLock Light
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
@ -239,4 +239,5 @@ void rgb_matrix_indicators_user(void) {
// Show Selected Layer // Show Selected Layer
rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]); rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
return false;
} }

View File

@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//**************** MATRIX SCANS *********************// //**************** MATRIX SCANS *********************//
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
@ -192,6 +192,7 @@ void rgb_matrix_indicators_user(void) {
} }
#endif /* RGB_MATRIX */ #endif /* RGB_MATRIX */
return false;
} }
bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) {

View File

@ -82,8 +82,7 @@ CPS, A, S, D, F, G, H, J, K, L, COL, QOT, RETURN, +
SFT, Z, X, C, V, B, N, M, COM, DOT, SLS, SHIFT, UP, 0 SFT, Z, X, C, V, B, N, M, COM, DOT, SLS, SHIFT, UP, 0
CTL, GUI, ALT, SPACEBAR, ALT, FN, CTL, LFT, DWN, RIT CTL, GUI, ALT, SPACEBAR, ALT, FN, CTL, LFT, DWN, RIT
*/ */
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
rgb_matrix_set_color(8, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(8, 0xFF, 0xFF, 0xFF);
} }
@ -208,16 +207,7 @@ void rgb_matrix_indicators_user(void)
break; break;
} }
} }
} return false;
void matrix_init_user(void)
{
//user initialization
}
void matrix_scan_user(void)
{
//user matrix
} }
bool process_record_user(uint16_t keycode, keyrecord_t* record) bool process_record_user(uint16_t keycode, keyrecord_t* record)

View File

@ -1,17 +1,17 @@
/* Copyright 2021 Yuannan (https://github.com/yuannan) /* Copyright 2021 Yuannan (https://github.com/yuannan)
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
@ -169,7 +169,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record){
} }
} }
break; break;
} }
return true; return true;
}; };
@ -179,20 +179,21 @@ RGB get_inverted_RGB(void){
current_HSV.h = 255 - current_HSV.h; current_HSV.h = 255 - current_HSV.h;
current_HSV.s = 255; current_HSV.s = 255;
current_HSV.v = 255; current_HSV.v = 255;
return hsv_to_rgb(current_HSV); return hsv_to_rgb(current_HSV);
} }
// Move Caps indicator to the ctrl key where it belongs // Move Caps indicator to the ctrl key where it belongs
void rgb_matrix_indicators_user(void){ bool rgb_matrix_indicators_user(void){
RGB inverted_RGB = get_inverted_RGB(); RGB inverted_RGB = get_inverted_RGB();
if (host_keyboard_led_state().caps_lock){ if (host_keyboard_led_state().caps_lock){
rgb_matrix_set_color(58, inverted_RGB.r, inverted_RGB.g, inverted_RGB.b); rgb_matrix_set_color(58, inverted_RGB.r, inverted_RGB.g, inverted_RGB.b);
} }
return false;
} }
// show coloured indicator for layers with a keybind // show coloured indicator for layers with a keybind
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 layer = get_highest_layer(layer_state); uint8_t layer = get_highest_layer(layer_state);
if (layer > 0) { if (layer > 0) {
RGB inverted_RGB = get_inverted_RGB(); RGB inverted_RGB = get_inverted_RGB();
@ -207,4 +208,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max){
} }
} }
} }
return false;
} }

View File

@ -114,10 +114,13 @@ led_config_t g_led_config = {
}; };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -114,10 +114,13 @@ led_config_t g_led_config = {
}; };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -21,77 +21,77 @@
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
{0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW1, CS20_SW1, CS19_SW1},
{0, CS21_SW2, CS20_SW2, CS19_SW2}, {0, CS21_SW2, CS20_SW2, CS19_SW2},
{0, CS21_SW3, CS20_SW3, CS19_SW3}, {0, CS21_SW3, CS20_SW3, CS19_SW3},
{0, CS21_SW4, CS20_SW4, CS19_SW4}, {0, CS21_SW4, CS20_SW4, CS19_SW4},
{0, CS21_SW5, CS20_SW5, CS19_SW5}, {0, CS21_SW5, CS20_SW5, CS19_SW5},
{0, CS21_SW6, CS20_SW6, CS19_SW6}, {0, CS21_SW6, CS20_SW6, CS19_SW6},
{0, CS21_SW7, CS20_SW7, CS19_SW7}, {0, CS21_SW7, CS20_SW7, CS19_SW7},
{0, CS21_SW8, CS20_SW8, CS19_SW8}, {0, CS21_SW8, CS20_SW8, CS19_SW8},
{0, CS24_SW1, CS23_SW1, CS22_SW1}, {0, CS24_SW1, CS23_SW1, CS22_SW1},
{0, CS24_SW2, CS23_SW2, CS22_SW2}, {0, CS24_SW2, CS23_SW2, CS22_SW2},
{0, CS24_SW3, CS23_SW3, CS22_SW3}, {0, CS24_SW3, CS23_SW3, CS22_SW3},
{0, CS24_SW4, CS23_SW4, CS22_SW4}, {0, CS24_SW4, CS23_SW4, CS22_SW4},
{0, CS24_SW5, CS23_SW5, CS22_SW5}, {0, CS24_SW5, CS23_SW5, CS22_SW5},
{0, CS24_SW6, CS23_SW6, CS22_SW6}, {0, CS24_SW6, CS23_SW6, CS22_SW6},
{0, CS24_SW7, CS23_SW7, CS22_SW7}, {0, CS24_SW7, CS23_SW7, CS22_SW7},
{0, CS15_SW1, CS14_SW1, CS13_SW1}, {0, CS15_SW1, CS14_SW1, CS13_SW1},
{0, CS15_SW2, CS14_SW2, CS13_SW2}, {0, CS15_SW2, CS14_SW2, CS13_SW2},
{0, CS15_SW3, CS14_SW3, CS13_SW3}, {0, CS15_SW3, CS14_SW3, CS13_SW3},
{0, CS15_SW4, CS14_SW4, CS13_SW4}, {0, CS15_SW4, CS14_SW4, CS13_SW4},
{0, CS15_SW5, CS14_SW5, CS13_SW5}, {0, CS15_SW5, CS14_SW5, CS13_SW5},
{0, CS15_SW6, CS14_SW6, CS13_SW6}, {0, CS15_SW6, CS14_SW6, CS13_SW6},
{0, CS15_SW7, CS14_SW7, CS13_SW7}, {0, CS15_SW7, CS14_SW7, CS13_SW7},
{0, CS15_SW8, CS14_SW8, CS13_SW8}, {0, CS15_SW8, CS14_SW8, CS13_SW8},
{0, CS30_SW1, CS29_SW1, CS28_SW1}, {0, CS30_SW1, CS29_SW1, CS28_SW1},
{0, CS30_SW2, CS29_SW2, CS28_SW2}, {0, CS30_SW2, CS29_SW2, CS28_SW2},
{0, CS30_SW3, CS29_SW3, CS28_SW3}, {0, CS30_SW3, CS29_SW3, CS28_SW3},
{0, CS30_SW4, CS29_SW4, CS28_SW4}, {0, CS30_SW4, CS29_SW4, CS28_SW4},
{0, CS30_SW5, CS29_SW5, CS28_SW5}, {0, CS30_SW5, CS29_SW5, CS28_SW5},
{0, CS30_SW6, CS29_SW6, CS28_SW6}, {0, CS30_SW6, CS29_SW6, CS28_SW6},
{0, CS30_SW7, CS29_SW7, CS28_SW7}, {0, CS30_SW7, CS29_SW7, CS28_SW7},
{0, CS12_SW1, CS11_SW1, CS10_SW1}, {0, CS12_SW1, CS11_SW1, CS10_SW1},
{0, CS12_SW2, CS11_SW2, CS10_SW2}, {0, CS12_SW2, CS11_SW2, CS10_SW2},
{0, CS12_SW3, CS11_SW3, CS10_SW3}, {0, CS12_SW3, CS11_SW3, CS10_SW3},
{0, CS12_SW4, CS11_SW4, CS10_SW4}, {0, CS12_SW4, CS11_SW4, CS10_SW4},
{0, CS12_SW5, CS11_SW5, CS10_SW5}, {0, CS12_SW5, CS11_SW5, CS10_SW5},
{0, CS12_SW6, CS11_SW6, CS10_SW6}, {0, CS12_SW6, CS11_SW6, CS10_SW6},
{0, CS12_SW7, CS11_SW7, CS10_SW7}, {0, CS12_SW7, CS11_SW7, CS10_SW7},
{0, CS12_SW8, CS11_SW8, CS10_SW8}, {0, CS12_SW8, CS11_SW8, CS10_SW8},
{0, CS33_SW1, CS32_SW1, CS31_SW1}, {0, CS33_SW1, CS32_SW1, CS31_SW1},
{0, CS33_SW2, CS32_SW2, CS31_SW2}, {0, CS33_SW2, CS32_SW2, CS31_SW2},
{0, CS33_SW3, CS32_SW3, CS31_SW3}, {0, CS33_SW3, CS32_SW3, CS31_SW3},
{0, CS33_SW4, CS32_SW4, CS31_SW4}, {0, CS33_SW4, CS32_SW4, CS31_SW4},
{0, CS33_SW5, CS32_SW5, CS31_SW5}, {0, CS33_SW5, CS32_SW5, CS31_SW5},
{0, CS33_SW7, CS32_SW7, CS31_SW7}, {0, CS33_SW7, CS32_SW7, CS31_SW7},
{0, CS9_SW1, CS8_SW1, CS7_SW1}, {0, CS9_SW1, CS8_SW1, CS7_SW1},
{0, CS9_SW2, CS8_SW2, CS7_SW2}, {0, CS9_SW2, CS8_SW2, CS7_SW2},
{0, CS9_SW3, CS8_SW3, CS7_SW3}, {0, CS9_SW3, CS8_SW3, CS7_SW3},
{0, CS9_SW4, CS8_SW4, CS7_SW4}, {0, CS9_SW4, CS8_SW4, CS7_SW4},
{0, CS9_SW5, CS8_SW5, CS7_SW5}, {0, CS9_SW5, CS8_SW5, CS7_SW5},
{0, CS9_SW6, CS8_SW6, CS7_SW6}, {0, CS9_SW6, CS8_SW6, CS7_SW6},
{0, CS9_SW7, CS8_SW7, CS7_SW7}, {0, CS9_SW7, CS8_SW7, CS7_SW7},
{0, CS9_SW8, CS8_SW8, CS7_SW8}, {0, CS9_SW8, CS8_SW8, CS7_SW8},
{0, CS36_SW1, CS35_SW1, CS34_SW1}, {0, CS36_SW1, CS35_SW1, CS34_SW1},
{0, CS36_SW2, CS35_SW2, CS34_SW2}, {0, CS36_SW2, CS35_SW2, CS34_SW2},
{0, CS36_SW3, CS35_SW3, CS34_SW3}, {0, CS36_SW3, CS35_SW3, CS34_SW3},
{0, CS36_SW4, CS35_SW4, CS34_SW4}, {0, CS36_SW4, CS35_SW4, CS34_SW4},
{0, CS36_SW5, CS35_SW5, CS34_SW5}, {0, CS36_SW5, CS35_SW5, CS34_SW5},
{0, CS36_SW7, CS35_SW7, CS34_SW7}, {0, CS36_SW7, CS35_SW7, CS34_SW7},
{0, CS3_SW1, CS2_SW1, CS1_SW1}, {0, CS3_SW1, CS2_SW1, CS1_SW1},
{0, CS3_SW2, CS2_SW2, CS1_SW2}, {0, CS3_SW2, CS2_SW2, CS1_SW2},
{0, CS3_SW3, CS2_SW3, CS1_SW3}, {0, CS3_SW3, CS2_SW3, CS1_SW3},
{0, CS3_SW6, CS2_SW6, CS1_SW6}, {0, CS3_SW6, CS2_SW6, CS1_SW6},
{0, CS39_SW1, CS38_SW1, CS37_SW1}, {0, CS39_SW1, CS38_SW1, CS37_SW1},
{0, CS39_SW2, CS38_SW2, CS37_SW2}, {0, CS39_SW2, CS38_SW2, CS37_SW2},
{0, CS39_SW3, CS38_SW3, CS37_SW3}, {0, CS39_SW3, CS38_SW3, CS37_SW3},
{0, CS39_SW4, CS38_SW4, CS37_SW4}, {0, CS39_SW4, CS38_SW4, CS37_SW4},
{0, CS39_SW5, CS38_SW5, CS37_SW5}, {0, CS39_SW5, CS38_SW5, CS37_SW5},
{0, CS39_SW7, CS38_SW7, CS37_SW7} {0, CS39_SW7, CS38_SW7, CS37_SW7}
}; };
led_config_t g_led_config = { { led_config_t g_led_config = { {
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
@ -108,18 +108,20 @@ led_config_t g_led_config = { {
}, { }, {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 1, 4, 1, 1, 1, 1, 1, 1 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
} }; } };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) if (!rgb_matrix_indicators_user()) {
{ return false;
}
if (host_keyboard_led_state().caps_lock) if (host_keyboard_led_state().caps_lock)
{ {
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -144,10 +144,14 @@ led_config_t g_led_config = { {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
} }; } };
void rgb_matrix_indicators_kb(void) { bool rgb_matrix_indicators_kb(void) {
if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(26, 255, 255, 255); rgb_matrix_set_color(26, 255, 255, 255);
} else { } else {
rgb_matrix_set_color(26, 0, 0, 0); rgb_matrix_set_color(26, 0, 0, 0);
} }
return true;
} }

View File

@ -190,7 +190,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(46, 0, 0, 0); rgb_matrix_set_color(46, 0, 0, 0);
rgb_matrix_set_color(104, 0, 0, 0); rgb_matrix_set_color(104, 0, 0, 0);
@ -212,6 +212,7 @@ void rgb_matrix_indicators_user(void) {
} }
rgb_matrix_set_color(104, red, green, blue); rgb_matrix_set_color(104, red, green, blue);
} }
return false;
} }
#ifdef ENCODER_MAP_ENABLE #ifdef ENCODER_MAP_ENABLE

View File

@ -134,7 +134,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(46, 0, 0, 0); rgb_matrix_set_color(46, 0, 0, 0);
rgb_matrix_set_color(104, 0, 0, 0); rgb_matrix_set_color(104, 0, 0, 0);
@ -156,6 +156,7 @@ void rgb_matrix_indicators_user(void) {
} }
rgb_matrix_set_color(104, red, green, blue); rgb_matrix_set_color(104, red, green, blue);
} }
return false;
} }
#ifdef ENCODER_MAP_ENABLE #ifdef ENCODER_MAP_ENABLE

View File

@ -190,7 +190,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(46, 0, 0, 0); rgb_matrix_set_color(46, 0, 0, 0);
rgb_matrix_set_color(104, 0, 0, 0); rgb_matrix_set_color(104, 0, 0, 0);
@ -212,6 +212,7 @@ void rgb_matrix_indicators_user(void) {
} }
rgb_matrix_set_color(104, red, green, blue); rgb_matrix_set_color(104, red, green, blue);
} }
return false;
} }
#ifdef ENCODER_MAP_ENABLE #ifdef ENCODER_MAP_ENABLE

View File

@ -475,7 +475,7 @@ void eeconfig_init_user(void) {
} }
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
uint8_t i; uint8_t i;
// uint32_t mode = rgblight_get_mode(); // uint32_t mode = rgblight_get_mode();
@ -525,6 +525,7 @@ void rgb_matrix_indicators_user(void) {
break; break;
} }
} }
return false;
} }
#endif #endif

View File

@ -93,11 +93,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
}; };
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{
rgb_matrix_set_color(25, 0, 0, 0); rgb_matrix_set_color(25, 0, 0, 0);
rgb_matrix_set_color(36, 0, 0, 0); rgb_matrix_set_color(36, 0, 0, 0);
rgb_matrix_set_color(42, 0, 0, 0); rgb_matrix_set_color(42, 0, 0, 0);
return false;
} }
void keyboard_pre_init_user(void) { void keyboard_pre_init_user(void) {

View File

@ -93,12 +93,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
}; };
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void)
{ {
rgb_matrix_set_color(25, 0, 0, 0); rgb_matrix_set_color(25, 0, 0, 0);
rgb_matrix_set_color(30, 0, 0, 0); rgb_matrix_set_color(30, 0, 0, 0);
rgb_matrix_set_color(35, 0, 0, 0); rgb_matrix_set_color(35, 0, 0, 0);
rgb_matrix_set_color(42, 0, 0, 0); rgb_matrix_set_color(42, 0, 0, 0);
return false;
} }
void keyboard_pre_init_user(void) { void keyboard_pre_init_user(void) {

View File

@ -93,12 +93,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
}; };
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{
rgb_matrix_set_color(24, 0, 0, 0); rgb_matrix_set_color(24, 0, 0, 0);
rgb_matrix_set_color(30, 0, 0, 0); rgb_matrix_set_color(30, 0, 0, 0);
rgb_matrix_set_color(35, 0, 0, 0); rgb_matrix_set_color(35, 0, 0, 0);
rgb_matrix_set_color(36, 0, 0, 0); rgb_matrix_set_color(36, 0, 0, 0);
rgb_matrix_set_color(41, 0, 0, 0); rgb_matrix_set_color(41, 0, 0, 0);
return false;
} }
#endif #endif

View File

@ -253,7 +253,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_user() { bool rgb_matrix_indicators_user(void) {
if (effect_started_time > 0) { if (effect_started_time > 0) {
/* Render blinking EFFECTS */ /* Render blinking EFFECTS */
const uint16_t deltaTime = sync_timer_elapsed(effect_started_time); const uint16_t deltaTime = sync_timer_elapsed(effect_started_time);
@ -289,6 +289,7 @@ void rgb_matrix_indicators_user() {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
set_rgb_caps_leds(); set_rgb_caps_leds();
} }
return false;
} }
static void start_effects() { static void start_effects() {

View File

@ -76,7 +76,7 @@ void keyboard_post_init_user(void) {
val = rgb_matrix_get_val(); val = rgb_matrix_get_val();
} }
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) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color_all(val,0,0); rgb_matrix_set_color_all(val,0,0);
@ -84,4 +84,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
rgb_matrix_set_color_all(val, val, val); rgb_matrix_set_color_all(val, val, val);
val = rgb_matrix_get_val(); val = rgb_matrix_get_val();
} }
return false;
} }

View File

@ -99,7 +99,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return false; return false;
} }
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) {
switch(get_highest_layer(layer_state)) { switch(get_highest_layer(layer_state)) {
// special handling per layer // special handling per layer
case 0: //layer one case 0: //layer one
@ -124,4 +124,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
default: default:
break; break;
} }
return false;
} }

View File

@ -111,7 +111,7 @@ static void set_rgb_wlck_leds() {
rgb_matrix_set_color(92, 0x77, 0xFF, 0x77); // Right side LED 8 rgb_matrix_set_color(92, 0x77, 0xFF, 0x77); // Right side LED 8
} }
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) {
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
set_rgb_caps_leds(); set_rgb_caps_leds();
} }
@ -121,6 +121,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (keymap_config.no_gui) { if (keymap_config.no_gui) {
set_rgb_wlck_leds(); set_rgb_wlck_leds();
} }
return false;
} }
void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {

View File

@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
} }
// Capslock, Scroll lock and Numlock indicator on Left side lights. // Capslock, Scroll lock and Numlock indicator on Left side lights.
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) {
loop_colorset(LED_REGION_A, ARRAY_SIZE(LED_REGION_A), loop_colorset(LED_REGION_A, ARRAY_SIZE(LED_REGION_A),
hsv_cl_blue); hsv_cl_blue);
loop_colorset(LED_REGION_B, ARRAY_SIZE(LED_REGION_B), loop_colorset(LED_REGION_B, ARRAY_SIZE(LED_REGION_B),
@ -158,5 +158,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
loop_colorset(LED_REGION_CAPS, ARRAY_SIZE(LED_REGION_CAPS), loop_colorset(LED_REGION_CAPS, ARRAY_SIZE(LED_REGION_CAPS),
hsv_cl_bad); hsv_cl_bad);
} }
return false;
} }
#endif #endif

View File

@ -56,7 +56,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return false; return false;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (IS_LAYER_ON(_TRAN)) { if (IS_LAYER_ON(_TRAN)) {
rgb_matrix_set_color_all(_TRAN_COLOR_RGB); rgb_matrix_set_color_all(_TRAN_COLOR_RGB);
} else if (IS_LAYER_ON(_GAME)) { } else if (IS_LAYER_ON(_GAME)) {
@ -72,4 +72,5 @@ void rgb_matrix_indicators_user(void) {
} }
} }
} }
return false;
} }

View File

@ -242,7 +242,7 @@ void hurt_paddle(void) {
#endif //GAME_ENABLE #endif //GAME_ENABLE
// Capslock, Scroll lock and Numlock indicator on Left side lights. // Capslock, Scroll lock and Numlock indicator on Left side lights.
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) {
if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF);
// Scroll Lock RGB setup // Scroll Lock RGB setup
@ -359,7 +359,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
#endif // GAME_ENABLE #endif // GAME_ENABLE
// System NumLock warning indicator RGB setup // System NumLock warning indicator RGB setup
#ifdef INVERT_NUMLOCK_INDICATOR #ifdef INVERT_NUMLOCK_INDICATOR
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
rgb_matrix_set_color(LED_N, RGB_ORANGE2); rgb_matrix_set_color(LED_N, RGB_ORANGE2);
} }
@ -431,7 +431,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
// Numpad & Mouse Keys overlay RGB // Numpad & Mouse Keys overlay RGB
case _NUMPADMOUSE: case _NUMPADMOUSE:
#ifdef INVERT_NUMLOCK_INDICATOR #ifdef INVERT_NUMLOCK_INDICATOR
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
rgb_matrix_set_color(LED_N, RGB_ORANGE2); rgb_matrix_set_color(LED_N, RGB_ORANGE2);
} }
@ -699,6 +699,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
#endif //GAME_ENABLE #endif //GAME_ENABLE
break; break;
} }
return false;
} }
#endif #endif
@ -707,4 +708,4 @@ void keyboard_post_init_keymap(void) {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle
#endif #endif
} }

View File

@ -220,7 +220,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
void rgb_matrix_indicators_user() { bool rgb_matrix_indicators_user() {
#if RGB_CONFIRMATION_BLINKING_TIME > 0 #if RGB_CONFIRMATION_BLINKING_TIME > 0
if (effect_started_time > 0) { if (effect_started_time > 0) {
/* Render blinking EFFECTS */ /* Render blinking EFFECTS */
@ -258,6 +258,7 @@ void rgb_matrix_indicators_user() {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
set_rgb_caps_leds(); set_rgb_caps_leds();
} }
return false;
} }
#if RGB_CONFIRMATION_BLINKING_TIME > 0 #if RGB_CONFIRMATION_BLINKING_TIME > 0

View File

@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
// Capslock, Scroll lock and Numlock indicator on Left side lights. // Capslock, Scroll lock and Numlock indicator on Left side lights.
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) {
if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF);
if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) { if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) {
rgb_matrix_set_color(LED_L1, RGB_GREEN); rgb_matrix_set_color(LED_L1, RGB_GREEN);
@ -188,14 +188,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
default: default:
break; break;
} }
} return false;
void suspend_power_down_user(void) {
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_user(void) {
rgb_matrix_set_suspend_state(false);
} }
#endif #endif

View File

@ -80,12 +80,13 @@ static void set_rgb_side_leds() {
rgb_matrix_set_color(92, RGB_WHITE); // Right side LED 8 rgb_matrix_set_color(92, RGB_WHITE); // Right side LED 8
} }
void rgb_matrix_indicators_user() { bool rgb_matrix_indicators_user() {
rgb_matrix_set_color_all(0x0, 0x0, 0x0); rgb_matrix_set_color_all(0x0, 0x0, 0x0);
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
rgb_matrix_set_color(3, RGB_WHITE); // CAPS rgb_matrix_set_color(3, RGB_WHITE); // CAPS
} }
set_rgb_side_leds(); set_rgb_side_leds();
return false;
} }
#endif #endif

View File

@ -372,7 +372,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
} }
void rgb_matrix_indicators_user() { bool rgb_matrix_indicators_user(void) {
#if RGB_CONFIRMATION_BLINKING_TIME > 0 #if RGB_CONFIRMATION_BLINKING_TIME > 0
if (effect_started_time > 0) { if (effect_started_time > 0) {
/* Render blinking EFFECTS */ /* Render blinking EFFECTS */
@ -410,6 +410,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
set_rgb_caps_leds(); set_rgb_caps_leds();
} }
return false;
} }
#if RGB_CONFIRMATION_BLINKING_TIME > 0 #if RGB_CONFIRMATION_BLINKING_TIME > 0

View File

@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
}; };
// Runs constantly in the background, in a loop. // Runs constantly in the background, in a loop.
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER)) { if (rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER)) {
if (IS_LAYER_ON(_UTILITY)) { if (IS_LAYER_ON(_UTILITY)) {
@ -108,6 +108,7 @@ void rgb_matrix_indicators_user(void) {
} }
} }
return false;
} }

View File

@ -19,7 +19,7 @@
static bool wpm_rgb_enabled = false; static bool wpm_rgb_enabled = false;
static uint8_t rgb_mode; static uint8_t rgb_mode;
void rgb_matrix_indicators_keymap(void) { bool rgb_matrix_indicators_keymap(void) {
if (wpm_rgb_enabled && rgb_matrix_is_enabled()) { if (wpm_rgb_enabled && rgb_matrix_is_enabled()) {
uint8_t wpm = get_current_wpm(); uint8_t wpm = get_current_wpm();
dprintf("WPM = %d\n", wpm); dprintf("WPM = %d\n", wpm);
@ -28,6 +28,7 @@ void rgb_matrix_indicators_keymap(void) {
RGB rgb = hsv_to_rgb(hsv); RGB rgb = hsv_to_rgb(hsv);
rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
} }
return false;
} }
bool process_record_fun(uint16_t keycode, keyrecord_t *record) { bool process_record_fun(uint16_t keycode, keyrecord_t *record) {

View File

@ -51,7 +51,7 @@ void suspend_wakeup_init_user(void) {
} }
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
// Turn on sideglow when CAPS LOCK is activated // Turn on sideglow when CAPS LOCK is activated
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
HSV hsv = {CAPS_LOCK_COLOR}; HSV hsv = {CAPS_LOCK_COLOR};
@ -64,5 +64,6 @@ void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
} }
} }
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -15,9 +15,9 @@
*/ */
#include "rgb_matrix_ledmaps.h" #include "rgb_matrix_ledmaps.h"
__attribute__((weak)) void rgb_matrix_indicators_keymap(void) { return; } __attribute__((weak)) bool rgb_matrix_indicators_keymap(void) { return true; }
__attribute__((weak)) void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { __attribute__((weak)) bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
return; return true;
} }
#ifdef RGB_MATRIX_LEDMAPS_ENABLED #ifdef RGB_MATRIX_LEDMAPS_ENABLED
@ -26,15 +26,15 @@ static bool enabled = true;
#endif // RGB_MATRIX_LEDMAPS_ENABLED #endif // RGB_MATRIX_LEDMAPS_ENABLED
void rgb_matrix_indicators_user(void) { rgb_matrix_indicators_keymap(); } bool rgb_matrix_indicators_user(void) { return rgb_matrix_indicators_keymap(); }
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) {
#ifdef RGB_MATRIX_LEDMAPS_ENABLED #ifdef RGB_MATRIX_LEDMAPS_ENABLED
if (rgb_matrix_is_enabled() && enabled) { if (rgb_matrix_is_enabled() && enabled) {
set_layer_rgb(led_min, led_max, get_highest_layer(layer_state | default_layer_state)); set_layer_rgb(led_min, led_max, get_highest_layer(layer_state | default_layer_state));
} }
#endif // RGB_MATRIX_LEDMAPS_ENABLED #endif // RGB_MATRIX_LEDMAPS_ENABLED
rgb_matrix_indicators_advanced_keymap(led_min, led_max); return rgb_matrix_indicators_advanced_keymap(led_min, led_max);
} }
#ifdef RGB_MATRIX_LEDMAPS_ENABLED #ifdef RGB_MATRIX_LEDMAPS_ENABLED

View File

@ -96,5 +96,5 @@ void rgb_matrix_layers_disable(void);
#endif // RGB_MATRIX_LEDMAPS_ENABLED #endif // RGB_MATRIX_LEDMAPS_ENABLED
void rgb_matrix_indicators_keymap(void); bool rgb_matrix_indicators_keymap(void);
void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max); bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max);

View File

@ -77,11 +77,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
), ),
[_FN1] = LAYOUT( [_FN1] = LAYOUT(
KC_SLEP, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_INS, _______, KC_SLEP, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_INS, _______,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, RGB_M_P, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, RGB_M_P,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_MO2), RGB_SAD, RGB_SAI, QK_BOOT, RGB_M_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_MO2), RGB_SAD, RGB_SAI, QK_BOOT, RGB_M_B,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, RGB_M_R,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_M_SW, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_M_SW,
_______, KC_WINLK, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI _______, KC_WINLK, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI
), ),
@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
} }
// Capslock, Scroll lock and Numlock indicator on Left side lights. // Capslock, Scroll lock and Numlock indicator on Left side lights.
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) {
switch(get_highest_layer(layer_state)) { switch(get_highest_layer(layer_state)) {
case _FN1: case _FN1:
// Light up FN layer keys // Light up FN layer keys
@ -201,11 +201,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
if (rgb_value.g > 0) { --rgb_value.g; } if (rgb_value.g > 0) { --rgb_value.g; }
else { ++rgb_value.r; } else { ++rgb_value.r; }
} }
for (uint8_t i=0; i<ARRAY_SIZE(LED_RGB); i++) { for (uint8_t i=0; i<ARRAY_SIZE(LED_RGB); i++) {
rgb_matrix_set_color(LED_RGB[i], rgb_value.r, rgb_value.g, rgb_value.b); rgb_matrix_set_color(LED_RGB[i], rgb_value.r, rgb_value.g, rgb_value.b);
} }
for (uint8_t i=0; i<ARRAY_SIZE(LED_WHITE); i++) { for (uint8_t i=0; i<ARRAY_SIZE(LED_WHITE); i++) {
rgb_matrix_set_color(LED_WHITE[i], RGB_WHITE); rgb_matrix_set_color(LED_WHITE[i], RGB_WHITE);
} }
@ -459,6 +459,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
if (keymap_config.no_gui) { if (keymap_config.no_gui) {
rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Win key when disabled rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Win key when disabled
} }
return false;
} }
#endif #endif

View File

@ -218,7 +218,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
set_rgb_caps_leds_on(); set_rgb_caps_leds_on();
} else { } else {
@ -233,6 +233,7 @@ void rgb_matrix_indicators_user(void) {
set_rgb_scroll_leds_off(); set_rgb_scroll_leds_off();
} }
} }
return false;
} }
// RGB led number layout, function of the key // RGB led number layout, function of the key

View File

@ -54,7 +54,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// 80, led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, led 16 // 80, led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, led 16
// 83, led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, led 17 // 83, led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, led 17
// 87, led 07 88, led 18 // 87, led 07 88, led 18
// 91, led 08 // 91, led 08
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
static void set_rgb_caps_leds_on(void); static void set_rgb_caps_leds_on(void);
@ -132,15 +132,15 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
rgb_matrix_set_color(43, 0, 0, 0); // M rgb_matrix_set_color(43, 0, 0, 0); // M
} }
static void set_rgb_scroll_leds_on() { static void set_rgb_scroll_leds_on() {
rgb_matrix_set_color(72, 255, 255, 255); // Under Rotary (HOME) rgb_matrix_set_color(72, 255, 255, 255); // Under Rotary (HOME)
} }
static void set_rgb_scroll_leds_off() { static void set_rgb_scroll_leds_off() {
rgb_matrix_set_color(72, 0, 0, 0); // Under Rotary (HOME) rgb_matrix_set_color(72, 0, 0, 0); // Under Rotary (HOME)
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
// Left side rainbow // Left side rainbow
rgb_matrix_set_color(67, 255, 0, 0); // Left LED 01 rgb_matrix_set_color(67, 255, 0, 0); // Left LED 01
rgb_matrix_set_color(70, 255, 127, 0); // Left LED 02 rgb_matrix_set_color(70, 255, 127, 0); // Left LED 02
@ -175,6 +175,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
set_rgb_scroll_leds_off(); set_rgb_scroll_leds_off();
} }
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -71,7 +71,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
} }
#endif #endif
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) {
static uint32_t cycle_led_timer = 0; static uint32_t cycle_led_timer = 0;
static uint8_t current_value = 0; static uint8_t current_value = 0;
static uint8_t left_side_leds[8] = {68, 71, 74, 77, 81, 84, 88, 92}; static uint8_t left_side_leds[8] = {68, 71, 74, 77, 81, 84, 88, 92};
@ -103,4 +103,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
break; break;
break; break;
} }
return false;
} }

View File

@ -2,7 +2,7 @@
Copyright 2021 Jonavin Eng @Jonavin Copyright 2021 Jonavin Eng @Jonavin
Copyright 2022 RustyBrakes (ISO conversion) Copyright 2022 RustyBrakes (ISO conversion)
Copyright 2022 gourdo1 <gourdo1@outlook.com> Copyright 2022 gourdo1 <gourdo1@outlook.com>
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or the Free Software Foundation, either version 2 of the License, or
@ -243,7 +243,7 @@ void hurt_paddle(void) {
#endif //GAME_ENABLE #endif //GAME_ENABLE
// Capslock, Scroll lock and Numlock indicator on Left side lights. // Capslock, Scroll lock and Numlock indicator on Left side lights.
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) {
if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF);
// Scroll Lock RGB setup // Scroll Lock RGB setup
@ -367,7 +367,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
#endif // GAME_ENABLE #endif // GAME_ENABLE
// System NumLock warning indicator RGB setup // System NumLock warning indicator RGB setup
#ifdef INVERT_NUMLOCK_INDICATOR #ifdef INVERT_NUMLOCK_INDICATOR
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
rgb_matrix_set_color(LED_N, RGB_ORANGE2); rgb_matrix_set_color(LED_N, RGB_ORANGE2);
} }
@ -444,7 +444,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
// Numpad & Mouse Keys overlay RGB // Numpad & Mouse Keys overlay RGB
case _NUMPADMOUSE: case _NUMPADMOUSE:
#ifdef INVERT_NUMLOCK_INDICATOR #ifdef INVERT_NUMLOCK_INDICATOR
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
rgb_matrix_set_color(LED_N, RGB_ORANGE2); rgb_matrix_set_color(LED_N, RGB_ORANGE2);
} }
@ -712,6 +712,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
#endif //GAME_ENABLE #endif //GAME_ENABLE
break; break;
} }
return false;
} }
#endif #endif
@ -720,4 +721,4 @@ void keyboard_post_init_keymap(void) {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle
#endif #endif
} }

View File

@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
// Capslock, Scroll lock and Numlock indicator on Left side lights. // Capslock, Scroll lock and Numlock indicator on Left side lights.
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) {
if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF);
if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) { if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) {
rgb_matrix_set_color(LED_L1, RGB_GREEN); rgb_matrix_set_color(LED_L1, RGB_GREEN);
@ -178,6 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
default: default:
break; break;
} }
return false;
} }
#endif #endif

View File

@ -181,7 +181,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
hsv.h = time; hsv.h = time;
@ -206,6 +206,7 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(73, 0, 0, 0); rgb_matrix_set_color(73, 0, 0, 0);
} }
} }
return false;
} }
#ifdef OLED_ENABLE #ifdef OLED_ENABLE

View File

@ -230,7 +230,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
hsv.h = time; hsv.h = time;
@ -255,6 +255,7 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(73, 0, 0, 0); rgb_matrix_set_color(73, 0, 0, 0);
} }
} }
return false;
} }
#ifdef OLED_ENABLE #ifdef OLED_ENABLE

View File

@ -75,7 +75,7 @@ enum layer_keycodes {
G_PRE, //Gradient presets G_PRE, //Gradient presets
REF_G, //Toggle between linear and reflected gradient REF_G, //Toggle between linear and reflected gradient
G_FLIP, //Flip the gradient colors G_FLIP, //Flip the gradient colors
//Custom led effect keycode //Custom led effect keycode
RGB_C_E, //Cycle user effect RGB_C_E, //Cycle user effect
}; };
@ -276,7 +276,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
hsv.h = time; hsv.h = time;
@ -301,4 +301,5 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(73, 0, 0, 0); rgb_matrix_set_color(73, 0, 0, 0);
} }
} }
return false;
} }

View File

@ -230,7 +230,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
hsv.h = time; hsv.h = time;
@ -255,6 +255,7 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(73, 0, 0, 0); rgb_matrix_set_color(73, 0, 0, 0);
} }
} }
return false;
} }
#ifdef OLED_ENABLE #ifdef OLED_ENABLE

View File

@ -243,7 +243,7 @@ void dynamic_macro_record_end_user(int8_t direction) {
} }
// Indicators // Indicators
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock || caps_word_enabled) { if (host_keyboard_led_state().caps_lock || caps_word_enabled) {
// Left master // Left master
rgb_matrix_set_color(3, RGB_RED); rgb_matrix_set_color(3, RGB_RED);
@ -262,6 +262,7 @@ void rgb_matrix_indicators_user(void) {
// Right master // Right master
rgb_matrix_set_color(23, RGB_GREEN); rgb_matrix_set_color(23, RGB_GREEN);
} }
return false;
} }
// Quantum keys / Abbreviations // Quantum keys / Abbreviations

View File

@ -65,7 +65,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
led_t led_state = host_keyboard_led_state(); led_t led_state = host_keyboard_led_state();
if (led_state.caps_lock) { if (led_state.caps_lock) {
@ -77,4 +77,5 @@ void rgb_matrix_indicators_user(void) {
} else { } else {
rgb_matrix_set_color(30, 0x00, 0x00, 0x00); rgb_matrix_set_color(30, 0x00, 0x00, 0x00);
} }
return false;
} }

View File

@ -50,8 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS ), KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS ),
}; };
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK))
{ {
rgb_matrix_set_color(22, 255, 255, 255); rgb_matrix_set_color(22, 255, 255, 255);
@ -64,4 +63,5 @@ void rgb_matrix_indicators_user(void)
{ {
rgb_matrix_set_color(45, 255, 255, 255); rgb_matrix_set_color(45, 255, 255, 255);
} }
} return false;
}

View File

@ -50,18 +50,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
}; };
void rgb_matrix_indicators_user(void) bool rgb_matrix_indicators_user(void) {
{ if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) rgb_matrix_set_color(22, 255, 255, 255);
{ }
rgb_matrix_set_color(22, 255, 255, 255); if (IS_LAYER_ON(_L1)) {
} rgb_matrix_set_color(46, 255, 255, 255);
if (IS_LAYER_ON(_L1)) }
{ if (IS_LAYER_ON(_L2)) {
rgb_matrix_set_color(46, 255, 255, 255); rgb_matrix_set_color(45, 255, 255, 255);
} }
if (IS_LAYER_ON(_L2)) return false;
{ }
rgb_matrix_set_color(45, 255, 255, 255);
}
}

View File

@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
hsv.h = time; hsv.h = time;
@ -184,4 +184,5 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(30, 0, 0, 0); rgb_matrix_set_color(30, 0, 0, 0);
} }
} }
return false;
} }

View File

@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1));
hsv.h = time; hsv.h = time;
@ -184,4 +184,5 @@ void rgb_matrix_indicators_user(void) {
rgb_matrix_set_color(30, 0, 0, 0); rgb_matrix_set_color(30, 0, 0, 0);
} }
} }
return false;
} }

View File

@ -75,7 +75,7 @@ enum layer_keycodes {
G_PRE, //Gradient presets G_PRE, //Gradient presets
REF_G, //Toggle between linear and reflected gradient REF_G, //Toggle between linear and reflected gradient
G_FLIP, //Flip the gradient colors G_FLIP, //Flip the gradient colors
//Custom led effect keycode //Custom led effect keycode
RGB_C_E, //Cycle user effect RGB_C_E, //Cycle user effect
}; };
@ -252,7 +252,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
uint8_t side_leds_left[3] = {17, 18, 19}; uint8_t side_leds_left[3] = {17, 18, 19};
uint8_t side_leds_right[3] = { 4, 5, 6}; uint8_t side_leds_right[3] = { 4, 5, 6};
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
@ -297,4 +297,5 @@ void rgb_matrix_indicators_user(void) {
} }
} }
} }
return false;
} }

View File

@ -75,7 +75,7 @@ enum layer_keycodes {
G_PRE, //Gradient presets G_PRE, //Gradient presets
REF_G, //Toggle between linear and reflected gradient REF_G, //Toggle between linear and reflected gradient
G_FLIP, //Flip the gradient colors G_FLIP, //Flip the gradient colors
//Custom led effect keycode //Custom led effect keycode
RGB_C_E, //Cycle user effect RGB_C_E, //Cycle user effect
}; };
@ -252,7 +252,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
uint8_t side_leds_left[3] = {17, 18, 19}; uint8_t side_leds_left[3] = {17, 18, 19};
uint8_t side_leds_right[3] = { 4, 5, 6}; uint8_t side_leds_right[3] = { 4, 5, 6};
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
@ -297,4 +297,5 @@ void rgb_matrix_indicators_user(void) {
} }
} }
} }
return false;
} }

View File

@ -196,7 +196,7 @@ void eeconfig_init_user(void) {
id63_update_rgb_mode(); id63_update_rgb_mode();
} }
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) {
// Caps Lock key stuff // Caps Lock key stuff
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
@ -214,6 +214,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
} else if (user_config.rgb_disable_perkey) { } else if (user_config.rgb_disable_perkey) {
rgb_matrix_set_color(ID63_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off rgb_matrix_set_color(ID63_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -198,7 +198,7 @@ void eeconfig_init_user(void) {
id67_update_rgb_mode(); id67_update_rgb_mode();
} }
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) {
// Caps Lock key stuff // Caps Lock key stuff
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
@ -216,6 +216,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
} else if (user_config.rgb_disable_perkey) { } else if (user_config.rgb_disable_perkey) {
rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -154,11 +154,7 @@ void keyboard_post_init_user(void) {
isRGBOff = false; isRGBOff = false;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
// do nothing, override base <<weak>> function to disable it
}
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
uint8_t v = MIN( rgblight_get_val() + RGB_BRIGHTER_BY, 0xFF ); uint8_t v = MIN( rgblight_get_val() + RGB_BRIGHTER_BY, 0xFF );
uint8_t current_layer = get_highest_layer(layer_state); uint8_t current_layer = get_highest_layer(layer_state);
@ -239,18 +235,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
} }
break; break;
} }
} return false;
/*
* Sleep mode stuff (untested)
*/
void suspend_power_down_user(void) {
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_user(void) {
rgb_matrix_set_suspend_state(false);
} }
#endif #endif

View File

@ -196,7 +196,7 @@ void eeconfig_init_user(void) {
id80_update_rgb_mode(); id80_update_rgb_mode();
} }
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) {
// Caps Lock key stuff // Caps Lock key stuff
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
@ -214,6 +214,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
} else if (user_config.rgb_disable_perkey) { } else if (user_config.rgb_disable_perkey) {
rgb_matrix_set_color(ID80_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off rgb_matrix_set_color(ID80_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -180,7 +180,7 @@ void eeconfig_init_user(void) {
id87_update_rgb_mode(); id87_update_rgb_mode();
} }
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) {
// Caps Lock key stuff // Caps Lock key stuff
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
@ -198,6 +198,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
} else if (user_config.rgb_disable_perkey) { } else if (user_config.rgb_disable_perkey) {
rgb_matrix_set_color(ID87_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off rgb_matrix_set_color(ID87_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off
} }
return false;
} }
#endif // RGB_MATRIX_ENABLE #endif // RGB_MATRIX_ENABLE

View File

@ -152,11 +152,14 @@ led_config_t g_led_config = {
} }
}; };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(8, 0xFF, 0x0, 0x0); rgb_matrix_set_color(8, 0xFF, 0x0, 0x0);
} }
return true;
} }
#endif //RGB_MATRIX_ENABLE #endif //RGB_MATRIX_ENABLE

View File

@ -156,11 +156,14 @@ led_config_t g_led_config = {
} }
}; };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(8, 0xFF, 0x0, 0x0); rgb_matrix_set_color(8, 0xFF, 0x0, 0x0);
} }
return true;
} }
#endif //RGB_MATRIX_ENABLE #endif //RGB_MATRIX_ENABLE

View File

@ -44,10 +44,13 @@ led_config_t g_led_config = { {
} }; } };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) { if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -32,17 +32,19 @@ led_config_t g_led_config = { {
}, { }, {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 1, 1, 1 4, 4, 4, 4, 4, 1, 1, 1
} }; } };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) if (!rgb_matrix_indicators_user()) {
{ return false;
}
if (host_keyboard_led_state().caps_lock) if (host_keyboard_led_state().caps_lock)
{ {
rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -128,15 +128,15 @@ led_config_t g_led_config = {
{ 58, NO_LED, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, NO_LED, 70, NO_LED, }, /* R4 */ { 58, NO_LED, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, NO_LED, 70, NO_LED, }, /* R4 */
{ 71, 72, 73, NO_LED, NO_LED, NO_LED, 74, NO_LED, NO_LED, NO_LED, 75, 76, 77, NO_LED, 78, 79, }, /* R5 */ { 71, 72, 73, NO_LED, NO_LED, NO_LED, 74, NO_LED, NO_LED, NO_LED, 75, 76, 77, NO_LED, 78, 79, }, /* R5 */
}, { }, {
{0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0}, {0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0},
{0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17}, {0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17},
{4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {202, 29}, {224, 29}, {4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {202, 29}, {224, 29},
{5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {196, 41}, {224, 41}, {5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {196, 41}, {224, 41},
{9, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52}, {9, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52},
{2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64}, {2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64},
{0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0}, {0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0},
{0, 32}, {224,32}, {0, 32}, {224,32},
{0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64}, {0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64},
}, { }, {
4,1,1,1,1,1,1,1,1,1,1,1,1,4, 4,1,1,1,1,1,1,1,1,1,1,1,1,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
@ -148,22 +148,14 @@ led_config_t g_led_config = {
} }
}; };
void suspend_power_down_kb(void) { bool rgb_matrix_indicators_kb(void) {
rgb_matrix_set_suspend_state(true); if (!rgb_matrix_indicators_user()) {
suspend_power_down_user(); return false;
} }
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
if (host_keyboard_led_state().caps_lock) if (host_keyboard_led_state().caps_lock)
{ {
rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -129,15 +129,15 @@ led_config_t g_led_config = {
{ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NO_LED, 71, NO_LED, }, /* R4 */ { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NO_LED, 71, NO_LED, }, /* R4 */
{ 72, 73, 74, NO_LED, NO_LED, NO_LED, 75, NO_LED, NO_LED, NO_LED, 76, 77, 78, NO_LED, 79, 80, }, /* R5 */ { 72, 73, 74, NO_LED, NO_LED, NO_LED, 75, NO_LED, NO_LED, NO_LED, 76, 77, 78, NO_LED, 79, 80, }, /* R5 */
}, { }, {
{0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0}, {0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0},
{0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17}, {0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17},
{4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {200, 35}, {224, 29}, {4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {200, 35}, {224, 29},
{5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {187, 41}, {224, 41}, {5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {187, 41}, {224, 41},
{2, 52}, {18, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52}, {2, 52}, {18, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52},
{2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64}, {2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64},
{0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0}, {0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0},
{0, 32}, {224,32}, {0, 32}, {224,32},
{0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64}, {0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64},
}, { }, {
4,1,1,1,1,1,1,1,1,1,1,1,1,4, 4,1,1,1,1,1,1,1,1,1,1,1,1,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
@ -148,23 +148,14 @@ led_config_t g_led_config = {
2,2,2,2,2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,
} }
}; };
void suspend_power_down_kb(void) {
rgb_matrix_set_suspend_state(true);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) { bool rgb_matrix_indicators_kb(void) {
rgb_matrix_set_suspend_state(false); if (!rgb_matrix_indicators_user()) {
suspend_wakeup_init_user(); return false;
} }
if (host_keyboard_led_state().caps_lock) {
__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
if (host_keyboard_led_state().caps_lock)
{
rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -21,66 +21,66 @@
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
{0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW1, CS20_SW1, CS19_SW1},
{0, CS21_SW2, CS20_SW2, CS19_SW2}, {0, CS21_SW2, CS20_SW2, CS19_SW2},
{0, CS21_SW3, CS20_SW3, CS19_SW3}, {0, CS21_SW3, CS20_SW3, CS19_SW3},
{0, CS21_SW4, CS20_SW4, CS19_SW4}, {0, CS21_SW4, CS20_SW4, CS19_SW4},
{0, CS21_SW5, CS20_SW5, CS19_SW5}, {0, CS21_SW5, CS20_SW5, CS19_SW5},
{0, CS21_SW6, CS20_SW6, CS19_SW6}, {0, CS21_SW6, CS20_SW6, CS19_SW6},
{0, CS21_SW7, CS20_SW7, CS19_SW7}, {0, CS21_SW7, CS20_SW7, CS19_SW7},
{0, CS21_SW8, CS20_SW8, CS19_SW8}, {0, CS21_SW8, CS20_SW8, CS19_SW8},
{0, CS24_SW1, CS23_SW1, CS22_SW1}, {0, CS24_SW1, CS23_SW1, CS22_SW1},
{0, CS24_SW2, CS23_SW2, CS22_SW2}, {0, CS24_SW2, CS23_SW2, CS22_SW2},
{0, CS24_SW3, CS23_SW3, CS22_SW3}, {0, CS24_SW3, CS23_SW3, CS22_SW3},
{0, CS24_SW4, CS23_SW4, CS22_SW4}, {0, CS24_SW4, CS23_SW4, CS22_SW4},
{0, CS24_SW5, CS23_SW5, CS22_SW5}, {0, CS24_SW5, CS23_SW5, CS22_SW5},
{0, CS24_SW6, CS23_SW6, CS22_SW6}, {0, CS24_SW6, CS23_SW6, CS22_SW6},
{0, CS24_SW7, CS23_SW7, CS22_SW7}, {0, CS24_SW7, CS23_SW7, CS22_SW7},
{0, CS15_SW1, CS14_SW1, CS13_SW1}, {0, CS15_SW1, CS14_SW1, CS13_SW1},
{0, CS15_SW2, CS14_SW2, CS13_SW2}, {0, CS15_SW2, CS14_SW2, CS13_SW2},
{0, CS15_SW3, CS14_SW3, CS13_SW3}, {0, CS15_SW3, CS14_SW3, CS13_SW3},
{0, CS15_SW4, CS14_SW4, CS13_SW4}, {0, CS15_SW4, CS14_SW4, CS13_SW4},
{0, CS15_SW5, CS14_SW5, CS13_SW5}, {0, CS15_SW5, CS14_SW5, CS13_SW5},
{0, CS15_SW6, CS14_SW6, CS13_SW6}, {0, CS15_SW6, CS14_SW6, CS13_SW6},
{0, CS15_SW7, CS14_SW7, CS13_SW7}, {0, CS15_SW7, CS14_SW7, CS13_SW7},
{0, CS15_SW8, CS14_SW8, CS13_SW8}, {0, CS15_SW8, CS14_SW8, CS13_SW8},
{0, CS30_SW1, CS29_SW1, CS28_SW1}, {0, CS30_SW1, CS29_SW1, CS28_SW1},
{0, CS30_SW2, CS29_SW2, CS28_SW2}, {0, CS30_SW2, CS29_SW2, CS28_SW2},
{0, CS30_SW3, CS29_SW3, CS28_SW3}, {0, CS30_SW3, CS29_SW3, CS28_SW3},
{0, CS30_SW4, CS29_SW4, CS28_SW4}, {0, CS30_SW4, CS29_SW4, CS28_SW4},
{0, CS30_SW5, CS29_SW5, CS28_SW5}, {0, CS30_SW5, CS29_SW5, CS28_SW5},
{0, CS30_SW6, CS29_SW6, CS28_SW6}, {0, CS30_SW6, CS29_SW6, CS28_SW6},
{0, CS30_SW7, CS29_SW7, CS28_SW7}, {0, CS30_SW7, CS29_SW7, CS28_SW7},
{0, CS12_SW1, CS11_SW1, CS10_SW1}, {0, CS12_SW1, CS11_SW1, CS10_SW1},
{0, CS12_SW2, CS11_SW2, CS10_SW2}, {0, CS12_SW2, CS11_SW2, CS10_SW2},
{0, CS12_SW3, CS11_SW3, CS10_SW3}, {0, CS12_SW3, CS11_SW3, CS10_SW3},
{0, CS12_SW4, CS11_SW4, CS10_SW4}, {0, CS12_SW4, CS11_SW4, CS10_SW4},
{0, CS12_SW5, CS11_SW5, CS10_SW5}, {0, CS12_SW5, CS11_SW5, CS10_SW5},
{0, CS12_SW6, CS11_SW6, CS10_SW6}, {0, CS12_SW6, CS11_SW6, CS10_SW6},
{0, CS12_SW7, CS11_SW7, CS10_SW7}, {0, CS12_SW7, CS11_SW7, CS10_SW7},
{0, CS12_SW8, CS11_SW8, CS10_SW8}, {0, CS12_SW8, CS11_SW8, CS10_SW8},
{0, CS33_SW1, CS32_SW1, CS31_SW1}, {0, CS33_SW1, CS32_SW1, CS31_SW1},
{0, CS33_SW2, CS32_SW2, CS31_SW2}, {0, CS33_SW2, CS32_SW2, CS31_SW2},
{0, CS33_SW3, CS32_SW3, CS31_SW3}, {0, CS33_SW3, CS32_SW3, CS31_SW3},
{0, CS33_SW4, CS32_SW4, CS31_SW4}, {0, CS33_SW4, CS32_SW4, CS31_SW4},
{0, CS33_SW5, CS32_SW5, CS31_SW5}, {0, CS33_SW5, CS32_SW5, CS31_SW5},
{0, CS33_SW7, CS32_SW7, CS31_SW7}, {0, CS33_SW7, CS32_SW7, CS31_SW7},
{0, CS9_SW1, CS8_SW1, CS7_SW1}, {0, CS9_SW1, CS8_SW1, CS7_SW1},
{0, CS9_SW2, CS8_SW2, CS7_SW2}, {0, CS9_SW2, CS8_SW2, CS7_SW2},
{0, CS9_SW3, CS8_SW3, CS7_SW3}, {0, CS9_SW3, CS8_SW3, CS7_SW3},
{0, CS9_SW4, CS8_SW4, CS7_SW4}, {0, CS9_SW4, CS8_SW4, CS7_SW4},
{0, CS9_SW5, CS8_SW5, CS7_SW5}, {0, CS9_SW5, CS8_SW5, CS7_SW5},
{0, CS9_SW6, CS8_SW6, CS7_SW6}, {0, CS9_SW6, CS8_SW6, CS7_SW6},
{0, CS9_SW7, CS8_SW7, CS7_SW7}, {0, CS9_SW7, CS8_SW7, CS7_SW7},
{0, CS9_SW8, CS8_SW8, CS7_SW8}, {0, CS9_SW8, CS8_SW8, CS7_SW8},
{0, CS36_SW1, CS35_SW1, CS34_SW1}, {0, CS36_SW1, CS35_SW1, CS34_SW1},
{0, CS36_SW2, CS35_SW2, CS34_SW2}, {0, CS36_SW2, CS35_SW2, CS34_SW2},
{0, CS36_SW3, CS35_SW3, CS34_SW3}, {0, CS36_SW3, CS35_SW3, CS34_SW3},
{0, CS36_SW4, CS35_SW4, CS34_SW4}, {0, CS36_SW4, CS35_SW4, CS34_SW4},
{0, CS36_SW5, CS35_SW5, CS34_SW5}, {0, CS36_SW5, CS35_SW5, CS34_SW5},
{0, CS36_SW7, CS35_SW7, CS34_SW7}, {0, CS36_SW7, CS35_SW7, CS34_SW7},
{0, CS3_SW1, CS2_SW1, CS1_SW1}, {0, CS3_SW1, CS2_SW1, CS1_SW1},
{0, CS3_SW2, CS2_SW2, CS1_SW2}, {0, CS3_SW2, CS2_SW2, CS1_SW2},
{0, CS3_SW3, CS2_SW3, CS1_SW3}, {0, CS3_SW3, CS2_SW3, CS1_SW3},
@ -90,27 +90,27 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
{0, CS39_SW4, CS38_SW4, CS37_SW4}, {0, CS39_SW4, CS38_SW4, CS37_SW4},
{0, CS39_SW5, CS38_SW5, CS37_SW5}, {0, CS39_SW5, CS38_SW5, CS37_SW5},
{0, CS39_SW7, CS38_SW7, CS37_SW7}, {0, CS39_SW7, CS38_SW7, CS37_SW7},
/* underglow */ /* underglow */
{0, CS18_SW1, CS17_SW1, CS16_SW1}, {0, CS18_SW1, CS17_SW1, CS16_SW1},
{0, CS18_SW3, CS17_SW3, CS16_SW3}, {0, CS18_SW3, CS17_SW3, CS16_SW3},
{0, CS18_SW5, CS17_SW5, CS16_SW5}, {0, CS18_SW5, CS17_SW5, CS16_SW5},
{0, CS18_SW7, CS17_SW7, CS16_SW7}, {0, CS18_SW7, CS17_SW7, CS16_SW7},
{0, CS27_SW2, CS26_SW2, CS25_SW2}, {0, CS27_SW2, CS26_SW2, CS25_SW2},
{0, CS27_SW4, CS26_SW4, CS25_SW4}, {0, CS27_SW4, CS26_SW4, CS25_SW4},
{0, CS27_SW6, CS26_SW6, CS25_SW6}, {0, CS27_SW6, CS26_SW6, CS25_SW6},
{0, CS27_SW7, CS26_SW7, CS25_SW7}, {0, CS27_SW7, CS26_SW7, CS25_SW7},
{0, CS6_SW1, CS5_SW1, CS4_SW1}, {0, CS6_SW1, CS5_SW1, CS4_SW1},
{0, CS6_SW3, CS5_SW3, CS4_SW3}, {0, CS6_SW3, CS5_SW3, CS4_SW3},
{0, CS6_SW4, CS5_SW4, CS4_SW4}, {0, CS6_SW4, CS5_SW4, CS4_SW4},
{0, CS6_SW7, CS5_SW7, CS4_SW7}, {0, CS6_SW7, CS5_SW7, CS4_SW7},
{0, CS39_SW1, CS38_SW1, CS37_SW1}, {0, CS39_SW1, CS38_SW1, CS37_SW1},
{0, CS33_SW6, CS32_SW6, CS31_SW6}, {0, CS33_SW6, CS32_SW6, CS31_SW6},
{0, CS36_SW6, CS35_SW6, CS34_SW6}, {0, CS36_SW6, CS35_SW6, CS34_SW6},
{0, CS39_SW6, CS38_SW6, CS37_SW6} {0, CS39_SW6, CS38_SW6, CS37_SW6}
}; };
led_config_t g_led_config = { { led_config_t g_led_config = { {
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
@ -129,20 +129,21 @@ led_config_t g_led_config = { {
}, { }, {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2 2, 2, 2, 2, 2, 2, 2, 2
} }; } };
__attribute__ ((weak)) bool rgb_matrix_indicators_kb(void) {
void rgb_matrix_indicators_user(void) if (!rgb_matrix_indicators_user()) {
{ return false;
}
if (host_keyboard_led_state().caps_lock) if (host_keyboard_led_state().caps_lock)
{ {
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

View File

@ -51,7 +51,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_user(void) {
if (rgb_matrix_config.enable) { if (rgb_matrix_config.enable) {
HSV hsv = rgb_matrix_config.hsv; HSV hsv = rgb_matrix_config.hsv;
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
@ -87,6 +87,7 @@ void rgb_matrix_indicators_user(void) {
set_hsv_at(hsv1, 63); set_hsv_at(hsv1, 63);
set_hsv_at(hsv2, 57); set_hsv_at(hsv2, 57);
} }
return false;
} }
void set_hsv_at(HSV hsv, uint8_t index) { void set_hsv_at(HSV hsv, uint8_t index) {

View File

@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
// Capslock, Scroll lock and Numlock indicator // Capslock, Scroll lock and Numlock indicator
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) {
if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF);
if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) { if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) {
rgb_matrix_set_color(LED_I, RGB_GREEN); rgb_matrix_set_color(LED_I, RGB_GREEN);
@ -109,15 +109,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
default: default:
break; break;
} }
return false;
} }
void suspend_power_down_user(void) {
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_user(void) {
rgb_matrix_set_suspend_state(false);
}
#endif #endif

View File

@ -96,9 +96,13 @@ led_config_t g_led_config = {{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
{{0, 0}, {15, 0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {203, 0}, {224, 0}, {4, 16}, {23, 16}, {38, 16}, {53, 16}, {68, 16}, {83, 16}, {98, 16}, {113, 16}, {128, 16}, {143, 16}, {158, 16}, {173, 16}, {188, 16}, {206, 16}, {224, 16}, {6, 32}, {26, 32}, {41, 32}, {56, 32}, {71, 32}, {86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {224, 32}, {9, 48}, {34, 48}, {49, 48}, {64, 48}, {79, 48}, {94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {210, 48}, {224, 48}, {2, 64}, {21, 64}, {39, 64}, {96, 64}, {152, 64}, {171, 64}, {195, 64}, {210, 64}, {224, 64}}, {{0, 0}, {15, 0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {203, 0}, {224, 0}, {4, 16}, {23, 16}, {38, 16}, {53, 16}, {68, 16}, {83, 16}, {98, 16}, {113, 16}, {128, 16}, {143, 16}, {158, 16}, {173, 16}, {188, 16}, {206, 16}, {224, 16}, {6, 32}, {26, 32}, {41, 32}, {56, 32}, {71, 32}, {86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {224, 32}, {9, 48}, {34, 48}, {49, 48}, {64, 48}, {79, 48}, {94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {210, 48}, {224, 48}, {2, 64}, {21, 64}, {39, 64}, {96, 64}, {152, 64}, {171, 64}, {195, 64}, {210, 64}, {224, 64}},
{1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1}}; {1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1}};
__attribute__((weak)) void rgb_matrix_indicators_user(void) { bool rgb_matrix_indicators_kb(void) {
if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
} }
return true;
} }
#endif #endif

Some files were not shown because too many files have changed in this diff Show More