-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Studio: keymap subsystem #2268
Studio: keymap subsystem #2268
Conversation
ba1f1d1
to
66157f1
Compare
7656aa8
to
f8be471
Compare
fb81427
to
7585225
Compare
19fe149
to
7b149df
Compare
cd4643b
to
c648db4
Compare
14a7781
to
5f84d95
Compare
docs/docs/features/studio.md
Outdated
|
||
### Omit Specific Behaviors | ||
|
||
You can omit a specific behaviors by defining a variable like `ZMK_BEHAVIORS_OMIT_FOO` at the top of your keymap: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"variable like ZMK_BEHAVIORS_OMIT_FOO
" isn't super clear. Continuing the discussion above, we should have some description of how to map a behavior to a symbol to use in place of FOO
.
Also, I think it is important (possibly even big warning box important) to note that these defines need to come before including behaviors.dtsi.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a note to this, and there is a note about the order needed here, but I can make it even more obvious if folks thinks this needs it.
88dc737
to
8f8b6e4
Compare
09f1e4c
to
746e981
Compare
* Add keymap API for getting/setting a bindings in keymap layers. * Add layer move support via intemediary ordering array. * Add settings storage for keymap changes.
* New shield to easily test studio using the `native_posix_64` board.
* Use defines to keep either all behaviors with omits, or selective behaviors with explicit kept behavior, before including `behavior.dtsi` in keymaps. * Default ZMK_BEHAVIORS_KEEP_ALL when building with the studio RPC endpoint snippet.
* Make it easier to test native builds of our shields by adding `posix_pro_micro` and `posix_seeed_xiao` so you can build posix target of, e.g. `corne_left` for testing ZMK Studio.
* Add Corne and Ferris shared layouts, and update the respective shields to use them. * Add a sample Hummingbird physical layout for testing posix xiao. * Add Sofle physical layout as an additional reference.
* Document setting up studio for a new keyboard definition. * Document how to enable ZMK Studio for a build, adding reserved layers, and controlling which behaviors are built into a studio firmware. * Document `&studio_unlock` behavior. * Document studio configuration options. Co-authored-by: Cem Aksoylar <[email protected]>
746e981
to
a18e562
Compare
This PR is layered on top of #2254 showing how this will be evolving for the keymap subsystem.
Core features:
Adds a new keymap subsystem that:
Leaving this as a draft PR for now pending review of #2231 and #2254