Commit Graph

2731 Commits

Author SHA1 Message Date
Nick Winans 40ea92d201
docs: Link to ZMK Studio download page (#2783) 2025-01-20 21:30:55 -08:00
dependabot[bot] db2fc2bffd
chore(deps): bump katex from 0.16.11 to 0.16.21 in /docs (#2774)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-17 15:15:54 -08:00
Pete Johanson e4f1454e0b
refactor(keymap): Reduce flash usage for studio builds (#2771)
When building for ZMK Studio, we can use the constant stock keymap
for init of the in-memory keymap, to avoid duplicate flash usage
for the keymap from the devicetree.
2025-01-15 16:51:26 -05:00
Pete Johanson c367d8f636
feat(core): Make physical layout key rotation optional (#2770)
To be able to save on flash space, for layouts on space constrained
devices that don't require rotation, make key rotation props
optional behind a new Kconfig flag.
2025-01-15 16:48:18 -05:00
Pete Johanson 6941abc2af
fix(drivers): Proper static/const for data/config (#2769)
Save a tiny bit of RAM by properly marking our device config
struct instances const consistently, and also add missing static
modifiers to properly isolate config/data for drivers.
2025-01-15 12:35:35 -05:00
Cem Aksoylar 700e9b264f
docs: Move more sections under hardware integration (#2704)
docs: Move battery sensing hardware integration to new page

docs: Refactor lighting hardware integrations to new category

docs: Link to pin control page from lighting pages

docs: Consolidate lighting feature pages

docs: Remove incorrect redirect

docs: Consolidate lighting config pages
2025-01-13 21:14:25 -08:00
Pete Johanson 8dddb1d9d7
Testing: split input test (#2762)
test(pointing): Add mock input device.

New mock input device to generate input events for tests.

test(split): Add peripheral input test.

Test event propagation from peripheral input devices.

fix(split): Proper scoping for local within switch.

Minor compile fix.

chore: Fix up test snapshots after logging changes.

Adjust the test snapshots after logging changes to the central.

fix(kscan): Don't fire last mock event twice.

Fix a bug where the kscan mock would raise the last mock event
twice before halting processing.
2025-01-13 15:15:16 -05:00
Cem Aksoylar 022603ec16
docs: Fix broken anchors in dongle page (#2764) 2025-01-13 09:21:55 +01:00
Aasim-A b93bf6d3fd
docs: Fix incorrect `kscan` value (#2763) 2025-01-12 15:51:30 +01:00
Pete Johanson d0ee30bfaa
Testing: split ble encoder test (#2754)
test(sensors): Add mock encoder sensor

Add a new mock sensor driver for generating mock encoder sensor channel
data.

test(split): Add a peripheral sensor split test

Test BLE split logic for peripheral sensors (encoders).
2025-01-06 14:41:02 -05:00
Cem Aksoylar 3377ed02a8
docs: Improve pointing docs (#2703)
docs: Add missing code fence languages in pointing

docs: Fix default msc exponent in example

docs: Make pointing hardware integration follow semantic structure
2025-01-04 11:15:32 -08:00
Pete Johanson 36508c27fd
fix(studio): Allow adding layers after a layer move (#2748)
Properly return the available layers in the move layer response.
2025-01-03 19:19:19 -05:00
Pete Johanson e6343f44ce
test(split): Test split HID indicator setting. (#2747)
Add integration test for HID indicator state being propagated
to split peripherals.
2025-01-03 18:05:18 -05:00
Nicolas Munnich bc6bb90414 docs: added a page on dongles.
Co-authored-by: rasmuskoit <rasmuskoit@gmail.com>
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2025-01-02 10:44:50 -08:00
Willow Herring 05abd677c5
chore: Add trailing lines to fix build warnings (#2743)
When building a unibody or central warnings get thrown for the backslash newlines at EOF in combos.h and input_listeners.h. Adding a trailing newline to the affected files rectifies this
2025-01-02 08:58:49 -07:00
Pete Johanson f0a77b888a
fix(combos): Properly report combos len with emply block (#2739)
Handle the scenario where there is an empty combos block and return
a zero combos length.
2025-01-01 18:14:53 -05:00
Pete Johanson 85aba16eec
testing: Add split BLE tests (#2737)
* Enhance the BLE test runner to build additional peripheral builds
  when detecting peripheral*.overlay files in the test.
* Add basic and multiple-peripheral tests to exercise the testing
  support
* Add test for triggering local behaviors on split peripherals.

fix(ble): Fix building split code w/o settings

* Properly exclude storing peripheral addresses to settings when
  settings support isn't turned on.
2025-01-01 18:13:47 -05:00
Robert U 3f6841c95f
chore: Allow running tests from anywhere and support EXTRA_MODULES (#2725)
* Allow running tests from anywhere in the workspace
* Trigger test workflow if run-test.sh changes
2024-12-20 15:19:56 -05:00
Nicolas Munnich 2f172f63c2
chore: Docs bullet point in PR checklist (#2718) 2024-12-20 14:31:37 -05:00
Nicolas Munnich bb486619a1
fix: Kconfig refactor now works correctly with external modules (#2711) 2024-12-18 23:32:30 -07:00
Pete Johanson cb867f92db
Feature: input processor behavior invocation (#2714)
refactor(pointing): Allow stopping event propagation

    Allow input processors to return a special value if a given input event
    should not be further processed/propagated.

feat(pointing): Add behavior input processor

    Add the ability to intercept certain input events and trigger behaviors
    when they occur.

Co-authored-by: Jorge Villalobos <minusfive@users.noreply.github.com>
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-12-17 20:50:06 -05:00
dependabot[bot] d0016b34f8
chore(deps-dev): bump the development group across 1 directory with 7 updates (#2698)
Bumps the development group with 7 updates in the /docs directory:

| Package | From | To |
| --- | --- | --- |
| [@docusaurus/module-type-aliases](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-module-type-aliases) | `3.6.1` | `3.6.3` |
| [@docusaurus/tsconfig](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-tsconfig) | `3.5.2` | `3.6.3` |
| [@docusaurus/types](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-types) | `3.6.1` | `3.6.3` |
| [json-schema-to-typescript](https://github.com/bcherny/json-schema-to-typescript) | `15.0.2` | `15.0.3` |
| [prettier](https://github.com/prettier/prettier) | `3.3.3` | `3.4.2` |
| [typescript](https://github.com/microsoft/TypeScript) | `5.6.3` | `5.7.2` |
| [webpack](https://github.com/webpack/webpack) | `5.96.1` | `5.97.1` |



Updates `@docusaurus/module-type-aliases` from 3.6.1 to 3.6.3
- [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.6.3/packages/docusaurus-module-type-aliases)

Updates `@docusaurus/tsconfig` from 3.5.2 to 3.6.3
- [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.6.3/packages/docusaurus-tsconfig)

Updates `@docusaurus/types` from 3.6.1 to 3.6.3
- [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.6.3/packages/docusaurus-types)

Updates `json-schema-to-typescript` from 15.0.2 to 15.0.3
- [Changelog](https://github.com/bcherny/json-schema-to-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bcherny/json-schema-to-typescript/commits)

Updates `prettier` from 3.3.3 to 3.4.2
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.3.3...3.4.2)

Updates `typescript` from 5.6.3 to 5.7.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.6.3...v5.7.2)

Updates `webpack` from 5.96.1 to 5.97.1
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.96.1...v5.97.1)

---
updated-dependencies:
- dependency-name: "@docusaurus/module-type-aliases"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development
- dependency-name: "@docusaurus/tsconfig"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development
- dependency-name: "@docusaurus/types"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development
- dependency-name: json-schema-to-typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-13 10:07:46 +01:00
Nicolas Munnich ec6b770947
docs: Minor touchups to studio related bits (#2707) 2024-12-13 10:03:08 +01:00
Nicolas Munnich 4ef231f4bb
feat: Added `toggle-mode`, allowing toggle-on and toggle-off (#2555)
feat: added toggle mode to key and layer toggles

docs: documented toggle mode changes
2024-12-12 19:13:56 -05:00
Joel Spadin 7013158a67
fix: Fix warnings in nanopb encoding code (#2643)
The "arg" field on nanopb structs is a void* because it is shared
between the encode and decode callbacks, even though the encode
callback probably should not modify the data. We are passing const data
using this non-const pointer, which causes warnings about discarding
const. This commit explicitly casts to void* to suppress these warnings.
2024-12-11 15:00:48 -05:00
svek1 a8f5ab67b5
fix: allow kscan-composite to wake up device. (#2682)
* include kscan.yaml so we can set kscan-composite as a wakeup source
* modify enable and disable callback to check for wakeup capabilities of
composite and children
* disable children wakeup source

The disable function is only called
when the composite is not an enabled wakeup source.
In that case the children should also not be an enabled
wakeup source, so they can get suspended
2024-12-11 14:46:22 -05:00
Pete Johanson 84baf929c9
fix(pointing): Complete header rename missed in refactor (#2702)
* Update a few mouse.h -> pointing.h missed refactors.
2024-12-10 02:29:35 -05:00
Pete Johanson 6b40bfda53
feat(mouse): Add mouse move and scroll support (#2477)
* feat(mouse): Add mouse move and scroll support

    * Use Zephyr input subsystem for all pointers.
    * Input processors for modifying events, e.g. scaling, swapping
      codes, temporary (mouse) layers, etc.
    * Mouse move/scroll behaviors.
    * Infrastructure in place for physical pointer input devices.

* feat: Add input split support.

* docs: Add initial pointer docs.

---------

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
Co-authored-by: Alexander Krikun <krikun98@gmail.com>
Co-authored-by: Robert U <urob@users.noreply.github.com>
Co-authored-by: Shawn Meier <ftc@users.noreply.github.com>
Co-authored-by: Chris Andreae <chris@andreae.gen.nz>
Co-authored-by: Anant Thazhemadam <47104651+thazhemadam@users.noreply.github.com>
Co-authored-by: Erik Tollerud <erik.tollerud@gmail.com>
Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
2024-12-09 19:45:41 -05:00
pabile 7e8c542c94
feat(studio): Add ortho_4x10 grid layout (#2651)
* added 4x10 grid layout

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-12-09 12:53:54 -05:00
Pete Johanson 0820991901
fix(studio): Properly return complete keymap from RPC (#2696)
Ensure the set active physical layout RPC returns the full keymap
details including the available layers.
2024-12-06 18:10:58 -05:00
yuki b26058b6c7
feat(boards): Update for mikoto board definition (#1946)
* Set default revision to 5.20
* update mikoto board defs
* add revision info to mikoto.zmk.yml
* use zephyr aliases to handle mikoto_520
* enable pull-ups for on-board i2c
2024-12-05 02:02:58 -05: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
Pete Johanson a9ff3a78a1
chore(main): release 0.1.0 (#2657) 2024-12-04 14:26:12 -05:00
Cem Aksoylar 3f7c9d7cc4
docs: Create a Hardware Integration index page (#2634)
Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
2024-11-28 23:00:33 -08:00
Cem Aksoylar 978c7cb124
docs: Mention combos in reset behaviors (#2677)
Fixes #2652
2024-11-28 14:45:33 +01:00
Cem Aksoylar 230b860f31
fix(boards): Disable uart serial node in Xiao BLE by default (#2672) 2024-11-25 17:19:13 -05:00
dependabot[bot] d39941dfbe chore(deps): bump the prod-other-minor-patch group across 1 directory with 2 updates
Bumps the prod-other-minor-patch group with 2 updates in the /docs directory: [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) and [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome).


Updates `@fortawesome/fontawesome-svg-core` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

Updates `@fortawesome/free-solid-svg-icons` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-svg-core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-other-minor-patch
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-other-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 14:45:34 -08:00
Pete Johanson fb359f5766
feat(boards): Add glove80 nexus node for extension GPIO. (#2594)
Add generic extension nexus node for consistent GPIO access
to the extension pins in a left/right agnostic way.
2024-11-20 18:36:32 -05:00
Genteure 76ee97e1b6
docs: Move defines to the end in layer behaviors (#2639) 2024-11-20 09:58:05 -08:00
Danil Romanov 33113c7028
docs: Update new-shield.mdx (#2664) 2024-11-20 18:54:54 +01:00
Pete Johanson 6934e362b5
docs(ci): Netlify ignore command to check branch (#2659)
Add a separate ignore script that checks git changes but also
only deploys main and version branches to allow us to deploy
versioned docs.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-11-18 20:26:26 -05:00
dependabot[bot] 4fcc308910 chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /docs
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 14:22:33 -08:00
Pete Johanson ffa485c11b
feat(ci): Add release-please automation with VERSION (#2622)
* Add VERSION file that Zephyr will pick up
* Add release-please automation
* Updated docs on commits messages, and PR process
* Updated PR template to match.

---


Release-As: 0.1.0

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-11-18 16:46:26 -05:00
Azalea Colburn 70542990c0
docs: Remove dangling 0 in sticky keys docs 2024-11-18 10:56:26 -08:00
esplo f8eff2fe34
fix: include a header file for RC macros (#2649) 2024-11-16 09:51:21 +01:00
Peter Johanson 888c0d966c feat(drivers): Support init high/low in 595 driver
Add support for initializing a pin to a given high/low value during
configuration. Needed for proper initialization by systems like
GPIO hogs or gpio-leds Zephyr drivers.
2024-11-15 11:00:37 -07:00
Nicolas Munnich 58de2eb5e9
docs: touchups on the soft off information for improved clarity. (#2647) 2024-11-15 00:44:40 +01:00
Cem Aksoylar e4339241ea
docs: Mention build.yaml in Studio instructions (#2644) 2024-11-14 09:20:51 +01:00
Nicolas Munnich fed66a92d0 fix(studio): Improved error message when keyboard is missing a physical layout. 2024-11-13 11:38:41 -07:00
Nicolas Munnich 9d9f626938 docs: Some minor improvements to the studio features page 2024-11-13 11:17:11 -07:00