summaryrefslogtreecommitdiffstats
path: root/quantum/mousekey.c
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2022-03-13 17:01:47 -0700
committerGitHub <noreply@github.com>2022-03-14 00:01:47 +0000
commit921b9dad6c37575215231b34a3492ffb38eaeec2 (patch)
treecc08338fad283e7d442e73870c24eacc3e956977 /quantum/mousekey.c
parentcc9a2aef0f533adb239a2e2b8a37f81fe6b5b951 (diff)
[Core] Move `has_mouse_report_changed` function to `report.c` (#16543)
* Move 'has_mouse_report_changed' checkto report.c * change mousekeys to use memcpy * fix linting issues
Diffstat (limited to 'quantum/mousekey.c')
-rw-r--r--quantum/mousekey.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/quantum/mousekey.c b/quantum/mousekey.c
index 8bafbf977a..0cbb472045 100644
--- a/quantum/mousekey.c
+++ b/quantum/mousekey.c
@@ -209,7 +209,7 @@ static uint8_t wheel_unit(void) {
void mousekey_task(void) {
// report cursor and scroll movement independently
- report_mouse_t const tmpmr = mouse_report;
+ report_mouse_t tmpmr = mouse_report;
mouse_report.x = 0;
mouse_report.y = 0;
@@ -251,8 +251,10 @@ void mousekey_task(void) {
}
}
- if (mouse_report.x || mouse_report.y || mouse_report.v || mouse_report.h) mousekey_send();
- mouse_report = tmpmr;
+ if (has_mouse_report_changed(&mouse_report, &tmpmr)) {
+ mousekey_send();
+ }
+ memcpy(&mouse_report, &tmpmr, sizeof(tmpmr));
}
void mousekey_on(uint8_t code) {
@@ -340,11 +342,11 @@ uint16_t w_intervals[mkspd_COUNT] = {MK_W_INTERVAL_UNMOD, MK_W_INTERVAL_0
void mousekey_task(void) {
// report cursor and scroll movement independently
- report_mouse_t const tmpmr = mouse_report;
- mouse_report.x = 0;
- mouse_report.y = 0;
- mouse_report.v = 0;
- mouse_report.h = 0;
+ report_mouse_t tmpmr = mouse_report;
+ mouse_report.x = 0;
+ mouse_report.y = 0;
+ mouse_report.v = 0;
+ mouse_report.h = 0;
if ((tmpmr.x || tmpmr.y) && timer_elapsed(last_timer_c) > c_intervals[mk_speed]) {
mouse_report.x = tmpmr.x;
@@ -355,8 +357,10 @@ void mousekey_task(void) {
mouse_report.h = tmpmr.h;
}
- if (mouse_report.x || mouse_report.y || mouse_report.v || mouse_report.h) mousekey_send();
- mouse_report = tmpmr;
+ if (has_mouse_report_changed(&mouse_report, &tmpmr)) {
+ mousekey_send();
+ }
+ memcpy(&mouse_report, &tmpmr, sizeof(tmpmr));
}
void adjust_speed(void) {