summaryrefslogtreecommitdiff
path: root/keyboards/zeal60/rgb_backlight.c
diff options
context:
space:
mode:
authorWilba6582 <Wilba6582@users.noreply.github.com>2018-10-01 00:31:23 +1000
committerDrashna Jaelre <drashna@live.com>2018-09-30 07:31:23 -0700
commit6734cd9c5c7b63677d3d4cf9bef8ccf878fd3551 (patch)
tree1524a0c66d54d003714f1827023917d1bfcd4949 /keyboards/zeal60/rgb_backlight.c
parent3875d6f5815bf263cb3ee5d18b74c5ec8ab865f2 (diff)
Keyboard: Zeal60: Fix getting backlight values "id_*_indicator_row_col" (#4030)
Diffstat (limited to 'keyboards/zeal60/rgb_backlight.c')
-rw-r--r--keyboards/zeal60/rgb_backlight.c33
1 files changed, 29 insertions, 4 deletions
diff --git a/keyboards/zeal60/rgb_backlight.c b/keyboards/zeal60/rgb_backlight.c
index 9f62a8d381..ce8b1cb179 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: