~ruther/qmk_firmware

43f8d365ba01b1e61b0c6cbbf6ef28eea9dee2b9 — Drashna Jaelre 3 years ago 1e40206
[Bug] Fix issue with mousekey movement getting stuck (#17493)

* [Bug] Fix issue with mousekey movement getting stuck

* Lint
1 files changed, 6 insertions(+), 2 deletions(-)

M quantum/mousekey.c
M quantum/mousekey.c => quantum/mousekey.c +6 -2
@@ 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));