summaryrefslogtreecommitdiff
path: root/app/tests/sticky-keys/2-sl-dn-up-kcdn-kcup/native_posix.keymap
diff options
context:
space:
mode:
authorOkke Formsma <okke@formsma.nl>2020-12-12 21:35:52 +0100
committerPete Johanson <peter@peterjohanson.com>2021-01-28 17:10:04 -0500
commitc925cf02dd1999c0e968ead7652956e5e1925875 (patch)
tree0040ab144a3c7d1ca176539116b37ebbca308a7c /app/tests/sticky-keys/2-sl-dn-up-kcdn-kcup/native_posix.keymap
parenta89d8a6ea425e28856e762bd4db50a6a40ef58e8 (diff)
feature(sticky_keys): add quick-release
when quick-release is enabled, the sticky key is released immediately after another key is pressed
Diffstat (limited to 'app/tests/sticky-keys/2-sl-dn-up-kcdn-kcup/native_posix.keymap')
-rw-r--r--app/tests/sticky-keys/2-sl-dn-up-kcdn-kcup/native_posix.keymap52
1 files changed, 52 insertions, 0 deletions
diff --git a/app/tests/sticky-keys/2-sl-dn-up-kcdn-kcup/native_posix.keymap b/app/tests/sticky-keys/2-sl-dn-up-kcdn-kcup/native_posix.keymap
new file mode 100644
index 0000000..4470fb2
--- /dev/null
+++ b/app/tests/sticky-keys/2-sl-dn-up-kcdn-kcup/native_posix.keymap
@@ -0,0 +1,52 @@
+#include <dt-bindings/zmk/keys.h>
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/kscan-mock.h>
+
+/*
+ sticky layers should quick-release.
+ Thus, the second keypress should be on the default layer, not on the lower_layer.
+*/
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &sk E &sl 1
+ &kp A &kp B>;
+ };
+
+ lower_layer {
+ bindings = <
+ &sk LEFT_CONTROL &kp X
+ &kp Y &kp Z>;
+ };
+ };
+};
+
+&kscan {
+ events = <
+ /* press sl 1 */
+ ZMK_MOCK_PRESS(0,1,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ /* press X */
+ ZMK_MOCK_PRESS(0,1,10)
+ /* press A */
+ ZMK_MOCK_PRESS(1,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ ZMK_MOCK_RELEASE(1,0,10)
+
+ /* repeat test to check if cleanup is done correctly */
+ /* press sl 1 */
+ ZMK_MOCK_PRESS(0,1,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ /* press X */
+ ZMK_MOCK_PRESS(0,1,10)
+ /* press Y */
+ ZMK_MOCK_PRESS(1,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ ZMK_MOCK_RELEASE(1,0,10)
+ >;
+}; \ No newline at end of file