diff options
Diffstat (limited to 'keyboards/ploopyco/trackball/trackball.c')
-rw-r--r-- | keyboards/ploopyco/trackball/trackball.c | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/keyboards/ploopyco/trackball/trackball.c b/keyboards/ploopyco/trackball/trackball.c index 7b7b680271..94f2843460 100644 --- a/keyboards/ploopyco/trackball/trackball.c +++ b/keyboards/ploopyco/trackball/trackball.c @@ -140,7 +140,7 @@ __attribute__((weak)) void process_mouse(report_mouse_t* mouse_report) { if (debug_mouse) dprintf("Cons] X: %d, Y: %d\n", data.dx, data.dy); // dprintf("Elapsed:%u, X: %f Y: %\n", i, pgm_read_byte(firmware_data+i)); - process_mouse_user(mouse_report, data.dx, data.dy); + process_mouse_user(mouse_report, data.dx, -data.dy); } } @@ -172,27 +172,9 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { if (IS_MOUSEKEY_BUTTON(keycode)) { report_mouse_t currentReport = pointing_device_get_report(); if (record->event.pressed) { - if (keycode == KC_MS_BTN1) - currentReport.buttons |= MOUSE_BTN1; - else if (keycode == KC_MS_BTN2) - currentReport.buttons |= MOUSE_BTN2; - else if (keycode == KC_MS_BTN3) - currentReport.buttons |= MOUSE_BTN3; - else if (keycode == KC_MS_BTN4) - currentReport.buttons |= MOUSE_BTN4; - else if (keycode == KC_MS_BTN5) - currentReport.buttons |= MOUSE_BTN5; + currentReport.buttons |= 1 << (keycode - KC_MS_BTN1); } else { - if (keycode == KC_MS_BTN1) - currentReport.buttons &= ~MOUSE_BTN1; - else if (keycode == KC_MS_BTN2) - currentReport.buttons &= ~MOUSE_BTN2; - else if (keycode == KC_MS_BTN3) - currentReport.buttons &= ~MOUSE_BTN3; - else if (keycode == KC_MS_BTN4) - currentReport.buttons &= ~MOUSE_BTN4; - else if (keycode == KC_MS_BTN5) - currentReport.buttons &= ~MOUSE_BTN5; + currentReport.buttons &= ~(1 << (keycode - KC_MS_BTN1)); } pointing_device_set_report(currentReport); pointing_device_send(); |