aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/kyria/keymaps/ninjonas/oled.c
diff options
context:
space:
mode:
authorJonas Avellana <14019120+ninjonas@users.noreply.github.com>2020-03-13 17:56:21 -0600
committerGitHub <noreply@github.com>2020-03-13 16:56:21 -0700
commit0fdd37ee19d07d6f15217074dd3291fda4c4cb2f (patch)
tree595a398a2977755695c1903cdf71b6fcf2ce03aa /keyboards/kyria/keymaps/ninjonas/oled.c
parent40e8d60ecd68c1c43e1fc911e993626943930fd0 (diff)
downloadfirmware-0fdd37ee19d07d6f15217074dd3291fda4c4cb2f.tar.gz
firmware-0fdd37ee19d07d6f15217074dd3291fda4c4cb2f.tar.bz2
firmware-0fdd37ee19d07d6f15217074dd3291fda4c4cb2f.zip
[Keymap] ninjonas keymap updates (#8373)
* [keymap(ninjonas)] ninjonas keymap updates * [refactor] switching encoder rotation logic. recent pull seems to have flipped encoder stuff * [keymap(lily58)] added chrome change profile key on RAISE Co-authored-by: Jonas Avellana <jonas.avellana@workday.com>
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){
oled_write_P(PSTR(" "), false);
}
+void oled_slash_separator(void){
+ oled_write_P(PSTR(" / "), false);
+}
+
void render_layout_state(void) {
- oled_write_P(PSTR("\nLayout: "), false);
+ oled_write_P(PSTR("Layout: "), false);
switch (biton32(default_layer_state)) {
case _COLEMAK:
oled_write_P(PSTR("Colemak"), false);
@@ -121,6 +125,37 @@ void render_layout_state(void) {
oled_write_ln_P(PSTR("Undefined"), false);
}
}
+#ifdef ENCODER_ENABLE
+static void render_encoder_state(void) {
+ oled_write_P(PSTR("\nEnc: "), 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("APPSW"), left_encoder_rotated);
+ oled_slash_separator();
+ oled_write_P(PSTR("UPDN"), right_encoder_rotated);
+ } else if(raise){
+ oled_write_P(PSTR("PGUD"), left_encoder_rotated);
+ oled_slash_separator();
+ oled_write_P(PSTR("TABSW"), right_encoder_rotated);
+ } else if(adjust){
+ oled_write_P(PSTR("RHUE"), left_encoder_rotated);
+ oled_slash_separator();
+ oled_write_P(PSTR("RBRI"), right_encoder_rotated);
+ } else {
+ oled_write_P(PSTR("BRI"), left_encoder_rotated);
+ oled_slash_separator();
+ oled_write_P(PSTR("VOL"), right_encoder_rotated);
+ }
+
+ if (timer_elapsed(encoder_rotated_timer) > 200) {
+ left_encoder_rotated = false;
+ right_encoder_rotated = false;
+ }
+}
+#endif
static void render_layer_state(void) {
oled_write_P(PSTR("\nLayer:"), false);
@@ -156,6 +191,9 @@ void render_mod_state(uint8_t modifiers) {
static void render_status(void) {
render_qmk_logo();
render_layout_state();
+ #ifdef ENCODER_ENABLE
+ render_encoder_state();
+ #endif
render_layer_state();
render_mod_state(get_mods()|get_oneshot_mods());
}