diff --git a/app/tests/sticky-keys/10-stickier/events.patterns b/app/tests/sticky-keys/10-stickier/events.patterns new file mode 100644 index 00000000..833100f6 --- /dev/null +++ b/app/tests/sticky-keys/10-stickier/events.patterns @@ -0,0 +1 @@ +s/.*hid_listener_keycode_//p \ No newline at end of file diff --git a/app/tests/sticky-keys/10-stickier/keycode_events.snapshot b/app/tests/sticky-keys/10-stickier/keycode_events.snapshot new file mode 100644 index 00000000..49807d6d --- /dev/null +++ b/app/tests/sticky-keys/10-stickier/keycode_events.snapshot @@ -0,0 +1,8 @@ +pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00 +pressed: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00 +released: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00 +pressed: usage_page 0x07 keycode 0x06 implicit_mods 0x00 explicit_mods 0x00 +released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00 +released: usage_page 0x07 keycode 0x06 implicit_mods 0x00 explicit_mods 0x00 +pressed: usage_page 0x07 keycode 0x07 implicit_mods 0x00 explicit_mods 0x00 +released: usage_page 0x07 keycode 0x07 implicit_mods 0x00 explicit_mods 0x00 diff --git a/app/tests/sticky-keys/10-stickier/native_posix.keymap b/app/tests/sticky-keys/10-stickier/native_posix.keymap new file mode 100644 index 00000000..f152ffad --- /dev/null +++ b/app/tests/sticky-keys/10-stickier/native_posix.keymap @@ -0,0 +1,48 @@ +#include +#include +#include + +/ { + keymap { + compatible = "zmk,keymap"; + label ="Default keymap"; + + default_layer { + bindings = < + &sk2 A &kp B + &kp C &kp D>; + }; + + lower_layer { + bindings = < + &sk X &kp Y + &kp Z &kp W>; + }; + }; + behaviors { + sk2: sk2 { + compatible = "zmk,behavior-sticky-key"; + label = "STICKY_KEY x2"; + #binding-cells = <1>; + release-after-ms = <1000>; + count = <2>; + bindings = <&kp>; + }; + }; +}; + +&kscan { + events = < + ZMK_MOCK_PRESS(0,0,10) + ZMK_MOCK_RELEASE(0,0,10) + + ZMK_MOCK_PRESS(0,1,10) + ZMK_MOCK_RELEASE(0,1,10) + + ZMK_MOCK_PRESS(1,0,10) + ZMK_MOCK_RELEASE(1,0,10) + + ZMK_MOCK_PRESS(1,1,10) + ZMK_MOCK_RELEASE(1,1,10) + >; +};