aboutsummaryrefslogtreecommitdiff
path: root/users/drashna/oled_stuff.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/drashna/oled_stuff.c')
-rw-r--r--users/drashna/oled_stuff.c37
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
19extern bool host_driver_disabled; 23extern 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
157void render_matrix_scan_rate(void) { 163void 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
328void render_wpm(uint8_t padding) { 334void 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)
347extern kb_config_data_t kb_config; 348extern kb_config_data_t kb_config;
348void render_pointing_dpi_status(uint8_t padding) { 349void 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