diff options
author | フィルターペーパー <[email protected]> | 2023-09-25 10:25:24 +0800 |
---|---|---|
committer | GitHub <[email protected]> | 2023-09-25 12:25:24 +1000 |
commit | 246f3cb4d2d84df7869709d0f9ae5f3e2d99d4cc (patch) | |
tree | 5d193c1e8860a17e4f09478276f7f8a9ddb272f8 /quantum | |
parent | 99290b4c7e891e69ca161d79c74a0e32014645bb (diff) | |
download | qmk_firmware-246f3cb4d2d84df7869709d0f9ae5f3e2d99d4cc.tar.gz qmk_firmware-246f3cb4d2d84df7869709d0f9ae5f3e2d99d4cc.zip |
Improve directional transition of overlapping mouse keys (#21494)
Diffstat (limited to 'quantum')
-rw-r--r-- | quantum/mousekey.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/quantum/mousekey.c b/quantum/mousekey.c index c982a2f40b..3910811752 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -389,7 +389,20 @@ void mousekey_on(uint8_t code) { if (mouse_timer == 0) { mouse_timer = timer_read(); } -# endif /* #ifdef MK_KINETIC_SPEED */ +# endif + +# ifndef MOUSEKEY_INERTIA + // If mouse report is not zero, the current mousekey press is overlapping + // with another. Restart acceleration for smoother directional transition. + if (mouse_report.x || mouse_report.y || mouse_report.h || mouse_report.v) { +# ifdef MK_KINETIC_SPEED + mouse_timer = timer_read() - (MOUSEKEY_INTERVAL << 2); +# else + mousekey_repeat = MOUSEKEY_MOVE_DELTA; + mousekey_wheel_repeat = MOUSEKEY_WHEEL_DELTA; +# endif + } +# endif // ifndef MOUSEKEY_INERTIA # ifdef MOUSEKEY_INERTIA |