diff options
author | Drashna Jaelre <drashna@live.com> | 2021-11-01 15:42:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 09:42:50 +1100 |
commit | 9d235d4fc5c34f372b0c393f41686b5ef4f8dc13 (patch) | |
tree | c155fae4cd6043c3c32aa185eb05c5d1a4a5700e /drivers | |
parent | f775da96b17ceec66bac279434325b4da5cb9467 (diff) |
[Core] Change OLED task function to be boolean (#14864)
* [Core] Add kb level callbacks to OLED driver
* Update keyboards and keymaps
* Update docs
* Update userspace configs
* Add fix for my keymap ...
* update lefty
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/oled/oled_driver.h | 4 | ||||
-rw-r--r-- | drivers/oled/ssd1306_sh1106.c | 10 |
2 files changed, 9 insertions, 5 deletions
diff --git a/drivers/oled/oled_driver.h b/drivers/oled/oled_driver.h index 13b73ede9d..3b56d370dc 100644 --- a/drivers/oled/oled_driver.h +++ b/drivers/oled/oled_driver.h @@ -190,6 +190,7 @@ bool oled_init(oled_rotation_t rotation); // Called at the start of oled_init, weak function overridable by the user // rotation - the value passed into oled_init // Return new oled_rotation_t if you want to override default rotation +oled_rotation_t oled_init_kb(oled_rotation_t rotation); oled_rotation_t oled_init_user(oled_rotation_t rotation); // Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering @@ -285,7 +286,8 @@ uint8_t oled_get_brightness(void); void oled_task(void); // Called at the start of oled_task, weak function overridable by the user -void oled_task_user(void); +bool oled_task_kb(void); +bool oled_task_user(void); // Set the specific 8 lines rows of the screen to scroll. // 0 is the default for start, and 7 for end, which is the entire diff --git a/drivers/oled/ssd1306_sh1106.c b/drivers/oled/ssd1306_sh1106.c index e9049438f5..d9bd3c14bd 100644 --- a/drivers/oled/ssd1306_sh1106.c +++ b/drivers/oled/ssd1306_sh1106.c @@ -167,7 +167,7 @@ bool oled_init(oled_rotation_t rotation) { } #endif - oled_rotation = oled_init_user(rotation); + oled_rotation = oled_init_user(oled_init_kb(rotation)); if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { oled_rotation_width = OLED_DISPLAY_WIDTH; } else { @@ -232,6 +232,7 @@ bool oled_init(oled_rotation_t rotation) { return true; } +__attribute__((weak)) oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return rotation; } __attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return rotation; } void oled_clear(void) { @@ -741,11 +742,11 @@ void oled_task(void) { if (timer_elapsed(oled_update_timeout) >= OLED_UPDATE_INTERVAL) { oled_update_timeout = timer_read(); oled_set_cursor(0, 0); - oled_task_user(); + oled_task_kb(); } #else oled_set_cursor(0, 0); - oled_task_user(); + oled_task_kb(); #endif #if OLED_SCROLL_TIMEOUT > 0 @@ -776,4 +777,5 @@ void oled_task(void) { #endif } -__attribute__((weak)) void oled_task_user(void) {} +__attribute__((weak)) bool oled_task_kb(void) { return oled_task_user(); } +__attribute__((weak)) bool oled_task_user(void) { return true; } |