Commit Graph

71 Commits

Author SHA1 Message Date
Peter Johanson
adb3a13dc5 feat: Add soft on/off support.
Initial work on a soft on/off support for ZMK. Triggering soft off
puts the device into deep sleep with only a specific GPIO pin
configured to wake the device, avoiding waking from other key
presses in the matrix like the normal deep sleep.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-03-27 20:59:26 -07:00
Thomas Huber
f2d8b9b0a3 feat(docs): Add Behavior overview page
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-03-24 17:50:33 -07:00
Joel Spadin
a0465391be refactor: Improve keymap upgrader
Moved the keymap upgrader to a top-level page like the power profiler
to make it more discoverable. It upgrades more things than key codes
now, so putting it in the codes category doesn't make much sense.

Converted the upgrader code to TypeScript and split it up into smaller
files to make it easier to add new upgrade functions.

Added upgrade functions to remove/replace "label" properties and rename
matrix-transform.h to matrix_transform.h.
2024-01-25 18:03:37 -06:00
Alexander Krikun
d7d9eed317 feat(mouse): Initial mouse keys support.
* Add HID report/descriptor for a new report with mouse buttons,
  and x/y/wheel deltas.
* New mouse key press behavior for press/release of mouse keys.
* Add constants for HID main item values (e.g. data/array/absolute)
* Define and use constants for our HID report IDs.
2023-11-15 11:16:59 -08:00
Joel Spadin
7a352908ee docs: Add pre-commit documentation 2023-04-24 16:07:04 -07:00
Nick Conway
3db163aa2c feat(behaviors): Add reusable sensor behaviors.
* Add new sensor behaviors that either take full bindings
  add definition, or accept parameters when bound in the
  keymap.
* Remove existing hard-coded key press sensor behavior
  and instead leverage new generic sensor behaviors to
  achieve the same functionality.

Co-authored-by: nick@conway.dev
2023-04-21 21:13:31 -07:00
Peter Johanson
0c5bcf5fe4 feat(docs): Add BLE feature/config pages.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-04-05 22:55:38 -07:00
Joel Spadin
ae78aa247a feat(docs): Update power and lighting config pages
Moved battery configuration to its own page to match the feature page.

Documented that external power is disabled when in sleep mode.

Clarified that the *_START configs apply on first boot, and any changes
after that are persisted.
2022-07-03 18:55:54 +01:00
Joel Spadin
2b122acfc3 feat(docs): Updating lighting config docs 2022-07-03 18:55:54 +01:00
Joel Spadin
11861a4d30 docs: Add documentation for config options 2022-07-03 18:55:54 +01:00
Caleb Goates
0977be622a feat(docs): Add docs for key toggle behavior 2022-06-03 00:04:41 -04:00
Kurtis Lew
8a70d5fccc
feat(docs): Add New Behavior Guide
Co-authored-by: Henré Botha <henrebotha@gmail.com>
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
Co-authored-by: Dom H <dom@hxy.io>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2022-05-21 17:26:10 +01:00
Joel Spadin
b7b026f20c feat(docs): Add battery sensor documentation 2022-04-17 11:30:57 -04:00
Peter Johanson
34e1de23fb feat(docs): Document the macro behavior. 2022-03-23 23:42:54 -04:00
Kurtis Lew
32ebe2cfb5
feat(behaviors): Add Tap-Dance behavior 2022-03-16 01:08:42 -04:00
Dom H
8e91e5ada1 fix(docs): Add behaviors/key-repeat to sidebar 2022-02-12 11:22:19 -05:00
Alessandro Bortolin
da41391b1f feat(docs): add backlight documentation 2022-02-05 23:40:18 -05:00
Peter Johanson
54dabffd0d feat(behaviors): Add caps word (&caps_word).
* Add new `&caps_word` behavior that acts like caps lock, but
  releases automatically when any "break" keycode is pressed.
