summaryrefslogtreecommitdiff
path: root/app/tests/momentary-layer/4-nested/native_posix.keymap
diff options
context:
space:
mode:
authorOkke Formsma <okke@formsma.nl>2020-11-11 16:40:13 +0100
committerPete Johanson <peter@peterjohanson.com>2020-11-16 17:19:27 -0500
commite48a6b659c6da4afd56f2c3e3fa56d291ebf80e4 (patch)
treeb1d4d267a28feb380f7c28df76a006b3070a46fa /app/tests/momentary-layer/4-nested/native_posix.keymap
parent2871dca9bfce2588e23da0905d7142ef5ff1c1a1 (diff)
fix momentary layer bug when top layer is not &trans
Key release events released keys on the wrong layer if the 'top layer' was not &trans above the &mo key. base <&mo 1> layer 1 <&kp B> This was caused by overwriting `zmk_keymap_active_behavior_layer[position]` after the &mo key was handled.
Diffstat (limited to 'app/tests/momentary-layer/4-nested/native_posix.keymap')
-rw-r--r--app/tests/momentary-layer/4-nested/native_posix.keymap39
1 files changed, 39 insertions, 0 deletions
diff --git a/app/tests/momentary-layer/4-nested/native_posix.keymap b/app/tests/momentary-layer/4-nested/native_posix.keymap
new file mode 100644
index 0000000..0eb77d2
--- /dev/null
+++ b/app/tests/momentary-layer/4-nested/native_posix.keymap
@@ -0,0 +1,39 @@
+#include <dt-bindings/zmk/keys.h>
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/kscan-mock.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &none &mo 1
+ &none &none>;
+ };
+
+ layer_1 {
+ bindings = <
+ &mo 2 &none
+ &none &none>;
+ };
+
+ layer_2 {
+ bindings = <
+ &none &none
+ &kp B &none>;
+ };
+ };
+};
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,1,10)
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_PRESS(1,0,10)
+ ZMK_MOCK_RELEASE(1,0,10)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ >;
+}; \ No newline at end of file