* Add optional `hold-trigger-key-positions` hold-tap configuration
* Leverage configuration for decision making around when to trigger
hold decision in hold-taps.
* Add docs for new configuration.
* Tests for the new config/decision logic.
Switched the GPIO matrix driver to debouncing using a simple integrator
algorithm. Whenever a key is pressed, we now scan at a rate controlled
by debounce-scan-period-ms (default 1 ms) until all keys are released,
then return to either waiting for an interrupt or polling more slowly.
The timers for key press and release can now be controlled separately,
so debounce-period is deprecated in favor of debounce-press-ms and
debounce-release-ms. Global Kconfig options
ZMK_KSCAN_DEBOUNCE_PRESS_MS and ZMK_KSCAN_DEBOUNCE_RELEASE_MS are also
added to make these easier to set.
Added documentation for debouncing options.
* Make the synthetic "base name" property double underscore prefixed,
since internal, and to avoid future conflicts w/ YAML format add'ns.
* Switch to PS hash dictionaries for our metadata collections for saner
data inspection/use.
* Use unified config template repo that uses an external
build matrix YAML file.
* Proper handling for onboard keyboards, including splits, and
supports for appending the right build matrix once selected.
For example, Debian Bullseye (current stable) packages Node.js version
12, which is too old to build the docs successfully. At least version 14
is required, and version 16 is current. General advice seems to be to
install from the NodeSource repo instead of your distro's repo, so I
added a suggestion to the docs.
The security warning applies for downloaded executables. If you are
following the instructions the toolchain is installed with brew and
the security warning does not apply. This is explained in the removed
link.
* Update default keymap to use SQT
Instead of the invalid “QUOTE”
* Update keymap-example-file.md
* Update docs/docs/keymap-example.md
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Bumped web-tree-sitter to v0.19.4 and added v0.4.0 of
tree-sitter-devicetree, which had to be rebuilt to work in v0.19.x
https://github.com/joelspadin/tree-sitter-devicetree/releases/tag/v0.4.0
Changed how we patch web-tree-sitter to correctly load tree-sitter.wasm
to work with the latest version of Docusaurus. Including a copy of
tree-sitter.wasm as a static resource is no longer needed.