2021-11-28 22:41:35 -05:00
Jonathan Rascher
cbf6e28e34 docs(conditional-layers): Document feature 2021-11-15 05:49:23 -05:00
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
f8e88d78c4 docs: Add docs on hardware metadata files. 2021-09-11 00:50:36 -04:00
measlesbagel
3893d50e13
Docs: added mod morph page (#749)
* docs(behaviors): add mod-morph doc page

* docs(behaviors): add mod-morph doc page

* docs(mod-morph): add note about sent modifiers

* docs(mod-morph): fixed prettier formatting
2021-04-05 18:04:38 -05:00
Cody McGinnis
d956193251 change "Under Development" to "Beta Testing" 2021-03-10 13:45:50 -05:00
Cody McGinnis
ac50e741be move the information to its own page 2021-03-10 13:45:50 -05:00
Joel Spadin
0955ffef65 docs: Add docs for setting up vscode
Added a docs page with tips for setting up VS Code's code completion to work
in ZMK's source files. Info for other IDEs can be added here later as needed.
2021-02-09 00:45:55 -05:00
KemoNine
1adb2d5f84 feat(docs): add information on how to update the documentation to the docs 2021-01-29 20:44:39 -06:00
Okke Formsma
89567d3150 docs(sticky keys): document sticky keys and sticky layers 2021-01-24 23:30:05 -05:00
Pete Johanson
e8aa576781 refactor(docs): Move combos under Features.
* Since combos aren't a behavior, but a new high level keymap
  feature, move under Features section.
2021-01-24 16:42:44 -05:00
Okke Formsma
feb0d5b90c feat(combos): initial implementation
closes #45
2021-01-13 21:07:41 -05:00
Joel Spadin
5aa8a07aa9 feat(docs): add keymap upgrader
Added a documentation page with a script that upgrades deprecated key
codes and behaviors to their replacements.

Fixes #299
2020-12-10 12:23:05 +00:00
innovaker
2744f44e73 refactor(docs): Integrate Dev Guides into Development section
Improves discoverability.
2020-11-20 22:31:56 -05:00
innovaker
2d50302a02 refactor(docs): Integrate USB Logging into Development section
Improves discoverability.
2020-11-20 22:31:56 -05:00
innovaker
532c1987b2 refactor(docs): Move dev- documents into /development
Aligns to conventions introduced by newer documentation.
2020-11-20 22:31:56 -05:00
innovaker
bb43c7e053 docs: Rename someSidebar to docs 2020-11-18 10:47:08 +00:00
innovaker
2871dca9bf refactor(docs): Change behavior to behaviors
Makes a better URL.
2020-11-16 15:33:44 -05:00
innovaker
a685d88744 refactor(docs): Change feature to features
Makes a better URL.
2020-11-16 15:33:44 -05:00
Okke Formsma
0d02441abe docs(codes): add modifier functions
Refactor and expand codes documentation to include modifier functions.

Closes #330.
2020-11-07 12:00:19 -05:00
innovaker
ff638eb010 docs(codes): Add (key) codes documentation
Create codes documentation for standardized keys.

Closes #218.  Fixes #308.  Ref #21.
2020-11-06 15:02:12 -05:00
Joel Spadin
2fe1fbb526 feat(endpoints): rename behavior to outputs
"Outputs" is probably easier for most people to understand than "endpoints".
2020-10-28 18:15:05 -05:00
Joel Spadin
600bba25f0 feat(endpoints): add preferred endpoint setting
Added a new setting to remember the user's preferred endpoint. When both USB and
BLE are connected, the preferred endpoint will be used.

Added a new behavior to control this setting. It supports commands:

    &end END_USB - Prefer USB output
    &end END_BLE - Prefer BLE output
    &end END_TOG - Toggle between USB and BLE
2020-10-28 18:15:05 -05:00
innovaker
288e60ea97 docs: Format docs with prettier
npx prettier --write .
2020-10-25 21:25:08 +00:00
Mega Mind
cc21167d57 Added docs for external power output 2020-10-14 00:27:32 +08:00
kurtis-lew
a58a8412c7 Documented Issue #220 2020-10-09 08:15:38 -07:00
Pete Johanson
cf970efb98 feat(bluetooth): Proper bond management, identity support for non-splits
* Add `bt` behavior that can be used to perform certain actions,
  such as next/prev identity, reset identity, etc.
  NOTE: Multiple identities is only supported for non-split shields,
  due to missing Zephyr identity functionality for dual
  central/peripheral devices.
* Proper bond reset tied to action, that honors peripheral bonds,
  so folks can reset and pair to other hosts, without breaking
  bonds between splt halves.
2020-09-13 22:33:05 -04:00
Pete Johanson
e796e7c3e6
Merge pull request #165 from kurtis-lew/troubleshooting
Troubleshooting - Revised Copy of PR 150
2020-09-09 23:15:21 -04:00
kurtis-lew
bdeb6865e1 Update sidebars.js 2020-09-06 19:55:56 -07:00
Pete Johanson
ba07fd1879
Merge pull request #154 from chenkevinh/docs/encoders
Encoder documentation
2020-09-06 12:23:11 -04:00
Pete Johanson
e559cb2d71 Add hold-tap to sidebar. 2020-09-03 10:14:16 -04:00
Kevin
6f74e61dd3 Added user and dev encoder docs 2020-09-02 18:25:46 -07:00
Kevin
068626d1a7 Some work on encoder docs 2020-09-01 21:12:09 -07:00