From 7a4f3a261d0c0f6816553727acb45f6ac05d15ad Mon Sep 17 00:00:00 2001 From: urob <978080+urob@users.noreply.github.com> Date: Fri, 5 Aug 2022 00:18:19 -0400 Subject: [PATCH] Unit test for ignore-modifiers bug --- .../11-sl-sk-macro/events.patterns | 1 + .../11-sl-sk-macro/keycode_events.snapshot | 4 ++ .../11-sl-sk-macro/native_posix_64.keymap | 54 +++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 app/tests/sticky-keys/11-sl-sk-macro/events.patterns create mode 100644 app/tests/sticky-keys/11-sl-sk-macro/keycode_events.snapshot create mode 100644 app/tests/sticky-keys/11-sl-sk-macro/native_posix_64.keymap diff --git a/app/tests/sticky-keys/11-sl-sk-macro/events.patterns b/app/tests/sticky-keys/11-sl-sk-macro/events.patterns new file mode 100644 index 00000000..833100f6 --- /dev/null +++ b/app/tests/sticky-keys/11-sl-sk-macro/events.patterns @@ -0,0 +1 @@ +s/.*hid_listener_keycode_//p \ No newline at end of file diff --git a/app/tests/sticky-keys/11-sl-sk-macro/keycode_events.snapshot b/app/tests/sticky-keys/11-sl-sk-macro/keycode_events.snapshot new file mode 100644 index 00000000..abd59edf --- /dev/null +++ b/app/tests/sticky-keys/11-sl-sk-macro/keycode_events.snapshot @@ -0,0 +1,4 @@ +pressed: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00 +pressed: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00 +released: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00 +released: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00 diff --git a/app/tests/sticky-keys/11-sl-sk-macro/native_posix_64.keymap b/app/tests/sticky-keys/11-sl-sk-macro/native_posix_64.keymap new file mode 100644 index 00000000..ef329629 --- /dev/null +++ b/app/tests/sticky-keys/11-sl-sk-macro/native_posix_64.keymap @@ -0,0 +1,54 @@ +#include +#include +#include + +&sl { + ignore-modifiers; +}; + +/ { + macros { + sls: sls { + label = "sticky_layer_shift"; + compatible = "zmk,behavior-macro"; + #binding-cells = <0>; + wait-ms = <0>; + tap-ms = <1>; + bindings + = <&sl 1 &sk LSHFT>; + }; + }; + + keymap { + compatible = "zmk,keymap"; + label ="Default keymap"; + + default_layer { + bindings = < + &sls &kp A + &sl 1 &sk LSHFT + >; + }; + + second_layer { + bindings = < + &trans &kp B + &trans &trans + >; + }; + }; +}; + + +&kscan { + events = < + ZMK_MOCK_PRESS(0,0,10) // macro should produce same as sl followd by sk + ZMK_MOCK_RELEASE(0,0,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) + ZMK_MOCK_PRESS(0,1,10) + ZMK_MOCK_RELEASE(0,1,10) + >; +};