* Explain how to use STORE_SETUPS and PRINT_SETUPS
I found the instructions a little terse, but managed.
This also adds a note about PRINT_SETUPS reporting random numbers if STORE_SETUPS hasn't been used.
* Remove line breaks
Existing docs seem to use a mix of hard line breaks at sentence
ends, or 80 chars-ish, versus no line breaks in paragraphs.
* Suggestion during review
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
---------
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
* QMK avoids raw line breaks within paragraphs in Markdown
Mentioned in passing during a few of my recent documentation pull requests, eg #26070.
* Suggestion during review
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
---------
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
* Show how to flip semicolon and colon
* Apply whitespace suggestions from code review
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Match line-wrapping
Co-authored-by: Joel Challis <git@zvecr.com>
---------
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* 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>
* feat: adds a transmit and receive i2c method
* fix: address the i2c transmit and receive length on u16
* Add AVR/LUFA implementation
Didn't add a progmem version, since that would only apply to receive.
Figured it wasn't worth it, but can add.
* Rearrange order of functions
* Add docs
* Fix doc gen error
* Fix lint issues
* fix more lint issues
* Only perform key and mod remapping in keycode_config() and mod_config() when MAGIC_ENABLE is defined.
* If not set, these functions now return the original keycode or modifier unchanged.
* Reduces firmware size, and unnecessary code when MAGIC_ENABLE is not enabled.
* Removed space saving suggestion with magic functions from squeezing AVR documentation
* Indicate <keyboard>.h LAYOUT() deprecation in understanding_qmk.md
Initial documentation uses <keyboard>.json to define matrix pin definitions, rather than having users #define the LAYOUT() macro in <keyboard>.h - This change brings this docs inline with the [porting_guidelines](https://docs.qmk.fm/porting_your_keyboard_to_qmk), QMK MSYS will also throw an error if this is attempted.
* Update understanding_qmk.md
enclosed '<' using backtick
* style guideline, now builds correctly
prior version indicates directory, new indicates config. still the same idea.
* Update tap_hold.md
Minor grammar/punctuation changes;
Added some more tap-hold examples;
Added a link about home row mods to the reference near the end;
Replaced directional quotation marks with symmetric variant, as this seem to be the only page using them;
Standardised formatting of "tap-hold" (hyphenated is slightly more frequent in existing documentation, so I went with that), as well as "Mod-Tap"/"Layer-Tap".
* Update docs/tap_hold.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update docs/tap_hold.md
Co-authored-by: Ryan <fauxpark@gmail.com>
---------
Co-authored-by: Ryan <fauxpark@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>