Commit graph

1550 commits

Author SHA1 Message Date
Joel Spadin
f946dc6893 feat(kscan): Improve matrix debouncing
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.
2021-10-26 23:52:13 -04:00
Peter Johanson
5cc7c280a5 refactor: Move to explicit docker.io/* image references.
* Some runtimes (e.g. podman), require explicit registries in image URLs
 or will prompt for the user to select one, which breaks things like
 VSCode remote container rebuilds.
2021-10-23 15:33:42 -04:00
Jonathan Rascher
e3eb77dfc6 refactor(combos): Use ZMK_KEYMAP_EXTRACT_BINDING
Now that PR #506 is merged, we can address this TODO.
2021-10-20 23:36:31 -04:00
dependabot[bot]
503bb0ec2f chore(deps): bump @fortawesome/react-fontawesome in /docs
Bumps [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome) from 0.1.14 to 0.1.16.
- [Release notes](https://github.com/FortAwesome/react-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/react-fontawesome/compare/0.1.14...0.1.16)

---
updated-dependencies:
- dependency-name: "@fortawesome/react-fontawesome"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-20 22:56:45 -04:00
Manuel Transfeld
05167c6539
fix(docs): Typo fix, open -> upon 2021-10-20 22:54:48 -04:00
Peter Johanson
e6c815f1b0 fix: Properly find boards in user config repos. 2021-10-19 13:29:36 +00:00
Peter Johanson
0dc7d46eb1 fix: Only search for board one not found yet. 2021-10-18 20:08:35 -04:00
Peter Johanson
742f4c2826 fix(keymaps): Properly locate split board keymaps.
* Find the unified keymap filename for onboard controller split
  keyboards.
2021-10-18 20:08:35 -04:00
Peter Johanson
01d2102c23 refactor: Add js-yaml dep, scrtipt gen tweaks.
*  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.
2021-10-16 21:50:58 -04:00
Peter Johanson
e544d74948 refactor: Config setup scripts to support onboard keyboards.
* 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.
2021-10-16 21:50:58 -04:00
eyenseo
6f29453041 [squash] implement feedback 2021-10-13 09:51:02 -07:00
eyenseo
51298f1d22 Add ergodash 2021-10-13 09:51:02 -07:00
Dom H
e11477f7b1 chore: Add note about copyrights on PR checklist 2021-10-12 22:27:33 -04:00
Richard Kjerstadius
a774ce8555 fix(display): Increase char buffer size to fit all symbols
Recent refactoring of the font handling seems to have broken the display
of the last symbol of the output status widget. From my analysis the
last symbol is truncated because the buffer simply is too small.
Increasing the buffer size to 9 fits all three possible symbols.
2021-10-12 12:00:21 -04:00
git@jrhrsmit.nl
f221ff1dc7 add ranges and descriptions from #669 2021-10-11 09:46:17 -07:00
Nick Winans
f23f427cae fix(underglow): Run clang-format 2021-10-10 17:43:57 -07:00
Simon Malinge
c5b8dd85fd feat(underglow): Add support for configurable min/max brightness
Co-authored-by: jrhrsmit <jasper.770@gmail.com>
2021-10-10 17:43:57 -07:00
Jonathan Rascher
96fea949d5 docs(docs): Document up-to-date Node.js repo
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.
2021-10-10 12:20:35 -07:00
Peter Johanson
bc179b1030 feat(hid): Kconfig for basic/full consumer usages.
* Add ZMK_HID_CONSUMER_REPORT_USAGES choice to allow choosing
  between full consumer usage range, with poor OS compat,
  or basic consumer usage range, with broader compat.
2021-10-04 23:01:39 -04:00
Pete Johanson
91ba034896 feat(hid): Configurable NKRO HID report support.
* Add Kconfig settings for NKRO or HKRO (boot compatible), HID
  report types for keyboard page.
* Updated report storage and set/unset for each config.
2021-10-04 23:01:39 -04:00
Aleblazer
063b496c26
feat(boards): Add Zodiark shield 2021-10-03 23:47:23 -04:00
Nick Winans
19a7d686fb
chore: Add board/shield checklist for new PRs. 2021-10-03 23:29:59 -04:00
Brandon Xie
3b8244e466
feat(shields): Add Naked60BMP shield 2021-10-03 23:23:54 -04:00
Nick Winans
e6645882c3 feat(docs): Update documentation to match new Pro Micro nodes 2021-09-25 23:09:21 -04:00
Nick Winans
687e91ab18 feat(boards): Remove usage of pro_micro_a/d nodes 2021-09-25 23:09:21 -04:00
Nick Winans
4a03214e06 feat(boards): Add D18-21 to Pro Micro pin mappings 2021-09-25 23:09:21 -04:00
Peter Johanson
014e5ba93c refactor(boards): Remove leftover right split name 2021-09-26 01:21:49 +00:00
Nick Winans
10870b24bf fix(docs): Update split naming system 2021-09-25 21:17:24 -04:00
Nick Winans
478cf94374 refactor(boards): Remove "left" from split keyboard names 2021-09-25 21:17:24 -04:00
Nick Winans
36ced48e53 refactor(boards): Remove split right keyboard names 2021-09-25 21:17:24 -04:00
Peter Johanson
3e6a3758ed refactor(display): Saner font selection/defaults.
* Only select fonts for the default built in status screen
* Leverage theme default fonts, instead of hardcoding theme
  details in each component.
2021-09-25 19:43:20 -04:00
Peter Johanson
2128b2b55f refactor(display): Output/layer/battery thread safety.
* Submit widget updates to display queue.
* Use mutex to control access to shared state for widgets.
2021-09-25 17:17:04 -04:00
Peter Johanson
063d98e3df feat(display): Optional dedicated work queue.
* Add new Kconfig settingsx to allow selecting system or dedicated
  work queue for performing UI updates.
* Allow UI updates to not block other system tasks when display is
  updating, especially important for e-ink displays.
2021-09-25 17:17:04 -04:00
Cem Aksoylar
9f2785786f fix(setup): Fix sed delimiters for Cradio 2021-09-24 15:56:36 -04:00
Richard Titmuss
5d2120ad17 fix(docs): Typo EC11_CONFIG
This should be CONFIG_EC11
2021-09-24 02:15:56 -04:00
Xudong Zheng
212a05feb3 fix(hog): use OR instead of AND for bitmap 2021-09-23 20:47:40 -04:00
Dom H
db4bbbf9eb fix(shield): Update URL in A. Dux metadata 2021-09-23 14:57:40 -04:00
Dom H
80b01c7265 refactor(shield): "Architeuthis Dux" to "A. Dux"
The shorter name is more user-friendly.
2021-09-23 14:57:40 -04:00
Dom H
0c15c2291e feat(shield): Add Architeuthis Dux shield 2021-09-23 14:57:40 -04:00
Dom H
c52887e236 fix(docs): Remove build.yml from new shield steps 2021-09-22 17:35:08 -04:00
Peter Johanson
a7908a94de fix(hog): encrypt perm for HID report map/ref.
* Workaround for ensuring macOS pairing happens early enough,
  for their stack, we require encryption for the hids report map and
  report ref characteristics as well, to trigger pairing ealier in the
  connection process for macOS.
2021-09-18 15:43:26 -04:00
Dom H
8bdd270c91 fix(docs): Set "Mouse Keys" as "Under Development" 2021-09-17 10:49:56 -04:00
Michael van Eerd
50174af658 fix(docs) add BT_PRV as suggested
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2021-09-17 10:45:37 -04:00
Michael van Eerd
c27c1048e4 fix(docs) Bluetooth behavior typo 2021-09-17 10:45:37 -04:00
Michael van Eerd
748bc75587 fix(docs) Move Number of Profiles note down 2021-09-17 10:45:37 -04:00
Michael van Eerd
05b0353219 feat(docs) Clarify Bluetooth profile pairing 2021-09-17 10:45:37 -04:00
Richard Titmuss
d769618b3f fix(docs): Remove unnecessary security warning for MacOS
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.
2021-09-17 10:43:48 -04:00
nevin
93fbf8dd97
fix: Use correct Quotation marks on line 65 (#942) 2021-09-16 21:33:18 -04:00
Cem Aksoylar
33fa15a235
feat(docs): Add note to clarify shared .conf files do not apply outside zmk-config 2021-09-14 20:51:05 -04:00
Pete Johanson
c9a671d8d5 fix(kscan): Allow composite driver to handle missing children.
For split keyboards using an IO expander over TRRS/i2c, if the
right half isn't connected, we should be able to gracefully
fallback to the left side still working.
2021-09-14 20:48:28 -04:00