diff options
author | Nick Brassel <nick@tzarc.org> | 2023-05-29 06:17:24 +1000 |
---|---|---|
committer | Nick Brassel <nick@tzarc.org> | 2023-05-29 06:17:24 +1000 |
commit | 5024370dd0b441e86ace3089193e84c5b050d892 (patch) | |
tree | b661d5b154be987f9c3dba3a526b70e0b63f9fef /quantum/pointing_device/pointing_device_drivers.c | |
parent | 16767e4d59c2334fcd2d5e6556a68d5ff60ffd7b (diff) | |
parent | 8b1d86eabf399e82af7738fb675b9c74195d0f98 (diff) |
Merge branch 'develop'
Diffstat (limited to 'quantum/pointing_device/pointing_device_drivers.c')
-rw-r--r-- | quantum/pointing_device/pointing_device_drivers.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/quantum/pointing_device/pointing_device_drivers.c b/quantum/pointing_device/pointing_device_drivers.c index d6f29c062e..9a4315f76f 100644 --- a/quantum/pointing_device/pointing_device_drivers.c +++ b/quantum/pointing_device/pointing_device_drivers.c @@ -50,6 +50,28 @@ const pointing_device_driver_t pointing_device_driver = { }; // clang-format on +#elif defined(POINTING_DEVICE_DRIVER_pmw3320) +report_mouse_t pmw3320_get_report(report_mouse_t mouse_report) { + report_pmw3320_t data = pmw3320_read_burst(); + + if (data.dx != 0 || data.dy != 0) { + pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); + mouse_report.x = (mouse_xy_report_t)data.dx; + mouse_report.y = (mouse_xy_report_t)data.dy; + } + + return mouse_report; +} + +// clang-format off +const pointing_device_driver_t pointing_device_driver = { + .init = pmw3320_init, + .get_report = pmw3320_get_report, + .set_cpi = pmw3320_set_cpi, + .get_cpi = pmw3320_get_cpi, +}; +// clang-format on + #elif defined(POINTING_DEVICE_DRIVER_adns9800) report_mouse_t adns9800_get_report_driver(report_mouse_t mouse_report) { |