Commit Graph

2824 Commits

Author SHA1 Message Date
Artem
a8a392807e chore(docs): correct a misleading _defconfig description (#3015)
* docs: correct a misleading _defconfig description

* chore(docs): improve _defconfig description

Co-authored-by: Joel Spadin <joelspadin@gmail.com>

---------

Co-authored-by: Joel Spadin <joelspadin@gmail.com>
2025-08-05 00:20:39 +01:00
Nicolas Munnich
f3233c1b60 fix(ci): Fix release please template bump (#3021) 2025-08-04 18:54:03 -04:00
Nicolas Munnich
919bce7962 fix(docs): Tweak layer tap example to be clearer (#3023) 2025-08-04 23:44:16 +01:00
dependabot[bot]
cc19ff7c5b chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /docs (#2929)
Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.7 to 2.0.9.
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.9/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7...v2.0.9)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-version: 2.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 22:54:01 +01:00
dependabot[bot]
90363719a2 chore(deps): bump on-headers and compression in /docs (#2999)
---
updated-dependencies:
- dependency-name: on-headers
  dependency-version: 1.1.0
  dependency-type: indirect
- dependency-name: compression
  dependency-version: 1.8.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 22:32:36 +01:00
dependabot[bot]
e57bf5af37 chore(deps): bump the docusaurus-minor-patch group across 1 directory with 3 updates (#2973)
Bumps the docusaurus-minor-patch group with 3 updates in the /docs directory: [@docusaurus/core](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus), [@docusaurus/preset-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic) and [@docusaurus/theme-mermaid](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-theme-mermaid).


Updates `@docusaurus/core` from 3.8.0 to 3.8.1
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v3.8.1/packages/docusaurus)

Updates `@docusaurus/preset-classic` from 3.8.0 to 3.8.1
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v3.8.1/packages/docusaurus-preset-classic)

Updates `@docusaurus/theme-mermaid` from 3.8.0 to 3.8.1
- [Release notes](https://github.com/facebook/docusaurus/releases)
- [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/docusaurus/commits/v3.8.1/packages/docusaurus-theme-mermaid)

---
updated-dependencies:
- dependency-name: "@docusaurus/core"
  dependency-version: 3.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: docusaurus-minor-patch
- dependency-name: "@docusaurus/preset-classic"
  dependency-version: 3.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: docusaurus-minor-patch
- dependency-name: "@docusaurus/theme-mermaid"
  dependency-version: 3.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: docusaurus-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 22:29:08 +01:00
Léon Hagenaars-Keus
9aaf87c6d2 docs: Updated putty link (#3020)
Solves issue #3019 (incorrect putty link)

- putty.org is not affiliated with the putty software
- the site now hosts links to interviews about a recent pandemic
- this pull request updates the link to the actual project page

Co-authored-by: Léon Hagenaars-Keus <lhagenaars@sogyo.nl>
2025-08-04 13:16:38 +01:00
Pete Johanson
edf5c0814f chore(main): release 0.3.0 (#2858) v0.3 v0.3.0 2025-08-01 18:44:20 -04:00
Nicolas Munnich
6c266b7123 chore(ci): Automatically bump version in user config template when releasing a new version (#3016) 2025-08-01 18:27:45 -04:00
Robert U
c25e927a2f chore(ci): Optimize build workflow (#2757)
* Use treeless clones in workflows
* Replace yaml2json with yq

Github's ubuntu runners come with `yq` installed, which can replace
piping `yaml2json` to `jq`. It also saves installing `yaml2json`.

It's worth noting that the `yq` version installed is the `go` version
(which has a slightly different syntax than the competing `python`
version).
2025-07-31 18:36:04 -04:00
Nicolas Munnich
c86f0d6ff4 chore: Add some basic encoder tests (#2845)
Adds some encoder tests for rotating, and basic layers.
Mock Kscans don't seem to interact nicely, slightly on the hacky side.
However, better to have hacky tests than no tests.
2025-07-31 18:29:59 -04:00
Genteure
af967667b0 fix(core): Correctly sync BAS battery level (#2977)
Fix BAS battery level showing 100% if controller boots up with 0% battery charge.

Closes zmkfirmware/zmk#2972
2025-07-31 17:51:21 -04:00
Pete Johanson
2ae5185419 fix(split): Compile and run properly in wired polling mode. (#3012)
Fixes for regressions from split refactors that broke polling mode
specifically.

Co-authored-by: honorless <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2025-07-31 17:09:25 -04:00
Pete Johanson
1530ae36c2 fix(split): Enable wired split by default if DTS is set (#3010)
Remove the previous condition on ZMK_SPLIT_WIRED that only enabled it if
!ZMK_BLE. We'll defer to the `depends on` to ensure the DTS exists to
use wired split to make that decision on enabling the feature.
2025-07-30 13:43:46 -04:00
Cem Aksoylar
1bac680c4f fix(behaviors): Correct macro release state for parametrized macros (#2942)
test(behaviors): Add parametrized macro test that fails

fix(behaviors): Correct macro release state for parametrized
2025-07-29 18:39:26 -04:00
snoyer
d09087f4dc feat(display): nice!view individual profile status (#2265)
Allow the nice!view widget to display the status of each profile by:

- not adding a circle around the number if the profile is not bound
- drawing a dashed circle around the number if a profile is bound but not connected
2025-07-26 18:46:51 +02:00
Nicolas Munnich
6d7bbc8670 feat(ci): Add stale GitHub Action to automatically close stale PRs (#2924)
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2025-07-21 19:11:56 +02:00
Joel Spadin
8059e671b2 fix(boards): Disable high voltage DC-DC by default (#2995)
Given a typical setup of a battery at ~4 V and a nice!nano v2 running at
3.3 V, I measured a small increase in power usage (using a Nordic PPK2)
when SOC_DCDC_NRF52X_HV was enabled. This changes the nice_nano_v2 and
mikoto boards so this option is disabled by default.

Fixes #2990
2025-07-21 17:14:29 +02:00
Cem Aksoylar
61325ee82c docs: Document requirements-extra.txt and endpoint selection for Studio (#3001)
* docs: Document requirements-extra.txt for Studio builds

* docs: Note endpoint selection requirement for Studio

* docs: Fix indents in list items in native setup page

Add this file to .prettierignore because it messes all the additional indents.
There is also no way to make prettier ignore a range of lines in MDX files AFAICT.

* Revert "docs: Fix indents in list items in native setup page"

This reverts commit 6d8aeba801.
2025-07-21 17:11:06 +02:00
Tobias Adolph
342d838913 fix(ble,hid): Fix smooth scrolling over BLE (#2998)
- Use correct MIN16 value in hid report. -32768 in 2's compliment is 8000(hex)
- Initialize resolution multiplier array
- Properly implement `read_hids_mouse_feature_report`

Fixes: #2957

Co-authored-by: Tobias Adolph <43353209+adolto@users.noreply.github.comgit>
2025-07-20 09:13:18 -06:00
Dimitri Krassovski
7292df02d4 feat(shields): Add a physical layout for a_dux (#3000) 2025-07-19 21:44:05 -07:00
snoyer
fe91cc6625 refactor(ble): add functions to check if profile is open/connected by address (#2993)
Helper functions for BLE profile statuses.
2025-07-19 07:51:53 -06:00
Joel Spadin
cef7af4408 fix: Fix build with Studio and USB but not UART (#2996)
Changed CONFIG_ZMK_STUDIO_TRANSPORT_UART to automatically enable itself
whenever a zmk,studio-rpc-uart chosen node is specified. The previous
behavior of enabling if CONFIG_ZMK_USB was enabled broke builds when
CONFIG_ZMK_STUDIO was enabled but the chosen node wasn't specified.
2025-07-11 22:07:38 -06:00
snoyer
9e905d6593 feat(ble): Add function to get profile address by index (#2992) 2025-07-09 20:25:11 -06:00
Nicolas Munnich
e93cd31a58 blog: Add blog post on pinning ZMK version (#2974)
* blog: Add blog post on pinning ZMK version

* docs: apply suggestions from code review

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>

* docs: bump date for correctly pinned template

---------

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2025-07-03 17:27:11 +02:00
Pete Johanson
6b44d33db2 feat(split): Runtime selection of split transport (#2886)
feat(split): Runtime selection of split transport

Allow building multiple split transports, and select an active
one based on the transport availability. Wired split availability
depends on additional `detect-gpios` which must be a GPIO pin
that goes active when a wired connection is present.

feat(split): Suspend/resume wired UART devices.

To better support runtime split support, suspend/resume the UART
as necessary to save power when not using the UART.

docs(split): Document adjusting nRF52 UART interrupt priorities

For wired split on nRF52, you may need to adjust the priority for UART
interrupts lower, to ensure the interrupts used for timing sensitive
BT operations can run when needed, so document this in our pinctrl docs.

refactor(split): Restore use of aync UART on nRF52.

With fixes for Zephyr UART driver, re-enable using async API on nRF52.

fix(split): Minor wired split fixes.

Various minor fixes for wired split to avoid spurious TX in half duplex,
etc.

fix: Unconditionally define HID payloads to avoid error.

Don't conditionally define HID indicator payload, to avoid compilation
errors.

docs(split): Expand on details of split transports.

Expand the split keyboard documentation with a more fleshed out section
on the available split trasnports, and what is and isn't supported by
each, including the runtime selection functionality.

---------

Co-authored-by: Nicolas Munnich <98408764+nmunnich@users.noreply.github.com>
2025-06-16 03:45:25 -04:00
badjeff
462d48b78e feat(pointing): Allow peripheral input processing to stop propagation (#2844)
Allow peripheral input processors to prevent event propagation to centrals.

---------

Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2025-06-16 02:23:25 -04:00
ouj4k2q5
eb99b4ede0 fix(docs): Fix soft off waker configuration example (#2960) 2025-06-08 17:24:21 +02:00
George Norton
239baa4875 feat(metadata): Add metadata to the mouse_key_press behavior (#2950)
Adds metadata to the mouse key press behavior so that mouse buttons can be
configured through studio
2025-06-02 14:32:18 -04:00
Cem Aksoylar
9da5d3ba82 fix(display): Make stock battery widget depend on the right symbol (#2953) 2025-06-02 07:25:08 -06:00
dependabot[bot]
f568b25e56 chore(deps): bump the docusaurus-minor-patch group (#2948) 2025-06-01 23:21:14 -07:00
Pete Johanson
cb00077273 chore(docs): Fix prettier warnings (#2952)
* chore(docs): Fix prettier warnings
2025-06-01 12:02:39 -07:00
cormoran
461f5c832f fix(pointing): Avoids mutex leak for default layer toggle event (#2934)
Remove unnecessary special check for toggle of layer 0,
to avoid mutex leak.
2025-05-09 20:01:17 -04:00
Steven Sheldon
879cff7595 docs: Document the default flavor of layer-tap (#2937) 2025-05-08 11:43:48 -07:00
FearlessSpiff
ad6a181d7e feat(shield): Add underglow for reviung5 (#2191) 2025-05-05 20:46:21 +02:00
Omar L.
f1b944b1ef docs: Add secondary functions for the keypad number keys (#2933)
* docs: Add secondary functions for the keypad number keys

* docs: Change descriptions of secondary functions for the keypad number keys

The descriptions were updated to match those of the USB HID usage tables.
2025-04-30 17:32:22 +01:00
Aasim-A
4235c8b491 chore: Add typescript support to eslint, fix errors (#2923) 2025-04-22 20:51:41 -07:00
Pete Johanson
e3030bfcc8 fix(combos): Properly clean up all old candidates. (#2928) 2025-04-22 01:17:12 -04:00
Pete Johanson
00ff486931 fix(combos): Restore prompts for two deprecated Kconfigs (#2926)
Restore prompts for deprecated combo Kconfig symbols, to avoid errors
for existing builds that set them explicitly.
2025-04-21 02:47:39 -04:00
Pete Johanson
c4ee8ab86b refactor(combos): Reduce RAM usage, simplify config (#2849)
* Reference combos by index, not 32-bit pointers, and store bitfields
instead of arrays in several places, to bring down our flash/RAM usage.
* Use bit field to track candidate combos, to avoid needing an explicit
`ZMK_COMBO_MAX_COMBOS_PER_KEY` setting.
* Determine the max keys per combo automatically from the devicetree,
so we remove the ZMK_COMBO_MAX_KEYS_PER_COMBO Kconfig symbol.
2025-04-20 05:01:22 -04:00
romil-soni
d9576c5534 fix(docs): remove title as alt text (#2922) 2025-04-20 10:41:13 +02:00
Xudong Zheng
c6738ce2e5 refactor(split): use LOG_HEXDUMP_DBG() to print position state data (#2854)
The previous code prints one line per byte, making debugging difficult.
2025-04-20 04:36:52 -04:00
Joel Spadin
2a7ab8ed0a Improve VS Code Python settings (#2860)
chore: Fix deprecated vscode Python formatter

The python.formatting.provider setting was deprecated in favor of
having a separate extension for each Python formatter and using
editor.defaultFormatter instead. This adds a recommendation for the
Black formatter extension and selects it for Python files.

chore: Limit vscode Python analysis paths

This limits vscode's Python analysis to the scripts folders so it
doesn't slow down trying to scan all of Zephyr.
2025-04-20 04:34:15 -04:00
Tobias Adolph
2c0e7daced fix(hid): Fix scroll value truncation (#2865)
Fix 8 bit truncation of 16 bit scroll values when passed into
functions `zmk_hid_mouse_scroll_set` and
`zmk_hid_mouse_scroll_update`.

Fixes: #2864

Co-authored-by: Tobias Adolph <43353209+adolto@users.noreply.github.comgit>
2025-04-20 04:28:51 -04:00
Tygo van den Hurk
84772ebf14 fix: changed shebang to make scripts more platform independent (#2893)
See for example this thread:

https://stackoverflow.com/questions/21612980/why-is-usr-bin-env-bash-superior-to-bin-bash

on why its better to use '#!/usr/bin/env bash' instead.
Without this change these scripts will not run on some
platforms. This is not a breaking change for the
platforms it already works on.
2025-04-20 04:23:31 -04:00
Genteure
7823a43f62 docs: fix path typo in module-creation.md (#2920) 2025-04-16 09:53:56 -07:00
dependabot[bot]
90bca78300 chore(deps): bump estree-util-value-to-estree in /docs (#2914) 2025-04-07 21:54:32 -07:00
Will Hack
a34839f001 chore(eslint): upgrade to eslint v9 and flat config (#2909) 2025-04-06 18:16:03 -07:00
Maximilian Engl
6f85f48b19 fix(split): add source to battery event (#2901) 2025-04-04 10:43:51 -07:00
dependabot[bot]
9aadc3e5ab chore(deps): bump image-size from 1.2.0 to 1.2.1 in /docs (#2903) 2025-04-03 22:54:30 -07:00