* Use less tap dance memory.
Use dynamically allocated sparse array for tap dance state, dynamically allocate tap dance state when needed and free it when the tap dance is done.
* new approach
* Use null, check for null
* Reformat with docker
* Use uint8 with idx rather than uint16 with keycode in state
* fix accidental change
* reformat
* Add null check
* add documentation tip suggested by tzarc
* Only allow tap dance state allocation on key down, not on key up
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Only allow tap dance allocation on key down, not on key up
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* add user action required section
---------
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* docs: fix misspellings
* docs: do line breaks with HTML instead of spaces
To remove trailing spaces and to avoid breaking things, line breaks can
be done with the HTML br tag.
* Refactor debounce counters with direct indexing
* Refactor code to use array indexing for debounce_counters
* Use global MATRIX_ROW_SHIFTER macro
* Refactor debounce algorithm with static allocation
* Converted arrays to static allocation
* Standardised use of MATRIX_ROWS_PER_HAND for array sizing
* Added Doxygen comments for primary debounce functions
* Removed debounce_free()
* Rewrite sym_defer_pr
* Modernise code using sym_defer_pk as template
* Format consistency with other current algorithms
* Use shorter SPDX-License-Identifier
* Remove ChibiOS core memory manager guard
* Keep type definition within DEBOUNCE guard
* Add change log
* Minor optimisation refactor
* Pre-calculate row_offset in per-key matrix loops
* Add inline compiler hints
* Improve readability with blank lines
* Limit elapsed time to the maximum debounce value
* Apply suggestions from code review
Declare counters with "DEBOUNCE_ELAPSED"
Co-authored-by: Joel Challis <git@zvecr.com>
* Update change log to new breaking change date
---------
Co-authored-by: Joel Challis <git@zvecr.com>
* Initial tidying up of top level helix/ directory
Align readme.md with template & provide more detailed PCB information
Remove unused rules.mk
Add common config.h file
Update glcdfont.c with formatting and license header
* Further migrations after PRs merged
Move shared configuration to top level info.json and config.h
More descriptive hardware compatibility
* Add changelog
* Align configuration between PCBs
- Migrate beta & pico to use RGB Matrix
- Move previously RGB Matrix-dependent OLED code in rev3/rev3.c to top level
- Remove reundant OLED code in beta/beta.c
- Remove RGBLight references
* Update changelog with RGB Matrix configuration
* Modify PR23309 changelog
Adds a direct link to the pull request.
* Add PR23329 changelog
* Update keyboard aliases file
Updates the legacy keyboard aliases for the JJ40 and JJ50, which have
been moved again for version 0.25.0.
* Minor touch-up for JJ40 rev1 readme
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: honorless <86894501+lesshonor@users.noreply.github.com>
* 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>
* Changelog.
* Remove the asymmetric encoder PR from listing due to revert.
* More docs
* More docs
* More docs
* Links to changelog, updated schedule, slotted in 2 weeks of testing at the end so that there's no ambiguity with PR merge dates.
* Clarify keyboard moves.
* Fix dates
* Sidebar
* Fixup dates.
* Fixup dates.
* Wording.