Commit graph

2511 commits

Author SHA1 Message Date
rasmuskoit
d3e821ecee
removes unused picture 2024-08-11 21:18:32 +03:00
rasmuskoit
4da4704e2a
adds a line for split keyboards 2024-08-10 22:47:29 +03:00
rasmuskoit
cf74b624dd
squash after rebase 2024-08-10 16:22:45 +03:00
rasmuskoit
afe40027a4
rename from splits to dongle 2024-08-10 16:15:57 +03:00
rasmuskoit
21bb47d82d
Removes section for dongle.conf 2024-08-10 16:15:57 +03:00
rasmuskoit
439c045483
Improves benefits/disadvantages section.
Make the documentation more specific to dongles.
Moves some of the configuration around.
Adds an option for building firmware with left as central.
Clarifies different MCU usages.
Normalizes file names.
Removes duplicate warning.
2024-08-10 16:15:57 +03:00
rasmuskoit
997fc9f75b
removes svg, adds png 2024-08-10 16:15:56 +03:00
rasmuskoit
877d654f0d
adds clarifing comments about microcontrollers setup
adds a nice picture
2024-08-10 16:15:56 +03:00
rasmuskoit
6e622eba37
Fixes a typo in reset link 2024-08-10 16:15:56 +03:00
rasmuskoit
8ca4971189
Adds a section about building the firmware 2024-08-10 16:15:55 +03:00
rasmuskoit
f5ff4e32d9
Tests commenting out documentation 2024-08-10 16:15:55 +03:00
rasmuskoit
26f3c7c6c4
Adds link to further explain reset behavior on splits kbs 2024-08-10 16:15:55 +03:00
rasmuskoit
8c9533071f
adds tailend of a warning 2024-08-10 16:15:54 +03:00
rasmuskoit
89d47f18f9
Adds a mermaid diagram explaining the connection. Add explanation about reset behavior 2024-08-10 16:15:54 +03:00
rasmuskoit
e5c19a15ec
Adds initial draft version of splits and dongle 2024-08-10 16:15:54 +03:00
Cem Aksoylar
2eff266f5b feat(docs): Add battery life remark for split keyboards 2024-08-07 23:57:58 -07:00
Cem Aksoylar
2a0708d1fc feat(docs): Add locality warning for nested behaviors 2024-08-07 23:57:58 -07:00
Cem Aksoylar
2501f1f548 feat(docs): Add references to new split keyboards page 2024-08-07 23:57:58 -07:00
Cem Aksoylar
d75e388593 feat(docs): Add split keyboards feature page
Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
2024-08-07 23:57:58 -07:00
Peter Johanson
cd25c12ce9 fix: Proper device PM support for composite kscan.
* Clean up composite kscan to allow multiple instances properly.
* Implement PM hook and properly suspend/resume the child devices.

Fixes: #2388
2024-08-03 13:45:51 -07:00
Peter Johanson
78ed721c36 fix(pm): Properly configure a wakeup as input.
* Other drivers properly disconnect/de-config pins now, so we need
  to be sure the wakeup trigger connects the wake pin as input.
