From eecc12c98022c1dce4a228914887ed328b1774c2 Mon Sep 17 00:00:00 2001 From: Jonathan Rascher Date: Tue, 8 Jun 2021 10:47:23 -0500 Subject: [PATCH] test(combo): Add unit test for complete long combo --- .../events.patterns | 1 + .../keycode_events.snapshot | 2 + .../native_posix.keymap | 39 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 app/tests/combo/press-release-long-combo-complete/events.patterns create mode 100644 app/tests/combo/press-release-long-combo-complete/keycode_events.snapshot create mode 100644 app/tests/combo/press-release-long-combo-complete/native_posix.keymap diff --git a/app/tests/combo/press-release-long-combo-complete/events.patterns b/app/tests/combo/press-release-long-combo-complete/events.patterns new file mode 100644 index 00000000..b1342af4 --- /dev/null +++ b/app/tests/combo/press-release-long-combo-complete/events.patterns @@ -0,0 +1 @@ +s/.*hid_listener_keycode_//p diff --git a/app/tests/combo/press-release-long-combo-complete/keycode_events.snapshot b/app/tests/combo/press-release-long-combo-complete/keycode_events.snapshot new file mode 100644 index 00000000..a9618a6c --- /dev/null +++ b/app/tests/combo/press-release-long-combo-complete/keycode_events.snapshot @@ -0,0 +1,2 @@ +pressed: usage_page 0x07 keycode 0x1d implicit_mods 0x00 explicit_mods 0x00 +released: usage_page 0x07 keycode 0x1d implicit_mods 0x00 explicit_mods 0x00 diff --git a/app/tests/combo/press-release-long-combo-complete/native_posix.keymap b/app/tests/combo/press-release-long-combo-complete/native_posix.keymap new file mode 100644 index 00000000..2a71ad32 --- /dev/null +++ b/app/tests/combo/press-release-long-combo-complete/native_posix.keymap @@ -0,0 +1,39 @@ +#include +#include +#include + +/ { + combos { + compatible = "zmk,combos"; + combo_one { + timeout-ms = <80>; + key-positions = <0 1 2 3>; + bindings = <&kp Z>; + }; + }; + + keymap { + compatible = "zmk,keymap"; + label ="Default keymap"; + + default_layer { + bindings = < + &kp A &kp B + &kp C &kp D + >; + }; + }; +}; + +&kscan { + events = < + ZMK_MOCK_PRESS(1,1,10) + ZMK_MOCK_PRESS(0,1,10) + ZMK_MOCK_PRESS(1,0,10) + ZMK_MOCK_PRESS(0,0,10) + ZMK_MOCK_RELEASE(0,0,100) + ZMK_MOCK_RELEASE(1,0,100) + ZMK_MOCK_RELEASE(0,1,100) + ZMK_MOCK_RELEASE(1,1,100) + >; +};