mirror of
https://github.com/firewalkwithm3/qmk_firmware.git
synced 2024-11-22 11:30:30 +08:00
RGB Matrix layer key indicator (#14626)
* Add layer key indicator example * Update description * Deobfuscate with index variable * Add missing layer variable * Correct color name and indicator function * Function typo * Place layer variable outside loops to save firmware space Co-authored-by: filterpaper <filterpaper@localhost>
This commit is contained in:
parent
58f7aefadd
commit
e3073be488
|
@ -790,6 +790,26 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Layer indicator with only configured keys:
|
||||||
|
```c
|
||||||
|
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||||
|
if (get_highest_layer(layer_state) > 0) {
|
||||||
|
uint8_t layer = get_highest_layer(layer_state);
|
||||||
|
|
||||||
|
for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
|
||||||
|
for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
|
||||||
|
uint8_t index = g_led_config.matrix_co[row][col];
|
||||||
|
|
||||||
|
if (index >= led_min && index <= led_max && index != NO_LED &&
|
||||||
|
keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) {
|
||||||
|
rgb_matrix_set_color(index, RGB_GREEN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
#### Examples :id=indicator-examples
|
#### Examples :id=indicator-examples
|
||||||
|
|
||||||
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).
|
||||||
|
|
Loading…
Reference in a new issue