feat: Allow layer behaviors to "lock" layers on (#2717)

* refactor(core)!: Allow layer behaviors to "lock" layers on

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

* docs: Added documentation note on locking layers

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

---------

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
This commit is contained in:
Nicolas Munnich 2025-11-14 22:13:35 +00:00 committed by GitHub
parent f9be3ed9c0
commit 5138c6fb14
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
34 changed files with 433 additions and 75 deletions

View file

@ -15,6 +15,7 @@
compatible = "zmk,behavior-to-layer";
#binding-cells = <1>;
display-name = "To Layer";
locking;
};
};
};

View file

@ -15,6 +15,7 @@
compatible = "zmk,behavior-toggle-layer";
#binding-cells = <1>;
display-name = "Toggle Layer";
locking;
};
};
};

View file

@ -6,3 +6,8 @@ description: Momentary layer on press/release behavior
compatible: "zmk,behavior-momentary-layer"
include: one_param.yaml
properties:
locking:
type: boolean
description: Whether to "lock" the layer active, preventing behaviors without the "locking" property from deactivating the layer

View file

@ -6,3 +6,8 @@ description: To Layer
compatible: "zmk,behavior-to-layer"
include: one_param.yaml
properties:
locking:
type: boolean
description: Whether to "lock" the layer active, preventing behaviors without the "locking" property from deactivating the layer

View file

@ -10,9 +10,11 @@ include: one_param.yaml
properties:
toggle-mode:
type: string
required: false
default: "flip"
enum:
- "on"
- "off"
- "flip"
locking:
type: boolean
description: Whether to "lock" the layer active, preventing behaviors without the "locking" property from deactivating the layer