diff options
Diffstat (limited to 'users/drashna/oled_stuff.c')
| -rw-r--r-- | users/drashna/oled_stuff.c | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/users/drashna/oled_stuff.c b/users/drashna/oled_stuff.c index 396e5e05b..2c92ac6e9 100644 --- a/users/drashna/oled_stuff.c +++ b/users/drashna/oled_stuff.c | |||
| @@ -15,6 +15,10 @@ | |||
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | #include "drashna.h" | 17 | #include "drashna.h" |
| 18 | #ifdef CUSTOM_UNICODE_ENABLE | ||
| 19 | # include "process_unicode_common.h" | ||
| 20 | #endif | ||
| 21 | #include <string.h> | ||
| 18 | 22 | ||
| 19 | extern bool host_driver_disabled; | 23 | extern bool host_driver_disabled; |
| 20 | 24 | ||
| @@ -59,7 +63,7 @@ void add_keylog(uint16_t keycode, keyrecord_t *record) { | |||
| 59 | return; | 63 | return; |
| 60 | } | 64 | } |
| 61 | if (record->tap.count) { | 65 | if (record->tap.count) { |
| 62 | keycode = keycode & 0xFF; | 66 | keycode &= 0xFF; |
| 63 | } else if (keycode > 0xFF) { | 67 | } else if (keycode > 0xFF) { |
| 64 | return; | 68 | return; |
| 65 | } | 69 | } |
| @@ -150,8 +154,10 @@ void render_keylock_status(uint8_t led_usb_state) { | |||
| 150 | oled_write_P(PSTR(OLED_RENDER_LOCK_NUML), led_usb_state & (1 << USB_LED_NUM_LOCK)); | 154 | oled_write_P(PSTR(OLED_RENDER_LOCK_NUML), led_usb_state & (1 << USB_LED_NUM_LOCK)); |
| 151 | oled_write_P(PSTR(" "), false); | 155 | oled_write_P(PSTR(" "), false); |
| 152 | oled_write_P(PSTR(OLED_RENDER_LOCK_CAPS), led_usb_state & (1 << USB_LED_CAPS_LOCK)); | 156 | oled_write_P(PSTR(OLED_RENDER_LOCK_CAPS), led_usb_state & (1 << USB_LED_CAPS_LOCK)); |
| 153 | // oled_write_P(PSTR(" "), false); | 157 | #if defined(OLED_DISPLAY_128X64) |
| 154 | // oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); | 158 | oled_write_P(PSTR(" "), false); |
| 159 | oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); | ||
| 160 | #endif | ||
| 155 | } | 161 | } |
| 156 | 162 | ||
| 157 | void render_matrix_scan_rate(void) { | 163 | void render_matrix_scan_rate(void) { |
| @@ -296,7 +302,7 @@ void render_user_status(void) { | |||
| 296 | oled_write_P(rgb_layer_status[userspace_config.rgb_layer_change], false); | 302 | oled_write_P(rgb_layer_status[userspace_config.rgb_layer_change], false); |
| 297 | static const char PROGMEM cat_mode[2][3] = {{0xF8, 0xF9, 0}, {0xF6, 0xF7, 0}}; | 303 | static const char PROGMEM cat_mode[2][3] = {{0xF8, 0xF9, 0}, {0xF6, 0xF7, 0}}; |
| 298 | oled_write_P(cat_mode[0], host_driver_disabled); | 304 | oled_write_P(cat_mode[0], host_driver_disabled); |
| 299 | #if defined(UNICODE_ENABLE) | 305 | #if defined(CUSTOM_UNICODE_ENABLE) |
| 300 | static const char PROGMEM uc_mod_status[5][3] = {{0xEA, 0xEB, 0}, {0xEC, 0xED, 0}}; | 306 | static const char PROGMEM uc_mod_status[5][3] = {{0xEA, 0xEB, 0}, {0xEC, 0xED, 0}}; |
| 301 | oled_write_P(uc_mod_status[get_unicode_input_mode() == UC_MAC], false); | 307 | oled_write_P(uc_mod_status[get_unicode_input_mode() == UC_MAC], false); |
| 302 | #endif | 308 | #endif |
| @@ -327,39 +333,28 @@ void oled_driver_render_logo(void) { | |||
| 327 | 333 | ||
| 328 | void render_wpm(uint8_t padding) { | 334 | void render_wpm(uint8_t padding) { |
| 329 | #ifdef WPM_ENABLE | 335 | #ifdef WPM_ENABLE |
| 330 | uint8_t n = get_current_wpm(); | 336 | |
| 331 | char wpm_counter[4]; | ||
| 332 | wpm_counter[3] = '\0'; | ||
| 333 | wpm_counter[2] = '0' + n % 10; | ||
| 334 | wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; | ||
| 335 | wpm_counter[0] = n / 10 ? '0' + n / 10 : ' '; | ||
| 336 | oled_write_P(PSTR(OLED_RENDER_WPM_COUNTER), false); | 337 | oled_write_P(PSTR(OLED_RENDER_WPM_COUNTER), false); |
| 337 | if (padding) { | 338 | if (padding) { |
| 338 | for (uint8_t n = padding; n > 0; n--) { | 339 | for (uint8_t n = padding; n > 0; n--) { |
| 339 | oled_write_P(PSTR(" "), false); | 340 | oled_write_P(PSTR(" "), false); |
| 340 | } | 341 | } |
| 341 | } | 342 | } |
| 342 | oled_write(wpm_counter, false); | 343 | oled_write(get_u8_str(get_current_wpm(), ' '), false); |
| 343 | #endif | 344 | #endif |
| 344 | } | 345 | } |
| 345 | 346 | ||
| 346 | #if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right) | 347 | #if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right) |
| 347 | extern kb_config_data_t kb_config; | 348 | extern kb_config_data_t kb_config; |
| 348 | void render_pointing_dpi_status(uint8_t padding) { | 349 | void render_pointing_dpi_status(uint8_t padding) { |
| 349 | char dpi_status[5]; | 350 | oled_write_P(PSTR("CPI:"), false); |
| 350 | uint16_t n = kb_config.device_cpi; | ||
| 351 | dpi_status[4] = '\0'; | ||
| 352 | dpi_status[3] = '0' + n % 10; | ||
| 353 | dpi_status[2] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; | ||
| 354 | dpi_status[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; | ||
| 355 | dpi_status[0] = n / 10 ? '0' + n / 10 : ' '; | ||
| 356 | oled_write_P(PSTR("DPI: "), false); | ||
| 357 | if (padding) { | 351 | if (padding) { |
| 358 | for (uint8_t n = padding; n > 0; n--) { | 352 | for (uint8_t n = padding - 1; n > 0; n--) { |
| 359 | oled_write_P(PSTR(" "), false); | 353 | oled_write_P(PSTR(" "), false); |
| 360 | } | 354 | } |
| 361 | } | 355 | } |
| 362 | oled_write(dpi_status, false); | 356 | |
| 357 | oled_write(get_u16_str(kb_config.device_cpi, ' '), false); | ||
| 363 | } | 358 | } |
| 364 | #endif | 359 | #endif |
| 365 | 360 | ||
