qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

commit 43f8d365ba01b1e61b0c6cbbf6ef28eea9dee2b9
parent 1e402060a668d8edf72279c84c4083d9e3c0dacd
Author: Drashna Jaelre <drashna@live.com>
Date:   Tue, 28 Jun 2022 15:28:44 -0700

[Bug] Fix issue with mousekey movement getting stuck (#17493)

* [Bug] Fix issue with mousekey movement getting stuck

* Lint
Diffstat:
Mquantum/mousekey.c | 8++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/quantum/mousekey.c b/quantum/mousekey.c @@ -70,6 +70,10 @@ uint8_t mk_wheel_interval = MOUSEKEY_WHEEL_INTERVAL; uint8_t mk_wheel_max_speed = MOUSEKEY_WHEEL_MAX_SPEED; uint8_t mk_wheel_time_to_max = MOUSEKEY_WHEEL_TIME_TO_MAX; +bool should_mousekey_report_send(report_mouse_t *mouse_report) { + return mouse_report->x || mouse_report->y || mouse_report->v || mouse_report->h; +} + # ifndef MK_COMBINED static uint8_t move_unit(void) { @@ -252,7 +256,7 @@ void mousekey_task(void) { } } - if (has_mouse_report_changed(&mouse_report, &tmpmr)) { + if (has_mouse_report_changed(&mouse_report, &tmpmr) || should_mousekey_report_send(&mouse_report)) { mousekey_send(); } memcpy(&mouse_report, &tmpmr, sizeof(tmpmr)); @@ -358,7 +362,7 @@ void mousekey_task(void) { mouse_report.h = tmpmr.h; } - if (has_mouse_report_changed(&mouse_report, &tmpmr)) { + if (has_mouse_report_changed(&mouse_report, &tmpmr) || should_mousekey_report_send(&mouse_report)) { mousekey_send(); } memcpy(&mouse_report, &tmpmr, sizeof(tmpmr));