diff options
author | Wilba6582 <Wilba6582@users.noreply.github.com> | 2018-09-30 16:31:23 +0200 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-09-30 16:31:23 +0200 |
commit | 6734cd9c5c7b63677d3d4cf9bef8ccf878fd3551 (patch) | |
tree | 1524a0c66d54d003714f1827023917d1bfcd4949 | |
parent | 3875d6f5815bf263cb3ee5d18b74c5ec8ab865f2 (diff) | |
download | qmk_firmware-6734cd9c5c7b63677d3d4cf9bef8ccf878fd3551.tar.gz qmk_firmware-6734cd9c5c7b63677d3d4cf9bef8ccf878fd3551.tar.xz |
Keyboard: Zeal60: Fix getting backlight values "id_*_indicator_row_col" (#4030)
-rw-r--r-- | keyboards/zeal60/rgb_backlight.c | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/keyboards/zeal60/rgb_backlight.c b/keyboards/zeal60/rgb_backlight.c index 9f62a8d38..ce8b1cb17 100644 --- a/keyboards/zeal60/rgb_backlight.c +++ b/keyboards/zeal60/rgb_backlight.c @@ -916,6 +916,31 @@ void backlight_set_indicator_index( uint8_t *index, uint8_t row, uint8_t column } } +void backlight_get_indicator_row_col( uint8_t index, uint8_t *row, uint8_t *column ) +{ + if ( index == 255 || index == 254 ) + { + // Special value, 255=none, 254=all + *row = index; + *column = 0; + return; + } + for ( uint8_t r = 0; r < MATRIX_ROWS; r++ ) + { + for ( uint8_t c = 0; c < MATRIX_COLS; c++ ) + { + uint8_t i = 255; + map_row_column_to_led( r, c, &i ); + if ( i == index ) + { + *row = r; + *column = c; + return; + } + } + } +} + // Some helpers for setting/getting HSV void _set_color( HSV *color, uint8_t *data ) { @@ -1146,7 +1171,7 @@ void backlight_config_get_value( uint8_t *data ) } case id_caps_lock_indicator_row_col: { - //*value_data = g_config.caps_lock_indicator.index; + backlight_get_indicator_row_col( g_config.caps_lock_indicator.index, &(value_data[0]), &(value_data[1]) ); break; } case id_layer_1_indicator_color: @@ -1156,7 +1181,7 @@ void backlight_config_get_value( uint8_t *data ) } case id_layer_1_indicator_row_col: { - //*value_data = g_config.layer_1_indicator.index; + backlight_get_indicator_row_col( g_config.layer_1_indicator.index, &(value_data[0]), &(value_data[1]) ); break; } case id_layer_2_indicator_color: @@ -1166,7 +1191,7 @@ void backlight_config_get_value( uint8_t *data ) } case id_layer_2_indicator_row_col: { - //*value_data = g_config.layer_2_indicator.index; + backlight_get_indicator_row_col( g_config.layer_2_indicator.index, &(value_data[0]), &(value_data[1]) ); break; } case id_layer_3_indicator_color: @@ -1176,7 +1201,7 @@ void backlight_config_get_value( uint8_t *data ) } case id_layer_3_indicator_row_col: { - //*value_data = g_config.layer_3_indicator.index; + backlight_get_indicator_row_col( g_config.layer_3_indicator.index, &(value_data[0]), &(value_data[1]) ); break; } case id_alphas_mods: |