Updating OLED Layout

- test drove a graphics heavy layout but it was too much
- Going back to a more minimalist layout
This commit is contained in:
Victor 2024-06-20 08:04:20 -05:00
parent 5227e86273
commit 409bf5b702
Failed to generate hash of commit
4 changed files with 329 additions and 66 deletions

View file

@ -6,38 +6,53 @@
// Shows the currently enabled Layer name
void render_layer_state(void) {
void render_default_layer_state(void) {
switch (get_highest_layer(layer_state)) {
case _NAVIGATION:
oled_write_P(PSTR(OLED_RENDER_LAYER_2), false);
break;
case _NUMBER:
oled_write_P(PSTR(OLED_RENDER_LAYER_3), false);
break;
case _SYMBOL:
oled_write_P(PSTR(OLED_RENDER_LAYER_4), false);
break;
case _CONFIG:
oled_write_P(PSTR(OLED_RENDER_LAYER_5), false);
switch (get_highest_layer(default_layer_state)) {
case _DEFAULT_LAYER_2:
oled_write_P(PSTR(OLED_RENDER_DEFAULT_LAYER2), false);
break;
case _DEFAULT_LAYER_3:
oled_write_P(PSTR(OLED_RENDER_DEFAULT_LAYER3), false);
break;
default:
switch (get_highest_layer(default_layer_state)) {
case _DEFAULT_LAYER_2:
oled_write_P(PSTR(OLED_RENDER_DEFAULT_LAYER2), false);
break;
case _DEFAULT_LAYER_3:
oled_write_P(PSTR(OLED_RENDER_DEFAULT_LAYER3), false);
break;
default:
oled_write_P(PSTR(OLED_RENDER_DEFAULT_LAYER1), false);
break;
}
oled_write_P(PSTR(OLED_RENDER_DEFAULT_LAYER1), false);
break;
}
}
// Shows the currently enabled Layer name
void render_layer_state(void) {
oled_write_P(PSTR(OLED_RENDER_LAYER_2), get_highest_layer(layer_state) == _NAVIGATION);
oled_write_P(PSTR(OLED_RENDER_LAYER_3), get_highest_layer(layer_state) == _NUMBER);
oled_write_P(PSTR(OLED_RENDER_LAYER_4), get_highest_layer(layer_state) == _SYMBOL);
oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _CONFIG);
/*
switch (get_highest_layer(layer_state)) {
case _NAVIGATION:
oled_write_P(PSTR(OLED_RENDER_LAYER_2), get_highest_layer(layer_state) == _NAVIGATION);
break;
case _NUMBER:
oled_write_P(PSTR(OLED_RENDER_LAYER_3), get_highest_layer(layer_state) == _NUMBER);
break;
case _SYMBOL:
oled_write_P(PSTR(OLED_RENDER_LAYER_4), get_highest_layer(layer_state) == _SYMBOL);
break;
case _CONFIG:
oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _CONFIG);
break;
default:
oled_write_P(PSTR(OLED_RENDER_LAYER_1), false);
break;
}
*/
}
// Graphic to show which layer on the stack is enabled
void render_layer_state_graphic(void) {
@ -64,15 +79,17 @@ void render_layer_state_graphic(void) {
// Shows the Host LED State (Num lock, caps lock , scroll lock)
void render_keylock_status(bool vertical) {
/*
if (vertical) {
oled_write_ln_P(PSTR(OLED_RENDER_KEYLOCK_NAME), false);
oled_write_P(PSTR(" "), false);
}
*/
host_keyboard_led_state().num_lock ? oled_write_P(num_on, false ) : oled_write_P(num_off, false );
host_keyboard_led_state().caps_lock || is_caps_word_on() ? oled_write_P(caps_on, false ) : oled_write_P(caps_off, false );
host_keyboard_led_state().scroll_lock ? oled_write_P(scroll_on, false ) : oled_write_P(scroll_off, false );
}
// Indicates which modifies are enabled
@ -81,20 +98,25 @@ void render_mod_status(bool vertical) {
uint8_t current_mod = get_mods();
uint8_t current_osm = get_oneshot_mods();
if (vertical) {
oled_write_ln_P(PSTR(OLED_RENDER_MODS_NAME), false);
oled_write_P(PSTR(" "), false);
}
oled_set_cursor(1,1);
(current_mod | current_osm) & MOD_MASK_SHIFT ? oled_write_P(shift_on_upper, false) : oled_write_P(shift_off_upper, false );
oled_set_cursor(1,2);
(current_mod | current_osm) & MOD_MASK_SHIFT ? oled_write_P(shift_on_lower, false) : oled_write_P(shift_off_lower, false );
(current_mod | current_osm) & MOD_MASK_SHIFT ? oled_write_P(shift_on, false) : oled_write_P(shift_off, false );
(current_mod | current_osm) & MOD_MASK_CTRL ? oled_write_P(ctrl_on, false ) : oled_write_P(ctrl_off, false );
oled_set_cursor(1,4);
(current_mod | current_osm) & MOD_MASK_CTRL ? oled_write_P(ctrl_on_upper, false ) : oled_write_P(ctrl_off_upper, false );
oled_set_cursor(1,5);
(current_mod | current_osm) & MOD_MASK_CTRL ? oled_write_P(ctrl_on_lower, false ) : oled_write_P(ctrl_off_lower, false );
if (vertical) {
oled_write_P(PSTR(" "), false);
}
oled_set_cursor(1,7);
(current_mod | current_osm) & MOD_MASK_ALT ? oled_write_P(alt_on_upper, false ) : oled_write_P(alt_off_upper, false );
oled_set_cursor(1,8);
(current_mod | current_osm) & MOD_MASK_ALT ? oled_write_P(alt_on_lower, false ) : oled_write_P(alt_off_lower, false );
(current_mod | current_osm) & MOD_MASK_ALT ? oled_write_P(alt_on, false ): oled_write_P(alt_off, false );
(current_mod | current_osm) & MOD_MASK_GUI ? oled_write_P(gui_on, false ): oled_write_P(gui_off, false );
oled_set_cursor(1,10);
(current_mod | current_osm) & MOD_MASK_GUI ? oled_write_P(gui_on_upper, false ) : oled_write_P(gui_off_upper, false );
oled_set_cursor(1,11);
(current_mod | current_osm) & MOD_MASK_GUI ? oled_write_P(gui_on_lower, false ) : oled_write_P(gui_off_lower, false );
}
@ -179,19 +201,18 @@ bool oled_task_user(void) {
if (is_keyboard_master()) {
oled_set_cursor(0,0);
render_keylock_status(true);
render_default_layer_state();
render_layer_state();
//render_keylock_status(true);
/*
oled_set_cursor(0,3);
render_feature_status(true);
*/
#if defined(WPM_ENABLE)
oled_set_cursor(0,7);
oled_write_P(PSTR(OLED_RENDER_WPM_NAME), false);
oled_set_cursor(1,8);
oled_write_P(get_u8_str(get_current_wpm(), ' '), false);
render_luna();
#endif //WPM_ENABLE
@ -199,16 +220,11 @@ bool oled_task_user(void) {
} else {
oled_set_cursor(0,0);
render_layer_state();
oled_set_cursor(0,2);
render_layer_state_graphic();
oled_set_cursor(0,7);
render_mod_status(true);
oled_set_cursor(0,13);
oled_write_P(qmk_logo_small, false);
oled_set_cursor(1,14);
render_keylock_status(true);
}
#endif

View file

@ -22,6 +22,7 @@
# define OLED_RENDER_DEFAULT_LAYER2 "Clmak"
# define OLED_RENDER_DEFAULT_LAYER3 "Game "
# define OLED_RENDER_LAYER_1 " "
# define OLED_RENDER_LAYER_2 " Nav "
# define OLED_RENDER_LAYER_3 " Num "
# define OLED_RENDER_LAYER_4 " Sym "
@ -45,26 +46,34 @@ void render_mod_status(bool vertical);
void render_feature_status(bool vertical);
static const char PROGMEM scroll_off[] = {0x8D, 0};
static const char PROGMEM scroll_on[] = {0x8E, 0};
static const char PROGMEM scroll_off[] = {0xC0, 0};
static const char PROGMEM scroll_on[] = {0xC1, 0};
static const char PROGMEM num_off[] = {0xAD, 0};
static const char PROGMEM num_on[] = {0xAE, 0};
static const char PROGMEM num_off[] = {0xC2, 0};
static const char PROGMEM num_on[] = {0xC3, 0};
static const char PROGMEM caps_off[] = {0xCD, 0};
static const char PROGMEM caps_on[] = {0xCE, 0};
static const char PROGMEM caps_off[] = {0xC4, 0};
static const char PROGMEM caps_on[] = {0xC5, 0};
static const char PROGMEM shift_off[] = {0x85, 0x86, 0};
static const char PROGMEM shift_on[] = {0x87, 0x88, 0};
static const char PROGMEM shift_off_upper[] = {0x80, 0x81, 0x82, 0};
static const char PROGMEM shift_off_lower[] = {0xA0, 0xA1, 0xA2, 0};
static const char PROGMEM shift_on_upper[] = {0x83, 0x84, 0x85, 0};
static const char PROGMEM shift_on_lower[] = {0xA3, 0xA4, 0xA5, 0};
static const char PROGMEM ctrl_off[] = {0xA9, 0xAA, 0};
static const char PROGMEM ctrl_on[] = {0xAB, 0xAC, 0};
static const char PROGMEM ctrl_off_upper[] = {0x86, 0x87, 0x88, 0};
static const char PROGMEM ctrl_off_lower[] = {0xA6, 0xA7, 0xA8, 0};
static const char PROGMEM ctrl_on_upper[] = {0x89, 0x8A, 0x8B, 0};
static const char PROGMEM ctrl_on_lower[] = {0xA9, 0xAA, 0xAB, 0};
static const char PROGMEM alt_off[] = {0xA5, 0xA6, 0};
static const char PROGMEM alt_on[] = {0xA7, 0xA8, 0};
static const char PROGMEM alt_off_upper[] = {0x8C, 0x8D, 0x8E, 0};
static const char PROGMEM alt_off_lower[] = {0xAC, 0xAD, 0xAE, 0};
static const char PROGMEM alt_on_upper[] = {0x8F, 0x90, 0x91, 0};
static const char PROGMEM alt_on_lower[] = {0xAF, 0xB0, 0xB1, 0};
static const char PROGMEM gui_off[] = {0x89, 0x8A, 0};
static const char PROGMEM gui_on[] = {0x8B, 0x8C, 0};
static const char PROGMEM gui_off_upper[] = {0x92, 0x93, 0x94, 0};
static const char PROGMEM gui_off_lower[] = {0xB2, 0xB3, 0xB4, 0};
static const char PROGMEM gui_on_upper[] = {0x95, 0x96, 0x97, 0};
static const char PROGMEM gui_on_lower[] = {0xB5, 0xB6, 0xB7, 0};
static const char PROGMEM rgb_off[] = {0xC5, 0xC6, 0};
static const char PROGMEM rgb_on[] = {0xC7, 0xC8, 0};