Commit Graph

2782 Commits

Author SHA1 Message Date
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
Nicolas Munnich 1c76bcb0a1
blog: Add meeting notes from February (#2890)
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2025-03-25 19:20:50 +01:00
Cem Aksoylar d733fbafa5
docs: Document missing user-defined input processors (#2895) 2025-03-25 14:35:38 +01:00
Nicolas Munnich 49f86f7ed0
docs: Update hold-tap page (#2888)
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2025-03-23 18:12:50 -07:00
Pete Johanson 5bb39ec3ea
fix(split): Conditionally build all split code (#2884)
Don't add the split CMake subdirectory unless the feature is enabled.
2025-03-18 18:49:59 -04:00
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
Genteure 5ba7e260f4
docs: update name of XIAO boards (#2869) 2025-03-17 15:15:57 -07:00
Cem Aksoylar bffbccc748
chore(deps): npm update on docs (#2878) 2025-03-16 20:47:42 -07:00
Cem Aksoylar b366df8b17
docs: Fix powershell tab in user setup (#2879) 2025-03-16 20:14:48 -07:00
JJGadgets 4da89bd997
fix(ci): pin tj-actions/changed-files due to compromise (#2874)
Ideally it's be swapped out for an alternative but for now this is to mitigate.
2025-03-15 02:25:01 -04:00
idesignstuff 5d9920406c
Update container.mdx for clarity about ZMK repo folder location (#2868) 2025-03-10 21:52:30 -07:00
Cem Aksoylar f5a838b4bd
docs: Fix wakeup-source property location for composite kscan (#2861) 2025-03-09 14:59:57 -07:00
Allister MacLeod eb170c930f
feat(shields): Add physical layouts for tester_xiao and tester_pro_micro (#2852)
feat(shields): Add tester_xiao layouts

Added two layouts for the XIAO tester shield:

 - Keys arranged to match the XIAO pinout, viewed from the front
 - Single row of eleven keys

These layouts are abstractions since the tester_xiao shield may be
used in a situation where the "keys" are actually jumper wires on a
breadboard or the like.

feat(shields): Add tester_pro_micro layouts

Added two layouts for the Pro Micro tester shield:

 - Keys arranged to match the Pro Micro pinout, viewed from the front
 - Single row of eighteen keys
2025-03-07 19:22:25 -07:00
Pete Johanson 241ff39556
chore(main): release 0.2.1 (#2851) 2025-03-02 07:45:12 -07:00
Pete Johanson f20e6ea759
fix(behaviors): Proper comma separated device list (#2850)
Properly generate the comma separated list of devs in caps word/
key repeat.
2025-03-02 06:49:07 -07:00
Pete Johanson fadafc7759
chore(main): release 0.2.0 (#2693) 2025-03-01 11:29:58 -07:00
Pete Johanson 1e3e62c13d
fix(pointing): Temp layer threading protection. (#2729)
fix(pointing): Temp layer threading protection.

Ensure all layer operations occur on the system work queue thread.

Fixes: #2719

fix(pointing): Handle layer events to disable events

Make the temp layer input processor propely handle layers getting
deactivated externally before the temp layer timeout.

Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
2025-02-28 20:37:55 -05:00
Pete Johanson 21f54e7238
refactor(behaviors): Remove unneeded init funcs. (#2843)
Initialization functions are optional for Zephyr drivers, so remove
all our superfluous empty init functions.
2025-02-26 17:54:29 -05:00
Cem Aksoylar 7186528f77
fix(behaviors): Make multiple sticky keys work on same key position (#2758)
test(behaviors): Add same position sticky key tests

fix(behaviors): Make multiple sticky keys work on same key position

refactor(behaviors): Remove unused param2 in sticky keys
2025-02-26 17:54:08 -05:00
Pete Johanson 9406d39d14
refactor(behaviors): Small caps word RAM reduction. (#2842)
Don't use lazy initialized in-memory array of devices.
2025-02-26 17:01:04 -05:00
Nicolas Munnich 82216be635
chore: Add a deprecation warning to config/boards (#2811) 2025-02-26 15:16:50 -05:00
Xudong Zheng ea267b0f35
fix(ble): enforce maximum length for dynamic device name (#2784) 2025-02-26 13:29:30 -05:00
Pete Johanson 2fe55c4c41
refactor(behaviors): Minor RAM usage tweaks (#2839)
Follow up cleanup of some config structs not marked as const.
2025-02-26 13:17:23 -05:00
Cem Aksoylar d2eb6de7ad
docs: Add query strings to tabs (#2840) 2025-02-25 16:31:57 -08:00
Pete Johanson 209085da73
refactor(behaviors): Add max-held tap-dance config (#2838)
refactor(behaviors): Add max-held tap-dance config

Add new `CONFIG_ZMK_BEHAVIOR_TAP_DANCE_MAX_HELD` config for reducing RAM
usage on more constrained devices.

refactor(behaviors): Move defaults to Kconfig.defaults
2025-02-25 14:12:27 -05:00
Pete Johanson 18d0d2f476
refactor(combos): Reduce combo RAM usage (#2837)
Properly mark combo configs as `const` so they are place in flash,
not RAM.
2025-02-25 13:38:51 -05:00
Cem Aksoylar 8575fc8a9d
docs: Inline simple physical layout info in new shield guide (#2827)
docs: Inline simple physical layouts in new shield guide

docs: Fix broken anchor in module creation

docs: Make physical layout transform label consistent and comment
2025-02-17 15:59:54 -08:00
Cem Aksoylar 9d234cbb10
docs: Make default keymap in new shield guide complete (#2825)
Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
2025-02-17 11:55:42 -08:00
Nicolas Munnich e8ec9b65f8
docs: Add "planned: import/export keymap" to the studio features page (#2821) 2025-02-17 11:44:42 -08:00
Nicolas Munnich d0d313409b
docs: Improved some links to modules (#2822)
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2025-02-17 10:16:36 +01:00
Nicolas Munnich 5926269ea5
docs: Add KiCAD note and titles to physical layouts page (#2823)
docs: Note that Nick Coutsos' tool can import from KiCAD

docs: Add titles to some code blocks in physical layouts
2025-02-16 20:12:31 -08:00
Nicolas Munnich eeb8a00778
docs: Add a page on module creation (#2456)
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2025-02-14 16:32:18 -08:00
Pete Johanson aa3e5dd70f
feat(display): Add config for display update period (#2819)
Add `CONFIG_ZMK_DISPLAY_TICK_PERIOD_MS` Kconfig to allow tweaking
the period between display updates.
2025-02-10 13:32:16 -05:00
Pete Johanson 627e6dbec9
feat(display): Add ability to set display on/off pin. (#2814)
Zephyr is still working on the plan upstream for generically controlling
display "backlight" pins with GPIO/PWM, so in the meantime, add our
own chosen property `zmk,display-led` that is set to an LED device child
to allow blanking/unblanking of devices that use a dedicated backlight
control pin.
2025-02-07 17:49:30 -07:00
Alex Rozhkov 424e53210e
feat(shields): Add physical layout for Lotus58 (#2753)
Added physical layout and studio support for Lotus58.
2025-02-07 14:35:13 -05:00
Pete Johanson 4b4a8a35f3
fix(display): POSIX lvgl fixes (#2812)
fix(display): Do LVGL task processing in main on POSIX.

An SDL/Zephyr bug prevents proper display when SDL calls are
made from anything but the main thread, so add task handling
in our simple main function when on POSIX.

fix(usb): Compilation fix for 64-bit targets

Properly handle differences in the size of `size_t` on 64-bit
architectures.

fix(display): Imply, but don't force, LVGL mono theme

Some targets may be using color displays, so instead of forcing
on the mono theme, merely imply it to default it
2025-02-07 02:05:21 -05:00
Cem Aksoylar 0f7c11248a
feat(pointing): Add pre-defined scroll scaler and mouse scroll tests (#2759)
feat(pointing): Add pre-defined scroll scaler

tests(pointing): Add mouse scroll tests
2025-02-04 10:27:14 -07:00
Nicolas Munnich 8e065d55b9
fix(kscan): Remove warning when keyboard is built without CONFIG_PM_DEVICE (#2808) 2025-02-01 11:16:52 -07:00
Pete Johanson 425256bc0d
fix(display): Only default mono theme when 1bpp (#2804)
In order to have flexibility for color displays, only imply the mono
theme if we have 1bpp.
2025-01-31 22:53:35 -05:00
Cem Aksoylar 72b00b3f58
docs: Add pointers to final Kconfig/devicetree files (#2796)
docs: Add diagnosis pointers for Kconfig/devicetree outputs

docs: Add tip boxes for diagnosing config/devicetree changes
2025-01-25 13:04:50 -08:00
Cem Aksoylar e4885d5d4c
docs: Update keymaps index intro (#2790)
Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
2025-01-25 12:30:50 -08:00
Cem Aksoylar 4f72e7cb25
docs: Update intro page (#2767) 2025-01-22 16:58:15 -08:00
Cem Aksoylar 4882a62c40
docs: Update dongle FAQ entry (#2788) 2025-01-22 10:09:03 +01:00