diff --git a/keyboards/kyria/keymaps/frederik/config.h b/keyboards/kyria/keymaps/frederik/config.h index 6128133e..ba90c77d 100644 --- a/keyboards/kyria/keymaps/frederik/config.h +++ b/keyboards/kyria/keymaps/frederik/config.h @@ -26,6 +26,7 @@ #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_SLEEP + #define RGBLIGHT_LAYERS #endif // EC11K encoders have a different resolution than other EC11 encoders. diff --git a/keyboards/kyria/keymaps/frederik/keymap.c b/keyboards/kyria/keymaps/frederik/keymap.c index 6d0bfe26..6cae1b02 100644 --- a/keyboards/kyria/keymaps/frederik/keymap.c +++ b/keyboards/kyria/keymaps/frederik/keymap.c @@ -24,11 +24,12 @@ uint16_t ctrl_tab_timer = 0; uint16_t copy_paste_timer; enum layers { - QWERTY = 0, + QWERTY, LOWER, RAISE, NAV, - ADJUST + ADJUST, + WoW }; enum custom_keycodes { @@ -44,17 +45,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| |------+------+------+------+------+--------| * | LSFT | A | S | D | F | G | | H | J | K | L | ; : | ' " | * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | LCTL | Z | X | C | V | B | CCCV | Bspc | | Del |Leader| N | M | , < | . > | / ? | - _ | + * | LCTL | Z | X | C | V | B | CCCV | WoW | | Del |Leader| N | M | , < | . > | / ? | - _ | * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | GUI | Alt | | Space| Enter| | Bspc | Space| | Tab | AltGr| - * | | | Lower| Shift| Alt | | | Nav | Raise| | | + * | GUI | Alt | | Space| Enter| |Enter | Space| | Tab | AltGr| + * | | | Lower| | | | | Nav | Raise| | | * `----------------------------------' `----------------------------------' */ [QWERTY] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE, - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_CCCV, KC_BSPC, KC_DEL, KC_LEAD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, - KC_LGUI, KC_LALT, MO(LOWER), MT(MOD_LSFT, KC_SPC), MT(MOD_LALT, KC_ENT), KC_BSPC, LT(NAV, KC_SPC), MO(RAISE), KC_TAB, KC_RALT + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_CCCV, TG(WoW), /*--*/ KC_DEL, KC_LEAD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, + KC_LGUI,KC_LALT,MO(LOWER), LT(KC_LSFT, KC_SPC), KC_ENT, /*--*/ KC_ENT, LT(NAV, KC_SPC), MO(RAISE), KC_TAB, KC_RALT ), /* * Lower Layer: Numpad, Media @@ -74,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_VOLU, _______, _______, KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_ASTR, KC_4, KC_5, KC_6, KC_COMM, KC_PLUS, _______, _______, _______, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_EQL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE + _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, KC_MUTE ), /* * Raise Layer: Symbols @@ -136,6 +137,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + + // /* +// * Layer template +// * +// * ,-------------------------------------------. ,-------------------------------------------. +// * | | | | | | | | | | | | | | +// * |--------+------+------+------+------+------| |------+------+------+------+------+--------| +// * | | | | | | | | | | | | | | +// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +// * | | | | | | | | | | | | | | | | | | +// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' +// * | | | | | | | | | | | | +// * | | | | | | | | | | | | +// * `----------------------------------' `----------------------------------' +// */ + [WoW] = LAYOUT( + KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , _______, _______, _______, _______, _______, _______, + KC_LSFT, _______, KC_Q , KC_W , KC_E , KC_R , _______, _______, _______, _______, _______, _______, + _______, _______, KC_A , KC_S , KC_D , KC_F , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_TAB , KC_SPC , KC_C , KC_T , _______, _______, _______, KC_DOT , _______ + ), + // /* // * Layer template // * @@ -158,9 +181,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ), }; -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, LOWER, RAISE, ADJUST); -} +// layer_state_t layer_state_set_user(layer_state_t state) { +// return update_tri_layer_state(state, LOWER, RAISE, ADJUST); +// } bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { @@ -255,16 +278,187 @@ static void render_kyria_logo(void) { oled_write_raw_P(kyria_logo, sizeof(kyria_logo)); } +#ifdef RGBLIGHT_ENABLE + + +const rgblight_segment_t PROGMEM QWERTY_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_BLUE} +); +const rgblight_segment_t PROGMEM LOWER_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_CYAN} +); +const rgblight_segment_t PROGMEM RAISE_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_PURPLE} +); +const rgblight_segment_t PROGMEM NAV_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_GREEN} +); +const rgblight_segment_t PROGMEM ADJUST_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_YELLOW} +); +const rgblight_segment_t PROGMEM WoW_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_ORANGE} +); +const rgblight_segment_t PROGMEM CAPS_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_RED} +); + +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + QWERTY_layer, + LOWER_layer, // Overrides caps lock layer + RAISE_layer, + NAV_layer, + ADJUST_layer, + WoW_layer, + CAPS_layer + + // Overrides other layers +); + +void keyboard_post_init_user(void) { + rgblight_layers = my_rgb_layers; + // rgblight_enable_noeeprom(); // Enables RGB, without saving settings + // rgblight_sethsv_noeeprom(HSV_BLUE); + // rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); +} + +layer_state_t layer_state_set_user(layer_state_t state) { + + for (int i = 0; i < sizeof(my_rgb_layers)/sizeof(my_rgb_layers[0]); i++) { + rgblight_set_layer_state(i, layer_state_cmp(state, i)); + } + + return update_tri_layer_state(state, LOWER, RAISE, ADJUST); + +} + +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(6, led_state.caps_lock); + return true; +} + +#endif + +// static void render_wow_logo(void) { +// static const char PROGMEM wow_logo[] = { +// 0x00, 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x82, 0x82, +// 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xC2, 0xE2, 0xE2, 0xF2, +// 0xF2, 0xFA, 0xFA, 0xFA, 0xFA, 0xFE, 0xFC, 0xFC, 0xFC, 0xDC, +// 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0x9C, 0x1C, 0x1C, 0x3C, 0x3A, +// 0x3A, 0x3A, 0x72, 0x72, 0x72, 0xE2, 0x42, 0x42, 0x02, 0x02, +// 0x02, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x02, 0x02, +// 0x02, 0x02, 0x02, 0xFE, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, +// 0x3F, 0x1F, 0x0F, 0x1F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, +// 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x13, +// 0x3F, 0x03, 0x21, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x01, 0x03, 0x07, 0x07, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, +// 0x80, 0x00, 0x80, 0xC0, 0xC0, 0x80, 0x00, 0x80, 0xC0, 0xC0, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, +// 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xC0, +// 0xF8, 0xFE, 0xFF, 0x3F, 0x0F, 0x13, 0x78, 0x10, 0x00, 0x00, +// 0x81, 0x07, 0x7F, 0xFF, 0xFF, 0xFF, 0xF3, 0xE3, 0xF1, 0xE1, +// 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0xCF, 0xFC, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, 0xFF, +// 0xFF, 0x0F, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +// 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1F, 0x7F, 0x78, +// 0x7F, 0x07, 0x0F, 0x7F, 0x78, 0x7F, 0x0F, 0x3E, 0x7F, 0x77, +// 0x63, 0x63, 0x7F, 0x3E, 0x00, 0x7F, 0x7F, 0x03, 0x01, 0x00, +// 0x7F, 0x7F, 0x3E, 0x7F, 0x77, 0x63, 0x63, 0x7F, 0x7F, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFE, 0xFF, 0xFF, 0x0F, +// 0x60, 0x7E, 0xFE, 0xFC, 0xFC, 0xFC, 0xF0, 0xF0, 0xE0, 0x80, +// 0x00, 0x03, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xE0, +// 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFF, 0xDF, 0xF8, 0xF8, 0xE0, +// 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, +// 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x0E, 0xFE, 0xFE, 0xC0, 0x03, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, +// 0x80, 0x00, 0x80, 0xF0, 0xF0, 0xB0, 0x90, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x80, 0x3F, 0xFF, 0x7F, 0x00, 0x00, 0x01, +// 0x03, 0x03, 0x03, 0x00, 0x05, 0x19, 0x01, 0x00, 0x00, 0x00, +// 0x00, 0x07, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xC0, +// 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF0, +// 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0xF8, 0xFF, 0xFF, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x3B, 0x31, 0x31, 0x3F, 0x1F, +// 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +// 0xFF, 0x0F, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +// 0xFF, 0x3F, 0x1F, 0x3F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF8, 0xFF, 0x7F, +// 0x0F, 0x03, 0xF0, 0xCF, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x70, 0xF0, 0xE0, 0x00, 0xE0, 0xF0, 0xF0, 0xE0, 0x00, +// 0xE0, 0xF0, 0x30, 0x40, 0x40, 0xC0, 0xC0, 0xC0, 0x80, 0x00, +// 0xC0, 0xC0, 0xC0, 0x40, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, +// 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x40, 0x00, 0x40, 0x40, 0xC0, +// 0xC0, 0xC0, 0x80, 0x40, 0xF8, 0xF8, 0x58, 0x48, 0xF0, 0xF0, +// 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0x80, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, +// 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x00, +// 0x00, 0x00, 0x06, 0x07, 0x03, 0x03, 0x01, 0x01, 0x01, 0x03, +// 0x02, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, +// 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xE3, 0x00, 0x00, 0x00, 0x00, +// 0xFF, 0x0F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x07, 0x1F, 0x1E, 0x1F, 0x01, 0x03, 0x1F, 0x1E, 0x1F, 0x03, +// 0x0C, 0x1E, 0x1E, 0x1E, 0x1A, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, +// 0x00, 0x00, 0x0F, 0x1F, 0x1D, 0x18, 0x18, 0x18, 0x00, 0x00, +// 0x1F, 0x1F, 0x00, 0x00, 0x0C, 0x1E, 0x1E, 0x1E, 0x1A, 0x1F, +// 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x1F, 0x1F, 0x18, 0x10, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x80, +// 0x80, 0x80, 0x80, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x80, +// 0x80, 0x80, 0x80, 0x80, 0x85, 0x86, 0x8E, 0x8E, 0x9C, 0x9C, +// 0xBC, 0xB8, 0x38, 0x38, 0x38, 0x78, 0x78, 0x70, 0x70, 0x78, +// 0x78, 0x78, 0x78, 0x38, 0x38, 0xBC, 0xBC, 0xBC, 0x9E, 0x9E, +// 0x9E, 0x8F, 0x8F, 0x87, 0x83, 0x83, 0x81, 0x83, 0x83, 0x83, +// 0x83, 0x83, 0x83, 0x81, 0x80, 0x80, 0x80, 0x80, 0x7F, 0x00, +// 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// 0x00, 0x00, 0x00, 0x00 +// }; +// oled_write_raw_P(wow_logo, sizeof(wow_logo)); +// } + static void render_qmk_logo(void) { static const char PROGMEM qmk_logo[] = { 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; - + oled_write_P(qmk_logo, false); } static void render_status(void) { + // QMK Logo and version information render_qmk_logo(); oled_write_P(PSTR("Kyria: Frederik\n\n"), false); @@ -287,6 +481,9 @@ static void render_status(void) { case ADJUST: oled_write_P(PSTR("Adjust\n"), false); break; + case WoW: + oled_write_P(PSTR("Warcraft\n"), false); + break; default: oled_write_P(PSTR("Undefined\n"), false); } @@ -300,7 +497,11 @@ static void render_status(void) { void oled_task_user(void) { if (is_keyboard_master()) { - render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + if (layer_state_is(WoW)) { + render_status(); + } else { + render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } } else { render_kyria_logo(); }