forked from zmkfirmware/zmk
-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ZMK Upstream Rebase #35
Open
chrisandreae
wants to merge
374
commits into
main
Choose a base branch
from
zmk-update
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* 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.
* 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.
* Update our GPIO kscan drivers to more completely support PM device, by doing proper hardare init/deinit in the PM action hook.
* Add physical layout definitions for uno and split uno shields.
* Document how to define one or more physical layouts and assign the chosen one. Co-authored-by: Cem Aksoylar <[email protected]>
* Add storage partition. * Default necessacy Kconfig symbols for flash/settings.
* 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: zmkfirmware#2361
* 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.
…ns (zmkfirmware#2387) Co-authored-by: Cem Aksoylar <[email protected]>
Co-authored-by: Cem Aksoylar <[email protected]>
* Other drivers properly disconnect/de-config pins now, so we need to be sure the wakeup trigger connects the wake pin as input.
* Clean up composite kscan to allow multiple instances properly. * Implement PM hook and properly suspend/resume the child devices. Fixes: zmkfirmware#2388
Co-authored-by: Nicolas Munnich <[email protected]>
* Add new Kconfig symbols to config max held sticky-keys/hold-taps and for max captured events during hold-tap resolution.
Co-authored-by: Cem Aksoylar <[email protected]>
* Newer Docker image requires --break-system-packages for pip.
…#2594) Add generic extension nexus node for consistent GPIO access to the extension pins in a left/right agnostic way.
… 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](FortAwesome/Font-Awesome@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](FortAwesome/Font-Awesome@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] <[email protected]>
Co-authored-by: Nicolas Munnich <[email protected]>
…kfirmware#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
* 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
Ensure the set active physical layout RPC returns the full keymap details including the available layers.
* added 4x10 grid layout Co-authored-by: Cem Aksoylar <[email protected]>
* 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 <[email protected]> Co-authored-by: Alexander Krikun <[email protected]> Co-authored-by: Robert U <[email protected]> Co-authored-by: Shawn Meier <[email protected]> Co-authored-by: Chris Andreae <[email protected]> Co-authored-by: Anant Thazhemadam <[email protected]> Co-authored-by: Erik Tollerud <[email protected]> Co-authored-by: Nicolas Munnich <[email protected]>
…#2702) * Update a few mouse.h -> pointing.h missed refactors.
* 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
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.
…ware#2555) feat: added toggle mode to key and layer toggles docs: documented toggle mode changes
… updates (zmkfirmware#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](prettier/prettier@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](microsoft/TypeScript@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](webpack/webpack@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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 <[email protected]> Co-authored-by: Cem Aksoylar <[email protected]>
Match the behavior for key press release on split peripheral disconnect, and track pressed input keys to release them as needed on disconnect.
Adds Glove80's status indicator using RGB underglow support. Requires ZMK PR#999 and PR#1243. The underglow status is able to show layer state, battery levels, caps/num/scroll-lock, BLE and USB state. The underglow positions selected for each of these indicators is configured using the new devicetree node zmk,underglow-indicators, which takes an array of integer LED positions for each feature.
Disable underglow when battery below 10%, halve brightness when battery below 20%
Adds a Kconfig setting for the default EXT_POWER status at initialization time. Previously it was always initialized to on if no saved value was present.
Provides an entry point that builds and returns a combined LH + RH keyboard firmware when provided a keymap via a POST body. Wraps compilation with ccache, and includes a pre-warmed cache of the build in /tmp/ccache. To maximize chance of a direct cache hit, changes the lambda driver to always build in /tmp/build. some back of the envelope measurements (2012 xeon e3-1230v2, nixos) clean build, no cache -> 21.308 clean build, cache -> 7.145 modified keymap, clean build, cache -> 12.127
Additionally adds a board definition for Glove80-v0, an early version of Glove80.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rebase to upstream ZMK as of 2024-12-19 (bb48661)