summaryrefslogtreecommitdiff
path: root/quantum/encoder.c
AgeCommit message (Collapse)Author
2024-02-18Add encoder abstraction. (#21548)Nick Brassel
2024-02-18Update GPIO macro usages in core (#23093)Ryan
2023-07-16quantum: remove direct `quantum.h` includes (#21507)Ryan
2023-04-03Add core/fallback encoder behaviour (#20320)jack
2023-04-03[Core] Refactor `keyevent_t` for 1ms timing resolution (#15847)Stefan Kerkmann
2022-11-14Only trigger encoder callbacks on primary side (#18467)Drashna Jaelre
Co-authored-by: zvecr <git@zvecr.com>
2022-08-28Use `TAP_CODE_DELAY` for encoder mapping by default (#18098)Nick Brassel
2022-07-02Improve ENCODER_DEFAULT_POS to recognize lost ticks (#16932)Marek Wyborski
2022-03-09Add support for encoder mapping. (#13286)Nick Brassel
2022-03-08Asymmetric encoders, encoder tests. (#16068)Nick Brassel
2022-02-22Merge remote-tracking branch 'upstream/master' into developfauxpark
2022-02-21Fix a potential bug in encoder_init(). (#16372)Takeshi ISHII
After executing `setPinInputHigh(pin)`, it is necessary to wait for the charging time to read from the corresponding pin. This is the same as requiring `matrix_output_unselect_delay()` after doing `unselect_row()` in matrix.c.
2022-02-12Format code according to conventions (#16322)QMK Bot
2021-11-27[Bug] Revert Assymmetrical Split Encoder support (#12090) (#15311)Drashna Jaelre
* Revert "fix broken macro in transport.h (#15239)" This reverts commit 06f18e22d9aff0afa4dce101a6a1b2cae5511365. * Revert "Rework encoders to enable asymmetric split keyboards (#12090)" This reverts commit 32215d5bff52262542a2f8d2a221b0303f02c019.
2021-11-20Rework encoders to enable asymmetric split keyboards (#12090)Balz Guenat
Co-authored-by: Balz Guenat <balz.guenat@siemens.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-18Allow for removal of hysteresis on 4x encoders (#13698)tucvbif
* Remove hysteresis on 4x encoders Sometimes, controller skips encoder pulses and when it returns to default position, the encoder_pulses variable isn't equals 0. And when I turn encoder in opposite direciton, it skips first click becase of encoder_pulses crosses zero. To prevent this, I add the ENCODER_DEFAULT_POS constant, and reset encoder_pulses into 0 when the state variable equals ENCODER_DEFAULT_POS. * Documentation for ENCODER_DEFAULT_POS
2021-05-21Convert Encoder callbacks to be boolean functions (#12805)Drashna Jaelre
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-01-21Keep track of encoder activity (#11595)Nick Brassel
* Keep track of encoder activity, provide API for either matrix/encoder. * Fixup build when no RGBLIGHT or Backlight enabled.
2020-11-282020 November 28 Breaking Changes Update (#11053)James Young
* Branch point for 2020 November 28 Breaking Change * Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183) * Add support for soft serial to ATmega32U2 (#10204) * Change MIDI velocity implementation to allow direct control of velocity value (#9940) * Add ability to build a subset of all keyboards based on platform. * Actually use eeprom_driver_init(). * Make bootloader_jump weak for ChibiOS. (#10417) * Joystick 16-bit support (#10439) * Per-encoder resolutions (#10259) * Share button state from mousekey to pointing_device (#10179) * Add hotfix for chibios keyboards not wake (#10088) * Add advanced/efficient RGB Matrix Indicators (#8564) * Naming change. * Support for STM32 GPIOF,G,H,I,J,K (#10206) * Add milc as a dependency and remove the installed milc (#10563) * ChibiOS upgrade: early init conversions (#10214) * ChibiOS upgrade: configuration file migrator (#9952) * Haptic and solenoid cleanup (#9700) * XD75 cleanup (#10524) * OLED display update interval support (#10388) * Add definition based on currently-selected serial driver. (#10716) * New feature: Retro Tapping per key (#10622) * Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638) * Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) * Rescale both ChibiOS and AVR backlighting. * Reduce Helix keyboard build variation (#8669) * Minor change to behavior allowing display updates to continue between task ticks (#10750) * Some GPIO manipulations in matrix.c change to atomic. (#10491) * qmk cformat (#10767) * [Keyboard] Update the Speedo firmware for v3.0 (#10657) * Maartenwut/Maarten namechange to evyd13/Evy (#10274) * [quantum] combine repeated lines of code (#10837) * Add step sequencer feature (#9703) * aeboards/ext65 refactor (#10820) * Refactor xelus/dawn60 for Rev2 later (#10584) * add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824) * [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549) * update chibios os usb for the otg driver (#8893) * Remove HD44780 References, Part 4 (#10735) * [Keyboard] Add Valor FRL TKL (+refactor) (#10512) * Fix cursor position bug in oled_write_raw functions (#10800) * Fixup version.h writing when using SKIP_VERSION=yes (#10972) * Allow for certain code in the codebase assuming length of string. (#10974) * Add AT90USB support for serial.c (#10706) * Auto shift: support repeats and early registration (#9826) * Rename ledmatrix.h to match .c file (#7949) * Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231) * Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840) * Merge point for 2020 Nov 28 Breaking Change
2020-02-292020 February 29 Breaking Changes Update (#8064)James Young
2020-01-19Run clang-format manually to fix recently changed files (#7934)Joel Challis
* Run clang-format manually to fix recently changed files * Run clang-format manually to fix recently changed files - revert template files * Run clang-format manually to fix recently changed files - format off for ascii_to_keycode_lut
2019-12-07Updated slave encoder sync to reduce dropped pulses - v2 (#7505)XScorpion2
* Updated slave encoder sync to reduce dropped pulses * Fixing encoder direction * Encoder behavior fixes, tested * Update keyboards/rgbkb/sol/keymaps/xulkal/rules.mk To make fauxpark happy Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update custom_encoder.c * Update rules.mk * Iris r4 fix * More fixes for Iris & Kira * Fix for right master encoders
2019-11-27Revert split encoder fixes until able to repro a better fix (#7498)XScorpion2
Temporarily removing to avoid disabling split keyboards with Rotary Encoders, irisv3/4 and Sol, while @XScorpion2 works on a more permanent fix.
2019-11-17Run clang-format manually to fix recently changed fileszvecr
2019-11-15Updated slave encoder sync to reduce dropped pulses (#7325)XScorpion2
* Updated slave encoder sync to reduce dropped pulses * Fixing encoder direction * Encoder behavior fixes, tested * Update keyboards/rgbkb/sol/keymaps/xulkal/rules.mk To make fauxpark happy Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update custom_encoder.c * Update rules.mk
2019-09-18Updated split encoders so indexes are based on left hand encoders first (#6382)XScorpion2
* Updated encoder.c so that split encoders are indexed based on left hand encoders first. This ensures when swapping master sides that code logic based on encoder index doesn't change. PR Review fixes * Removed extra define
2019-08-30clang-format changesskullY
2019-08-16Add support for different encoder pinout for right half of split keyboard ↵Danny
(#6521) * Add support for different encoder pinouts for split keyboard * Update documentation for new encoder pinout feature
2019-07-16Remove the need to specify NUM_OF_ENCODERS for the Encoder feature (#6328)Drashna Jaelre
* Remove the need to set NUM_OF_ENCODERS Instead, calculate the size of the array, and use that instead * Add hack for split common support * Remove NUM_OF_ENCODERS from keyboard config Can be reverted, if needed
2019-04-03Added encoder support to split common code (#5477)XScorpion2
* Added slave encoder support to split common * Fixing handwired/xealous/rev1 compile error * Removed unnecessary ifdef
2018-10-26add support for encoders to coreJack Humbert