|
|
@@ -18,61 +18,59 @@
|
|
|
|
|
|
// Defines names for use in layer keycodes and the keymap
|
|
|
enum layer_names {
|
|
|
- _QWERTY = 0,
|
|
|
- _LOWER,
|
|
|
- _RAISE,
|
|
|
- _ADJUST
|
|
|
+ _QWERTY,
|
|
|
+ _LOWER,
|
|
|
+ _RAISE,
|
|
|
+ _ADJUST
|
|
|
};
|
|
|
|
|
|
#ifdef OLED_ENABLE
|
|
|
|
|
|
void render_status(void) {
|
|
|
+ // Render to mode icon
|
|
|
+ static const char os_logo[][2][3] PROGMEM = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}};
|
|
|
+ if (is_mac_mode()) {
|
|
|
+ oled_write_P(os_logo[0][0], false);
|
|
|
+ oled_write_P(PSTR("\n"), false);
|
|
|
+ oled_write_P(os_logo[0][1], false);
|
|
|
+ } else {
|
|
|
+ oled_write_P(os_logo[1][0], false);
|
|
|
+ oled_write_P(PSTR("\n"), false);
|
|
|
+ oled_write_P(os_logo[1][1], false);
|
|
|
+ }
|
|
|
|
|
|
- // Render to mode icon
|
|
|
- static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
|
|
|
- if (is_mac_mode()) {
|
|
|
- oled_write_P(os_logo[0][0], false);
|
|
|
- oled_write_P(PSTR("\n"), false);
|
|
|
- oled_write_P(os_logo[0][1], false);
|
|
|
- }else{
|
|
|
- oled_write_P(os_logo[1][0], false);
|
|
|
- oled_write_P(PSTR("\n"), false);
|
|
|
- oled_write_P(os_logo[1][1], false);
|
|
|
- }
|
|
|
-
|
|
|
- oled_write_P(PSTR(" "), false);
|
|
|
+ oled_write_P(PSTR(" "), false);
|
|
|
|
|
|
- // Host Keyboard Layer Status
|
|
|
- oled_write_P(PSTR("Layer: "), false);
|
|
|
+ // Host Keyboard Layer Status
|
|
|
+ oled_write_P(PSTR("Layer: "), false);
|
|
|
|
|
|
- switch (get_highest_layer(layer_state)) {
|
|
|
- case _QWERTY:
|
|
|
- oled_write_P(PSTR("Default\n"), false);
|
|
|
- break;
|
|
|
- case _RAISE:
|
|
|
- oled_write_P(PSTR("Raise\n"), false);
|
|
|
- break;
|
|
|
- case _LOWER:
|
|
|
- oled_write_P(PSTR("Lower\n"), false);
|
|
|
- break;
|
|
|
- case _ADJUST:
|
|
|
- oled_write_P(PSTR("Adjust\n"), false);
|
|
|
- break;
|
|
|
- default:
|
|
|
- // Or use the write_ln shortcut over adding '\n' to the end of your string
|
|
|
- oled_write_ln_P(PSTR("Undefined"), false);
|
|
|
- }
|
|
|
+ switch (get_highest_layer(layer_state)) {
|
|
|
+ case _QWERTY:
|
|
|
+ oled_write_P(PSTR("Default\n"), false);
|
|
|
+ break;
|
|
|
+ case _RAISE:
|
|
|
+ oled_write_P(PSTR("Raise\n"), false);
|
|
|
+ break;
|
|
|
+ case _LOWER:
|
|
|
+ oled_write_P(PSTR("Lower\n"), false);
|
|
|
+ break;
|
|
|
+ case _ADJUST:
|
|
|
+ oled_write_P(PSTR("Adjust\n"), false);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
|
|
|
+ oled_write_ln_P(PSTR("Undefined"), false);
|
|
|
+ }
|
|
|
|
|
|
- oled_write_P(PSTR("\n"), false);
|
|
|
+ oled_write_P(PSTR("\n"), false);
|
|
|
|
|
|
- // Host Keyboard LED Status
|
|
|
- led_t led_state = host_keyboard_led_state();
|
|
|
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
|
|
- oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
|
|
- oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
|
|
+ // Host Keyboard LED Status
|
|
|
+ led_t led_state = host_keyboard_led_state();
|
|
|
+ oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
|
|
+ oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
|
|
+ oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
static void render_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,
|
|
|
@@ -84,35 +82,38 @@ static void render_logo(void) {
|
|
|
}
|
|
|
|
|
|
static void render_rgbled_status(bool full) {
|
|
|
-#ifdef RGBLIGHT_ENABLE
|
|
|
- if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
|
|
|
- if (full) {
|
|
|
- // " LED %d:%d,%d,%d"
|
|
|
- oled_write_P(PSTR(" LED"), false);
|
|
|
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
|
|
|
- oled_write_char(':', false);
|
|
|
- oled_write(get_u8_str(rgblight_get_hue()/RGBLIGHT_HUE_STEP, ' '), false);
|
|
|
- oled_write_char(',', false);
|
|
|
- oled_write(get_u8_str(rgblight_get_sat()/RGBLIGHT_SAT_STEP, ' '), false);
|
|
|
- oled_write_char(',', false);
|
|
|
- oled_write(get_u8_str(rgblight_get_val()/RGBLIGHT_VAL_STEP, ' '), false);
|
|
|
- } else {
|
|
|
- // "[%2d] "
|
|
|
- oled_write_char('[', false);
|
|
|
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
|
|
|
- oled_write_char(']', false);
|
|
|
+# ifdef RGBLIGHT_ENABLE
|
|
|
+ if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
|
|
|
+ if (full) {
|
|
|
+ // " LED %d:%d,%d,%d"
|
|
|
+ oled_write_P(PSTR(" LED"), false);
|
|
|
+ oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
|
|
|
+ oled_write_char(':', false);
|
|
|
+ oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false);
|
|
|
+ oled_write_char(',', false);
|
|
|
+ oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false);
|
|
|
+ oled_write_char(',', false);
|
|
|
+ oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false);
|
|
|
+ } else {
|
|
|
+ // "[%2d] "
|
|
|
+ oled_write_char('[', false);
|
|
|
+ oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
|
|
|
+ oled_write_char(']', false);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
-#endif
|
|
|
+# endif
|
|
|
}
|
|
|
|
|
|
-bool oled_task_user(void) {
|
|
|
- if(is_keyboard_master()){
|
|
|
- render_status();
|
|
|
- }else{
|
|
|
- render_logo();
|
|
|
- render_rgbled_status(true);
|
|
|
- }
|
|
|
- return false;
|
|
|
+bool oled_task_kb(void) {
|
|
|
+ if (!oled_task_user()) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (is_keyboard_master()) {
|
|
|
+ render_status();
|
|
|
+ } else {
|
|
|
+ render_logo();
|
|
|
+ render_rgbled_status(true);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
}
|
|
|
#endif
|