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 | ||