aboutsummaryrefslogtreecommitdiff
path: root/quantum/visualizer/visualizer.c
diff options
context:
space:
mode:
authorFred Sundvik <fsundvik@gmail.com>2017-04-04 22:29:40 +0300
committerFred Sundvik <fsundvik@gmail.com>2017-04-09 18:34:59 +0300
commit05bc4880ddc9e904cfa1773caff1ae81977d2a76 (patch)
tree1dd6d75c3725a0002fa352746c543e8d4d77fd25 /quantum/visualizer/visualizer.c
parentfa6da78ff3c96a71ed65684e276352700843d539 (diff)
downloadqmk_firmware-05bc4880ddc9e904cfa1773caff1ae81977d2a76.tar.gz
qmk_firmware-05bc4880ddc9e904cfa1773caff1ae81977d2a76.zip
Tweaks to the Ergodox default visualizer
No animation, display led statuses and layer name on the same screen Don't display layer bitmap Fully saturated colors for caps, less saturated ones normally
Diffstat (limited to 'quantum/visualizer/visualizer.c')
-rw-r--r--quantum/visualizer/visualizer.c28
1 files changed, 25 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) {