aboutsummaryrefslogtreecommitdiffstats
path: root/users/ninjonas/oled.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/ninjonas/oled.c')
-rw-r--r--users/ninjonas/oled.c47
1 files changed, 32 insertions, 15 deletions
diff --git a/users/ninjonas/oled.c b/users/ninjonas/oled.c
index 721038e15..285b0364e 100644
--- a/users/ninjonas/oled.c
+++ b/users/ninjonas/oled.c
@@ -2,7 +2,7 @@
#include <stdio.h>
#include "ninjonas.h"
-#ifdef OLED_DRIVER_ENABLE
+#if defined(OLED_DRIVER_ENABLE) & !defined(KEYBOARD_kyria_rev1)
static uint32_t oled_timer = 0;
extern uint8_t is_master;
@@ -21,7 +21,7 @@ bool process_record_oled(uint16_t keycode, keyrecord_t *record) {
return true;
}
-void render_default_layer_state(void) {
+void render_layout_state(void) {
oled_write_P(PSTR("Layout: "), false);
switch (biton32(default_layer_state)) {
case _COLEMAK:
@@ -38,26 +38,43 @@ void render_default_layer_state(void) {
}
}
+void oled_white_space(void){
+ oled_write_P(PSTR(" "), false);
+}
+
void render_layer_state(void) {
- oled_write_P(PSTR("\nLayer:"), false);
- oled_write_P(PSTR(" LOW"), layer_state_is(_LOWER));
- oled_write_P(PSTR(" RAI"), layer_state_is(_RAISE));
- oled_write_P(PSTR(" ADJ"), layer_state_is(_ADJUST));
+ oled_write_P(PSTR("\nLayer:"), false);
+ bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST);
+ bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST);
+ bool adjust = layer_state_is(_ADJUST);
+
+ if(lower){
+ oled_write_P(PSTR(" Lower "), true);
+ } else if(raise){
+ oled_write_P(PSTR(" Raise "), true);
+ } else if(adjust){
+ oled_write_P(PSTR(" Adjust "), true);
+ } else {
+ oled_write_P(PSTR(" Default"), false);
+ }
}
-void render_mod_status(uint8_t modifiers) {
- oled_write_P(PSTR("\nMods: "), false);
- oled_write_P(PSTR("SHF "), (modifiers & MOD_MASK_SHIFT));
- oled_write_P(PSTR("CTL "), (modifiers & MOD_MASK_CTRL));
- oled_write_P(PSTR("ALT "), (modifiers & MOD_MASK_ALT));
- oled_write_P(PSTR("GUI"), (modifiers & MOD_MASK_GUI));
+void render_mod_state(uint8_t modifiers) {
+ oled_write_P(PSTR("\nMods: "), false);
+ oled_write_P(PSTR("SHF"), (modifiers & MOD_MASK_SHIFT));
+ oled_white_space();
+ oled_write_P(PSTR("CTL"), (modifiers & MOD_MASK_CTRL));
+ oled_white_space();
+ oled_write_P(PSTR("ALT"), (modifiers & MOD_MASK_ALT));
+ oled_white_space();
+ oled_write_P(PSTR("GUI"), (modifiers & MOD_MASK_GUI));
}
void render_status(void){
- render_default_layer_state();
+ render_layout_state();
oled_write_P(PSTR("\n"), false);
render_layer_state();
- render_mod_status(get_mods()|get_oneshot_mods());
+ render_mod_state(get_mods()|get_oneshot_mods());
}
static void render_logo(void) {
@@ -71,7 +88,7 @@ static void render_logo(void) {
}
void oled_task_user(void) {
- if (timer_elapsed32(oled_timer) > 30000) {
+ if (timer_elapsed32(oled_timer) > 15000) {
oled_off();
return;
}