~ruther/qmk_firmware

a6807d18222295a9a8016d21466f1ec71d73a34a — Drashna Jaelre 4 years ago f594b22
[Keyboard][PloopyCo] Fix code for Mini and Nano Trackballs (#12889)

M keyboards/ploopyco/trackball_mini/trackball_mini.c => keyboards/ploopyco/trackball_mini/trackball_mini.c +13 -17
@@ 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);
    }
}


M keyboards/ploopyco/trackball_nano/trackball_nano.c => keyboards/ploopyco/trackball_nano/trackball_nano.c +13 -28
@@ 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();

M keyboards/ploopyco/trackball_nano/trackball_nano.h => keyboards/ploopyco/trackball_nano/trackball_nano.h +0 -2
@@ 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 }}