summaryrefslogtreecommitdiff
path: root/quantum/pointing_device_drivers.c
AgeCommit message (Collapse)Author
2022-07-14[Core] PMW33XX drivers overhaul (#17613)Stefan Kerkmann
* PMW33XX drivers overhaul This combines the PMW3389 and PM3360 drivers as they only differ in the firmware blobs and CPI get and set functions. The following changes have been made: * PMW3389 now gets the same multi-sensor feature that is already available on the PMW3360. * Introduced a shared pmw33xx_report_t struct is now directly readable via SPI transactions instead of individual byte-sized reads, saving multiple copies and bitshift operations. * pmw33(89/60)_get_report functions had unreachable branches in their motion detection logic these have been simplied as much as possible. * The fast firmware upload option has been removed as this becomes obsolete by the newly introduced polled waiting functions for ChibiOS polled waiting * PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options have been removed as they don't need to be configurable. * All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix to reduce code duplication and make the defines interchangeable * Adjust keyboards to PMW33XX naming scheme
2022-07-12Cirque trackpad features: circular scroll, inertial cursor (#17482)Daniel Kao
2022-06-25improvements for Cirque Pinnacle trackpads (#17091)Thomas Kriechbaumer
2022-06-08Add support for large Mouse Reports (#16371)Drashna Jaelre
Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2022-04-19Add support for multiple sensors to pmw3360 (#15996)uqs
2022-04-16Add GET_TAPPING_TERM macro to reduce duplicate code (#16681)Jouke Witteveen
* Add GET_TAPPING_TERM macro to reduce duplicate code The macro gives the right tapping term depending on whether per-key tapping terms and/or dynamic tapping terms are enabled. Unnecessary function calls and variable resolution are avoided. Fixes #16472. * Use GET_TAPPING_TERM for Cirque trackpads Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-02-12Format code according to conventions (#16322)QMK Bot
2022-02-11Pass in the keyrecord_t of the dual-role/tapping key when calling per-key ↵precondition
tap hold functions (#15938) * Replace keyp by &tapping_key in the record arg of per-key tap hold funcs * Replace NULL by &(keyrecord_t){} in 2nd arg of get_tapping_term
2022-01-11Add PMW3389 optical sensor Support (Updated) (#15740)Alabastard-64
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-12-27pwm3360 driver cleanup and diff reduction to adns9800 (#15559)uqs
* Diff reduction between ADNS9800 and PMW3360 drivers. They are very similar devices. This (somewhat) unreadable diff is essentially a no-op, but it makes a `vimdiff` between the 2 drivers much more readable. * Cleanup pwm3360 driver some more. Remove redundant calls to spi_start() and spi_stop(), as pmw3360_write() will already call these.
2021-12-27[Core] Split support for pointing devices. (#15304)Dasky
* Draft implementation * formatting * fix combined buttons * remove pimoroni throttle * sync pointing on a throttle loop with checksum * no longer used * doh Co-authored-by: Drashna Jaelre <drashna@live.com> * switch pimoroni to a cpi equivalent * add cpi support * allow user modification of seperate mouse reports * a little tidy up * add *_RIGHT defines. * docs * doxygen comments * basic changelog * clean up pimoroni * small doc fixes * Update docs/feature_pointing_device.md Co-authored-by: Drashna Jaelre <drashna@live.com> * performance tweak if side has usb * Don't run init funtions on wrong side * renamed some variables for consistency * fix pimoroni typos * Clamp instead of OR * Promote combined values to uint16_t * Update pointing_device.c Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-11-14Rework and expand Pointing Device support (#14343)Drashna Jaelre
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>