aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ploopyco/mouse/mouse.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ploopyco/mouse/mouse.c')
-rw-r--r--keyboards/ploopyco/mouse/mouse.c25
1 files changed, 6 insertions, 19 deletions
diff --git a/keyboards/ploopyco/mouse/mouse.c b/keyboards/ploopyco/mouse/mouse.c
index 1eb5e3ead..0bf96a20f 100644
--- a/keyboards/ploopyco/mouse/mouse.c
+++ b/keyboards/ploopyco/mouse/mouse.c
@@ -247,7 +247,6 @@ void pointing_device_init(void) {
247 opt_encoder_init(); 247 opt_encoder_init();
248} 248}
249 249
250bool has_report_changed(report_mouse_t new, report_mouse_t old) { return (new.buttons != old.buttons) || (new.x && new.x != old.x) || (new.y && new.y != old.y) || (new.h && new.h != old.h) || (new.v && new.v != old.v); }
251 250
252void pointing_device_task(void) { 251void pointing_device_task(void) {
253 report_mouse_t mouse_report = pointing_device_get_report(); 252 report_mouse_t mouse_report = pointing_device_get_report();
@@ -256,7 +255,12 @@ void pointing_device_task(void) {
256 255
257 if (is_drag_scroll) { 256 if (is_drag_scroll) {
258 mouse_report.h = mouse_report.x; 257 mouse_report.h = mouse_report.x;
258#ifdef PLOOPY_DRAGSCROLL_INVERT
259 // Invert vertical scroll direction
260 mouse_report.v = -mouse_report.y;
261#else
259 mouse_report.v = mouse_report.y; 262 mouse_report.v = mouse_report.y;
263#endif
260 mouse_report.x = 0; 264 mouse_report.x = 0;
261 mouse_report.y = 0; 265 mouse_report.y = 0;
262 } 266 }
@@ -265,27 +269,10 @@ void pointing_device_task(void) {
265 pointing_device_send(); 269 pointing_device_send();
266} 270}
267 271
268void pointing_device_send(void) {
269 static report_mouse_t old_report = {};
270 report_mouse_t mouseReport = pointing_device_get_report();
271
272 // If you need to do other things, like debugging, this is the place to do it.
273 if (has_report_changed(mouseReport, old_report)) {
274 host_mouse_send(&mouseReport);
275 }
276
277 // send it and 0 it out except for buttons, so those stay until they are explicity over-ridden using update_pointing_device
278 mouseReport.x = 0;
279 mouseReport.y = 0;
280 mouseReport.v = 0;
281 mouseReport.h = 0;
282 pointing_device_set_report(mouseReport);
283 old_report = mouseReport;
284}
285
286void eeconfig_init_kb(void) { 272void eeconfig_init_kb(void) {
287 keyboard_config.dpi_config = PLOOPY_DPI_DEFAULT; 273 keyboard_config.dpi_config = PLOOPY_DPI_DEFAULT;
288 eeconfig_update_kb(keyboard_config.raw); 274 eeconfig_update_kb(keyboard_config.raw);
275 eeconfig_init_user();
289} 276}
290 277
291void matrix_init_kb(void) { 278void matrix_init_kb(void) {