From a6807d18222295a9a8016d21466f1ec71d73a34a Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 13 May 2021 19:20:31 -0700 Subject: [PATCH] [Keyboard][PloopyCo] Fix code for Mini and Nano Trackballs (#12889) --- .../ploopyco/trackball_mini/trackball_mini.c | 30 ++++++-------- .../ploopyco/trackball_nano/trackball_nano.c | 41 ++++++------------- .../ploopyco/trackball_nano/trackball_nano.h | 2 - 3 files changed, 26 insertions(+), 47 deletions(-) diff --git a/keyboards/ploopyco/trackball_mini/trackball_mini.c b/keyboards/ploopyco/trackball_mini/trackball_mini.c index 4ae5df0837f..d6eb61a2b26 100644 --- a/keyboards/ploopyco/trackball_mini/trackball_mini.c +++ b/keyboards/ploopyco/trackball_mini/trackball_mini.c @@ -105,22 +105,8 @@ __attribute__((weak)) void process_wheel(report_mouse_t* mouse_report) { } __attribute__((weak)) void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) { - // x and y are swapped - // the sensor is rotated - // by 90 degrees - int16_t temp = x; - x = y; - y = temp; - - // Apply delta-X and delta-Y transformations. - float xt = (float) x * ADNS_X_TRANSFORM; - float yt = (float) y * ADNS_Y_TRANSFORM; - - int16_t xti = xt; - int16_t yti = yt; - - mouse_report->x = xti; - mouse_report->y = yti; + mouse_report->x = x; + mouse_report->y = y; } __attribute__((weak)) void process_mouse(report_mouse_t* mouse_report) { @@ -130,7 +116,17 @@ __attribute__((weak)) void process_mouse(report_mouse_t* mouse_report) { if (debug_mouse) dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); - process_mouse_user(mouse_report, data.dx, data.dy); + // Apply delta-X and delta-Y transformations. + // x and y are swapped + // the sensor is rotated + // by 90 degrees + float xt = (float) data.dy * ADNS_X_TRANSFORM; + float yt = (float) data.dx * ADNS_Y_TRANSFORM; + + int16_t xti = (int16_t)xt; + int16_t yti = (int16_t)yt; + + process_mouse_user(mouse_report, xti, yti); } } diff --git a/keyboards/ploopyco/trackball_nano/trackball_nano.c b/keyboards/ploopyco/trackball_nano/trackball_nano.c index 93cb60bd4bd..17cdedac7a7 100644 --- a/keyboards/ploopyco/trackball_nano/trackball_nano.c +++ b/keyboards/ploopyco/trackball_nano/trackball_nano.c @@ -70,33 +70,9 @@ uint16_t lastMidClick = 0; // Stops scrollwheel from being read if it was press uint8_t OptLowPin = OPT_ENC1; bool debug_encoder = false; -__attribute__((weak)) void process_wheel_user(report_mouse_t* mouse_report, int16_t h, int16_t v) { - // There's no scroller on this device. - return; -} - -__attribute__((weak)) void process_wheel(report_mouse_t* mouse_report) { - // There's no scroller on this device. - return; -} - __attribute__((weak)) void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) { - // x and y are swapped - // the sensor is rotated - // by 90 degrees - int16_t temp = x; - x = y; - y = temp; - - // Apply delta-X and delta-Y transformations. - float xt = (float) x * ADNS_X_TRANSFORM; - float yt = (float) y * ADNS_Y_TRANSFORM; - - int16_t xti = xt; - int16_t yti = yt; - - mouse_report->x = xti; - mouse_report->y = yti; + mouse_report->x = x; + mouse_report->y = y; } __attribute__((weak)) void process_mouse(report_mouse_t* mouse_report) { @@ -106,7 +82,17 @@ __attribute__((weak)) void process_mouse(report_mouse_t* mouse_report) { if (debug_mouse) dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); - process_mouse_user(mouse_report, data.dx, data.dy); + // Apply delta-X and delta-Y transformations. + // x and y are swapped + // the sensor is rotated + // by 90 degrees + float xt = (float) data.dy * ADNS_X_TRANSFORM; + float yt = (float) data.dx * ADNS_Y_TRANSFORM; + + int16_t xti = (int16_t)xt; + int16_t yti = (int16_t)yt; + + process_mouse_user(mouse_report, xti, yti); } } @@ -182,7 +168,6 @@ void pointing_device_init(void) { void pointing_device_task(void) { report_mouse_t mouse_report = pointing_device_get_report(); - process_wheel(&mouse_report); process_mouse(&mouse_report); pointing_device_set_report(mouse_report); pointing_device_send(); diff --git a/keyboards/ploopyco/trackball_nano/trackball_nano.h b/keyboards/ploopyco/trackball_nano/trackball_nano.h index 4bffb04607f..5692383b1ea 100644 --- a/keyboards/ploopyco/trackball_nano/trackball_nano.h +++ b/keyboards/ploopyco/trackball_nano/trackball_nano.h @@ -33,8 +33,6 @@ void process_mouse(report_mouse_t* mouse_report); void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y); -void process_wheel(report_mouse_t* mouse_report); -void process_wheel_user(report_mouse_t* mouse_report, int16_t h, int16_t v); #define LAYOUT(k00) {{ KC_NO }}