Commit Graph

26 Commits

Author SHA1 Message Date
Pete Johanson 147c340c6e Feature: Full-Duplex Wired Split (#2766)
refactor(split): Refactor split code for extension

Extract central/peripheral code to allow for plugging in alternate
transports, instead of tying all split logic to BT.

feat(split): Add full-duplex wired split support

* Depends on full-duplex hardware UART for communication.
* Supports all existing central commands/peripheral events, including
  sensors/inputs from peripherals.
* Only one wired split peripheral supported (for now)
* Relies on chosen `zmk,split-uart` referencing the UART device.

docs: Add wired split config docs.

Migrate split to its own dedicated config file, and add details
on wired split config.

Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>

fix: Properly override stack size on RP2040

Move the system work queue stack size override on RP2040 ouf of
a `ZMK_BLE` conditional so it is properly applied generally for that
SoC.

---------

Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
2025-03-18 02:48:32 -04:00
Nicolas Munnich 40925d48e6 refactor(Kconfig): Extracted designer defaults out into new files (#2537)
docs: Fix incorrect kconfig default values

fix(Kconfig): Added a name to EC11's trigger mode choice, allowing it to be set in device Kconfig.defconfig

refactor(Kconfig): Moved designer defaults out into new files
2024-12-04 16:19:35 -05:00
Alexander Krikun 2a5b73f294 docs: document nrf528xx-nosd snippets 2024-11-12 18:28:59 -07:00
Cem Aksoylar 2501f1f548 feat(docs): Add references to new split keyboards page 2024-08-07 23:57:58 -07:00
Cem Aksoylar b9a025c76e fix(docs): Document number of peripherals Kconfig (#2389)
Fixes #2373
2024-08-02 18:57:15 +02: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
Horu 7d1f84e3eb chore: fix typos in various places 2024-05-13 16:47:33 -04:00
Cem Aksoylar 325e207781 feat(docs): Add pointers to HID descriptor refresh 2024-03-18 09:58:16 -07:00
Joel Spadin 1dfcfc7d3f feat(shields): Make settings_reset shield reset all settings
Added a new CONFIG_ZMK_SETTINGS_RESET_ON_START option which enables init
code to call zmk_settings_erase(), and changed the settings_reset shield
to use it instead of CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START, so it now
resets all settings instead of just clearing BLE bonds.

CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START is left in place for now in case
someone still needs it. It may be replaced in the future once we find a
better way to repair a broken split connection.
2024-03-18 09:48:19 -07:00
Peter Johanson edc72c1166 chore(docs): Update Zephyr links to 3.5.0 versions. 2024-02-09 14:32:46 -08:00
Dhruvin Shah 5685074835 docs: correcting file path in config.md 2024-01-27 11:40:12 -06:00
Cem Aksoylar dcfe07d9f6 refactor(docs): Use new admonition title syntax and disable mdx v1 compat 2024-01-20 22:28:41 -08:00
typorian 466cf92029 fix(docs): Document CONFIG_ZMK_USB_BOOT 2024-01-12 11:02:47 -08:00
Gabor Hornyak 0e2f94b73b feat(ble): Support perhipheral battery levels.
* Add ability to fetch and report peripheral battery levels
  on split centrals.
* Add additional support for adding a new Battery Level
  service to split centrals that exposes fetched peripheral
  battery levels to connected hosts.

Co-authored-by: Peter Johanson <peter@peterjohanson.com>
2024-01-03 09:26:51 -08:00
ReFil 9bacaffe62 feat(hid): Add KConfig option for higher NKRO usages
By default the maximum NKRO usage is set to maximise compatibility, but some keys dont work, this adds the ability to use those extended keys, at the cost of compatibiltity

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2023-12-04 18:24:05 -05:00
Alessandro Bortolin 4e55c5f6e9 feat: handle LED indicators report 2023-11-27 16:03:18 -08:00
ReFil 8776911da5 feat(ble): Allow disabling BLE BAS reporting
The battery reporting has been known to cause macOS computers to wakeup repeatedly. In some cases (e.g. display or custom lighting implementation) one might want to collect battery SOC without broadcasting over BLE

* Update docs/docs/config/battery.md

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-11-15 13:03:30 -05:00
ReFil 82e85699ed feat(docs): Document ZMK_BATTERY_REPORTING config (#1971)
`CONFIG_ZMK_BATTERY_REPORTING` is currently undocumented, A new KConfig section for battery has been added in line with the other sections in the configuration section of the docs, `CONFIG_ZMK_BATTERY_REPORT_INTERVAL` has been moved from system to battery for consistency
2023-10-19 14:04:04 -07:00
Xudong Zheng 1adfcf92bf refactor(split): fix inconsistency in Kconfig names 2023-05-28 22:58:31 -06:00
byran.tech b21ddcf79a fix(docs): added concrete number for Bluetooth advertising name length
* Update new-shield.md
* Update config docs.
2022-08-19 10:29:12 -04:00
Cem Aksoylar 41c9d81096 fix(docs): Update config docs for split Kconfig refactor 2022-07-05 08:42:27 +01:00
Cem Aksoylar 851c37e14f fix(docs): Apply suggestions from #722 reviews 2022-07-05 08:42:27 +01:00
Joel Spadin c350f7130b fix(docs): Fix links in config pages 2022-07-03 18:55:54 +01:00
Joel Spadin e8e6b2a333 feat(docs): Update general system 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