aboutsummaryrefslogtreecommitdiff
path: root/quantum/visualizer
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/visualizer')
-rw-r--r--quantum/visualizer/visualizer.c28
-rw-r--r--quantum/visualizer/visualizer.h1
2 files changed, 26 insertions, 3 deletions
diff --git a/quantum/visualizer/visualizer.c b/quantum/visualizer/visualizer.c
index 3b3f51b1f..2533eb709 100644
--- a/quantum/visualizer/visualizer.c
+++ b/quantum/visualizer/visualizer.c
@@ -364,9 +364,9 @@ bool keyframe_display_mods_bitmap(keyframe_animation_t* animation, visualizer_st
364 return false; 364 return false;
365} 365}
366 366
367bool keyframe_display_led_states(keyframe_animation_t* animation, visualizer_state_t* state) 367#define LED_STATE_STRING_SIZE sizeof("NUM CAPS SCRL COMP KANA")
368{ 368
369 char output[sizeof("NUM CAPS SCRL COMP KANA")]; 369static void get_led_state_string(char* output, visualizer_state_t* state) {
370 uint8_t pos = 0; 370 uint8_t pos = 0;
371 371
372 if (state->status.leds & (1u << USB_LED_NUM_LOCK)) { 372 if (state->status.leds & (1u << USB_LED_NUM_LOCK)) {
@@ -390,12 +390,34 @@ bool keyframe_display_led_states(keyframe_animation_t* animation, visualizer_sta
390 pos += 5; 390 pos += 5;
391 } 391 }
392 output[pos] = 0; 392 output[pos] = 0;
393}
394
395bool keyframe_display_led_states(keyframe_animation_t* animation, visualizer_state_t* state)
396{
397 (void)animation;
398 char output[LED_STATE_STRING_SIZE];
399 get_led_state_string(output, state);
393 gdispClear(White); 400 gdispClear(White);
394 gdispDrawString(0, 10, output, state->font_dejavusansbold12, Black); 401 gdispDrawString(0, 10, output, state->font_dejavusansbold12, Black);
395 gdispFlush(); 402 gdispFlush();
396 return false; 403 return false;
397} 404}
398 405
406bool keyframe_display_layer_and_led_states(keyframe_animation_t* animation, visualizer_state_t* state) {
407 (void)animation;
408 gdispClear(White);
409 uint8_t y = 10;
410 if (state->status.leds) {
411 char output[LED_STATE_STRING_SIZE];
412 get_led_state_string(output, state);
413 gdispDrawString(0, 1, output, state->font_dejavusansbold12, Black);
414 y = 17;
415 }
416 gdispDrawString(0, y, state->layer_text, state->font_dejavusansbold12, Black);
417 gdispFlush();
418 return false;
419}
420
399#endif // LCD_ENABLE 421#endif // LCD_ENABLE
400 422
401bool keyframe_disable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state) { 423bool keyframe_disable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state) {
diff --git a/quantum/visualizer/visualizer.h b/quantum/visualizer/visualizer.h
index e8ace5b37..3b05c305e 100644
--- a/quantum/visualizer/visualizer.h
+++ b/quantum/visualizer/visualizer.h
@@ -141,6 +141,7 @@ bool keyframe_display_layer_bitmap(keyframe_animation_t* animation, visualizer_s
141bool keyframe_display_mods_bitmap(keyframe_animation_t* animation, visualizer_state_t* state); 141bool keyframe_display_mods_bitmap(keyframe_animation_t* animation, visualizer_state_t* state);
142// Displays the keyboard led states (CAPS (Caps lock), NUM (Num lock), SCRL (Scroll lock), COMP (Compose), KANA) 142// Displays the keyboard led states (CAPS (Caps lock), NUM (Num lock), SCRL (Scroll lock), COMP (Compose), KANA)
143bool keyframe_display_led_states(keyframe_animation_t* animation, visualizer_state_t* state); 143bool keyframe_display_led_states(keyframe_animation_t* animation, visualizer_state_t* state);
144bool keyframe_display_layer_and_led_states(keyframe_animation_t* animation, visualizer_state_t* state);
144 145
145bool keyframe_disable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state); 146bool keyframe_disable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state);
146bool keyframe_enable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state); 147bool keyframe_enable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state);