[Keyboard][PloopyCo] Fix code for Mini and Nano Trackballs (#12889)

This commit is contained in:
Drashna Jaelre 2021-05-13 19:20:31 -07:00 committed by GitHub
parent f594b22332
commit a6807d1822
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 47 deletions

View file

@ -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);
}
}

View file

@ -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();

View file

@ -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 }}