diff options
Diffstat (limited to 'tmk_core/common')
| -rw-r--r-- | tmk_core/common/chibios/suspend.c | 2 | ||||
| -rw-r--r-- | tmk_core/common/keyboard.c | 19 | ||||
| -rw-r--r-- | tmk_core/common/mousekey.c | 4 | 
3 files changed, 24 insertions, 1 deletions
diff --git a/tmk_core/common/chibios/suspend.c b/tmk_core/common/chibios/suspend.c index 4a119ccefe..6027d69b78 100644 --- a/tmk_core/common/chibios/suspend.c +++ b/tmk_core/common/chibios/suspend.c @@ -82,7 +82,7 @@ void suspend_wakeup_init_user(void) { }   */  __attribute__ ((weak))  void suspend_wakeup_init_kb(void) { -  suspend_power_down_user(); +  suspend_wakeup_init_user();  }  /** \brief suspend wakeup condition diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 52546866eb..85d2525480 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -75,6 +75,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #ifdef QWIIC_ENABLE  #   include "qwiic.h"  #endif +#ifdef OLED_DRIVER_ENABLE +    #include "oled_driver.h" +#endif  #ifdef VELOCIKEY_ENABLE    #include "velocikey.h"  #endif @@ -205,6 +208,9 @@ void keyboard_init(void) {  #ifdef QWIIC_ENABLE      qwiic_init();  #endif +#ifdef OLED_DRIVER_ENABLE +    oled_init(OLED_ROTATION_0); +#endif  #ifdef PS2_MOUSE_ENABLE      ps2_mouse_init();  #endif @@ -262,7 +268,11 @@ void keyboard_task(void)      uint8_t keys_processed = 0;  #endif +#if defined(OLED_DRIVER_ENABLE) && !defined(OLED_DISABLE_TIMEOUT) +    uint8_t ret = matrix_scan(); +#else      matrix_scan(); +#endif      if (is_keyboard_master()) {          for (uint8_t r = 0; r < MATRIX_ROWS; r++) { @@ -306,6 +316,15 @@ MATRIX_LOOP_END:      qwiic_task();  #endif +#ifdef OLED_DRIVER_ENABLE +    oled_task(); +#ifndef OLED_DISABLE_TIMEOUT +    // Wake up oled if user is using those fabulous keys! +    if (ret) +        oled_on(); +#endif +#endif +  #ifdef MOUSEKEY_ENABLE      // mousekey repeat & acceleration      mousekey_task(); diff --git a/tmk_core/common/mousekey.c b/tmk_core/common/mousekey.c index 8c91843063..bb08576b9f 100644 --- a/tmk_core/common/mousekey.c +++ b/tmk_core/common/mousekey.c @@ -114,7 +114,9 @@ void mousekey_task(void) {    /* diagonal move [1/sqrt(2)] */    if (mouse_report.x && mouse_report.y) {      mouse_report.x = times_inv_sqrt2(mouse_report.x); +    if (mouse_report.x == 0) { mouse_report.x = 1; }      mouse_report.y = times_inv_sqrt2(mouse_report.y); +    if (mouse_report.y == 0) { mouse_report.y = 1; }    }    if (mouse_report.v > 0) mouse_report.v = wheel_unit();    if (mouse_report.v < 0) mouse_report.v = wheel_unit() * -1; @@ -232,7 +234,9 @@ void adjust_speed(void) {    // adjust for diagonals    if (mouse_report.x && mouse_report.y) {    mouse_report.x = times_inv_sqrt2(mouse_report.x); +  if (mouse_report.x == 0) { mouse_report.x = 1; }    mouse_report.y = times_inv_sqrt2(mouse_report.y); +  if (mouse_report.y == 0) { mouse_report.y = 1; }    }    if (mouse_report.h && mouse_report.v) {    mouse_report.h = times_inv_sqrt2(mouse_report.h);  | 
