aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kyria/keymaps/ninjonas/oled.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kyria/keymaps/ninjonas/oled.c')
-rw-r--r--keyboards/kyria/keymaps/ninjonas/oled.c40
1 files changed, 39 insertions, 1 deletions
diff --git a/keyboards/kyria/keymaps/ninjonas/oled.c b/keyboards/kyria/keymaps/ninjonas/oled.c
index 419c1b727..65976205b 100644
--- a/keyboards/kyria/keymaps/ninjonas/oled.c
+++ b/keyboards/kyria/keymaps/ninjonas/oled.c
@@ -105,8 +105,12 @@ void oled_white_space(void){
105 oled_write_P(PSTR(" "), false); 105 oled_write_P(PSTR(" "), false);
106} 106}
107 107
108void oled_slash_separator(void){
109 oled_write_P(PSTR(" / "), false);
110}
111
108void render_layout_state(void) { 112void render_layout_state(void) {
109 oled_write_P(PSTR("\nLayout: "), false); 113 oled_write_P(PSTR("Layout: "), false);
110 switch (biton32(default_layer_state)) { 114 switch (biton32(default_layer_state)) {
111 case _COLEMAK: 115 case _COLEMAK:
112 oled_write_P(PSTR("Colemak"), false); 116 oled_write_P(PSTR("Colemak"), false);
@@ -121,6 +125,37 @@ void render_layout_state(void) {
121 oled_write_ln_P(PSTR("Undefined"), false); 125 oled_write_ln_P(PSTR("Undefined"), false);
122 } 126 }
123} 127}
128#ifdef ENCODER_ENABLE
129static void render_encoder_state(void) {
130 oled_write_P(PSTR("\nEnc: "), false);
131 bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST);
132 bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST);
133 bool adjust = layer_state_is(_ADJUST);
134
135 if(lower){
136 oled_write_P(PSTR("APPSW"), left_encoder_rotated);
137 oled_slash_separator();
138 oled_write_P(PSTR("UPDN"), right_encoder_rotated);
139 } else if(raise){
140 oled_write_P(PSTR("PGUD"), left_encoder_rotated);
141 oled_slash_separator();
142 oled_write_P(PSTR("TABSW"), right_encoder_rotated);
143 } else if(adjust){
144 oled_write_P(PSTR("RHUE"), left_encoder_rotated);
145 oled_slash_separator();
146 oled_write_P(PSTR("RBRI"), right_encoder_rotated);
147 } else {
148 oled_write_P(PSTR("BRI"), left_encoder_rotated);
149 oled_slash_separator();
150 oled_write_P(PSTR("VOL"), right_encoder_rotated);
151 }
152
153 if (timer_elapsed(encoder_rotated_timer) > 200) {
154 left_encoder_rotated = false;
155 right_encoder_rotated = false;
156 }
157}
158#endif
124 159
125static void render_layer_state(void) { 160static void render_layer_state(void) {
126 oled_write_P(PSTR("\nLayer:"), false); 161 oled_write_P(PSTR("\nLayer:"), false);
@@ -156,6 +191,9 @@ void render_mod_state(uint8_t modifiers) {
156static void render_status(void) { 191static void render_status(void) {
157 render_qmk_logo(); 192 render_qmk_logo();
158 render_layout_state(); 193 render_layout_state();
194 #ifdef ENCODER_ENABLE
195 render_encoder_state();
196 #endif
159 render_layer_state(); 197 render_layer_state();
160 render_mod_state(get_mods()|get_oneshot_mods()); 198 render_mod_state(get_mods()|get_oneshot_mods());
161} 199}