2024-08-02 16:37:11 -07:00
Cem Aksoylar
47a6715aa6 fix(docs): Fix toggle layer docs 2024-08-02 11:17:10 -07:00
Cem Aksoylar
b9a025c76e
fix(docs): Document number of peripherals Kconfig (#2389)
Fixes #2373
2024-08-02 18:57:15 +02:00
Cem Aksoylar
b080befebb fix(docs): Fix link for matrix transform 2024-08-02 09:55:20 -07:00
Nicolas Munnich
9e7fcde868
feat(docs): Improve the layers-related documentation (#2390)
Fixes #1284
2024-07-31 20:53:36 -07:00
Nicolas Munnich
f92dce43e9
feat(docs): Add modules feature page (#2380)
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-07-25 12:08:08 -07:00
Nicolas Munnich
97294aa341
chore: Add a recommended extension for .mdx files (#2381) 2024-07-25 12:00:55 -07:00
Nicolas Munnich
fd152baff0
feat(docs): Add troubleshooting notes on experimental bluetooth options (#2387)
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-07-25 12:00:22 -07:00
Cem Aksoylar
7bd74a6b0f fix(docs): Add required display-name in physical layout examples 2024-07-14 16:59:15 -07:00
Peter Johanson
8c6bda260a fix: Proper behavior metadata for key repeat/toggle 2024-07-05 15:38:04 -06:00
Peter Johanson
3694ff85a0 fix: Fix up layer metadata, move to layer IDs.
* Studio will use stable layer IDs to refer to layers, so that
  layer reordering doesn't affect behavior bindings, so update to match.
* Fix a few layer metadata entries that missed being refactored.
2024-07-05 13:13:42 -06:00
Peter Johanson
e01f13f9f0 fix: Fix external power settings load issue.
* Because settings load is delayed now, enable external
  power on init, and let it be disabled on settings load
  later, to ensure power is on early for
  other peripheral initialization.

Fixes: #2361
2024-07-04 17:20:40 -06:00
Peter Johanson
82eed0f5dd feat(boards): Add flash/settings to XIAO RP2040.
* Add storage partition.
* Default necessacy Kconfig symbols for flash/settings.
2024-07-03 16:57:22 -06:00
Peter Johanson
b4f9081b09 docs: Updated new shield documentation for physical layouts.
* Document how to define one or more physical layouts and assign
  the chosen one.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-07-03 16:52:05 -06:00
Peter Johanson
5fcf092901 refactor(shields): Set ZMK Uno physical layouts.
* Add physical layout definitions for uno and split uno shields.
2024-07-03 16:52:05 -06:00
Peter Johanson
74f7fe921b fix(splits): Increase split notify stack size. 2024-07-03 16:52:05 -06:00
Peter Johanson
0438cb0ee5 feat(kscan): More complete PM support to drivers.
* Update our GPIO kscan drivers to more completely support PM device,
  by doing proper hardare init/deinit in the PM action hook.
2024-07-03 16:52:05 -06:00
Peter Johanson
c5cca5b34f feat: Add keyboard physical layout system.
* Add bindings to allow creating multiple physical layouts that specify
  their key's physical attributes, and the matching matrix transform
  and dependant kscan to use.
* Synthesize a basic physical layout if none specified, for backwards
  compatibility.
* Update matrix transform API to explicitly pass in the selected transform
  to the API instead of using a fixed chosen transform.
* Move kscan subscription and handling into the physical layout code, so
  that selecting a different physical layout at runtime can also use the
  correct kscan instance.
* Add `physical_layouts.dtsi` file to include so you can use the
  pre-configured `&key_physical_attrs` for adding you layout keys.
2024-07-03 16:52:05 -06:00
Peter Johanson
80173f8ea3 fix: Improve startup time with proper settings loading.
* Avoid doing duplicate calls to setings_load_subtree, which iterates
  NVS fully each time under the hood, and instead use on settings_load
  later in the lifecycle.
2024-07-03 16:24:17 -06:00
Peter Johanson
f18974e8c4 fix: Adjust hid indicator listeners for event refactor
* Avoid static listener to prevent subscription
  issue.
2024-07-01 12:32:04 -06:00
ReFil
f2ea1da036
fix(boards): Suppress devicetree warning
nRF5x boards throw a spurious warning for duplicate unit-address when the devicetree gets processed

Upstream issue:  https://github.com/zephyrproject-rtos/zephyr/issues/29713

Warning suppressed as per: https://docs.zephyrproject.org/latest/build/dts/intro-input-output.html
2024-06-30 12:59:46 -04:00
Peter Johanson
96e55c8be6 fix: BLE refactor mouse keys fix. 2024-06-28 17:48:45 -06:00
Peter Johanson
483a4930e9 feat(behaviors): Add local ID system for behaviors
* Add a new feature for tracking a given behavior by a new concept
  of a "behavior local ID" which is a stable 16-bit identifier for
  a given behavior, that is resilient to new behaviors being added
  and requires no additional work on the part of the behavior
  authors.
* Add implementations for either settings lookup table, or CRC16
  hashing of behavior device names for generating behavior local
  IDs.
2024-06-28 15:10:32 -06:00
Peter Johanson
f7c34c70ba refactor(ble): Extract API to get active profile connection.
* Add `struct bt_conn *zmk_ble_active_profile_conn(void)` function for
  fetching a connection for the current profile.
2024-06-28 14:43:17 -06:00
Peter Johanson
b576d52d58 feat(core): Support adding subs to other listeners.
* Used for ZMK Studio event remappers to be sure the one
  RPC event listener subscribes to their mapped events.
2024-06-28 14:36:25 -06:00
Peter Johanson
49f7275beb fix: Add metadata to missed behaviors. 2024-06-25 12:11:32 -06:00
Timoyoungster
29599e8b0a docs: hopefully more clear description of the new setting 2024-06-24 14:26:14 -06:00
Timoyoungster
10d03ca46c fix: adding option to separate implicit mod release from key release
This adds a new config value `ZMK_HID_SEPARATE_MOD_RELEASE_REPORT`
where, if enabled, the report for a key release is sent separately to
the accompanying modifier release signals, which are then sent in a
second report.

This fixes an issue where certain applications are unable to work with
implicitly modified keys (e.g. colon) due to them registering the
modifier release prior to the actual key release.

Have tested this on my personal keyboard and `wev` now shows the signals
in the correct order.

=> **Previously:** ```LSHIFT (pressed) -> colon (pressed) -> LSHIFT
(released) -> **semi**colon (released)```

=> **Now:** ```LSHIFT (pressed) -> colon (pressed) -> colon (released)
-> LSHIFT (released)```

(This time without accidental files)
2024-06-24 14:26:14 -06:00
honorless
4dce096161 docs: improve settings_reset link 2024-06-24 13:18:56 -07:00
honorless
9c6d1af102 ci(build): limit run scope
* Cancel redundant non-nightly runs and jobs dependent on canceled jobs.

* Limit scheduled runs to zmkfirmware-owned repos.
2024-06-24 13:41:03 -06:00