Tidy up LCD_ENABLE/visualizer references (#14855)

* Tidy up LCD_ENABLE/visualizer references

* Fix up my (333fred) ergodox keymap with new LCD driver

Co-authored-by: Fredric Silberberg <fred@silberberg.xyz>
This commit is contained in:
Joel Challis
2021-10-20 21:27:46 +01:00
committed by GitHub
parent d4be4b67a2
commit 1816006121
19 changed files with 57 additions and 1107 deletions

View File

@@ -272,3 +272,43 @@ void matrix_scan_user(void) {
ergodox_led_all_on();
}
#ifdef ST7565_ENABLE
void st7565_task_user(void) {
// The colors will need to be ported over to the quantum painter API when
// https://github.com/qmk/qmk_firmware/pull/10174 is merged.
st7565_clear();
switch (get_highest_layer(layer_state)) {
case BASE:
//state->target_lcd_color = LCD_COLOR(84, saturation, 0xFF);
st7565_write_P(PSTR("Default\n"), false);
break;
case CODEFLOW:
//state->target_lcd_color = LCD_COLOR(216, 90, 0xFF);
st7565_write_P(PSTR("Code\n"), false);
break;
case SYMB:
//state->target_lcd_color = LCD_COLOR(168, saturation, 0xFF);
st7565_write_P(PSTR("Symbol\n"), false);
break;
case MDIA:
//state->target_lcd_color = LCD_COLOR(0, saturation, 0xFF);
st7565_write_P(PSTR("Media\n"), false);
break;
case VIM:
//state->target_lcd_color = LCD_COLOR(140, 100, 60);
st7565_write_P(PSTR("Movement\n"), false);
break;
case GAME:
//state->target_lcd_color = LCD_COLOR(0, 255, 60);
st7565_write_P(PSTR("Game\n"), false);
break;
case GAME_ARROW:
//state->target_lcd_color = LCD_COLOR(0, 255, 60);
st7565_write_P(PSTR("Game Arrow\n"), false);
break;
}
}
#endif

View File

@@ -1,5 +1,2 @@
LCD_BACKLIGHT_ENABLE = yes
LCD_ENABLE = yes
BACKLIGHT_ENABLE = yes
KEY_LOCK_ENABLE = yes
CONSOLE_ENABLE = no

View File

@@ -1,39 +0,0 @@
/*
Note: this is a modified copy of ../default/visualizer.c, originally licensed GPL.
*/
#include "simple_visualizer.h"
// This function should be implemented by the keymap visualizer
// Don't change anything else than state->target_lcd_color and state->layer_text as that's the only thing
// that the simple_visualizer assumes that you are updating
// Also make sure that the buffer passed to state->layer_text remains valid until the previous animation is
// stopped. This can be done by either double buffering it or by using constant strings
static void get_visualizer_layer_and_color(visualizer_state_t* state) {
uint8_t saturation = 60;
if (state->status.leds & (1u << USB_LED_CAPS_LOCK)) {
saturation = 255;
}
if (state->status.layer & 0x80) {
state->target_lcd_color = LCD_COLOR(0, 255, 60);
state->layer_text = "Game Arrow";
} else if (state->status.layer & 0x40) {
state->target_lcd_color = LCD_COLOR(0, 255, 60);
state->layer_text = "Game";
} else if (state->status.layer & 0x20) {
state->target_lcd_color = LCD_COLOR(140, 100, 60);
state->layer_text = "Movement";
} else if (state->status.layer & 0x10) {
state->target_lcd_color = LCD_COLOR(0, saturation, 0xFF);
state->layer_text = "Media";
} else if (state->status.layer & 0x8) {
state->target_lcd_color = LCD_COLOR(168, saturation, 0xFF);
state->layer_text = "Symbol";
} else if (state->status.layer & 0x2 || state->status.layer & 0x4) {
state->target_lcd_color = LCD_COLOR(216, 90, 0xFF);
state->layer_text = "Code";
} else {
state->target_lcd_color = LCD_COLOR(84, saturation, 0xFF);
state->layer_text = "Default";
}
}