summaryrefslogtreecommitdiffstats
path: root/quantum/pointing_device_drivers.c
Commit message (Collapse)AuthorAgeFilesLines
* [Core] PMW33XX drivers overhaul (#17613)Stefan Kerkmann2022-07-141-60/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Cirque trackpad features: circular scroll, inertial cursor (#17482)Daniel Kao2022-07-121-37/+64
|
* improvements for Cirque Pinnacle trackpads (#17091)Thomas Kriechbaumer2022-06-251-11/+34
|
* Add support for large Mouse Reports (#16371)Drashna Jaelre2022-06-081-25/+37
| | | | Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* Add support for multiple sensors to pmw3360 (#15996)uqs2022-04-191-2/+2
|
* Add GET_TAPPING_TERM macro to reduce duplicate code (#16681)Jouke Witteveen2022-04-161-11/+3
| | | | | | | | | | | | | * 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>
* Format code according to conventions (#16322)QMK Bot2022-02-121-8/+16
|
* Pass in the keyrecord_t of the dual-role/tapping key when calling per-key ↵precondition2022-02-111-1/+1
| | | | | | | 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
* Add PMW3389 optical sensor Support (Updated) (#15740)Alabastard-642022-01-111-0/+36
| | | Co-authored-by: Drashna Jaelre <drashna@live.com>
* pwm3360 driver cleanup and diff reduction to adns9800 (#15559)uqs2021-12-271-3/+2
| | | | | | | | | | | | * 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.
* [Core] Split support for pointing devices. (#15304)Dasky2021-12-271-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Rework and expand Pointing Device support (#14343)Drashna Jaelre2021-11-141-0/+262
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>