summaryrefslogtreecommitdiff
path: root/app/tests/combo/press-release
diff options
context:
space:
mode:
authorOkke Formsma <okke@formsma.nl>2020-12-11 23:24:44 +0100
committerPete Johanson <peter@peterjohanson.com>2021-01-13 21:07:41 -0500
commitfeb0d5b90cbbb1a1026bf356afd788c860824ccf (patch)
treef2cd72956649dade930291d1f37de73d34655304 /app/tests/combo/press-release
parent90c2c6672fbf7fb575b61dd9f5a482e1ffc5dbcd (diff)
feat(combos): initial implementation
closes #45
Diffstat (limited to 'app/tests/combo/press-release')
-rw-r--r--app/tests/combo/press-release/events.patterns1
-rw-r--r--app/tests/combo/press-release/keycode_events.snapshot8
-rw-r--r--app/tests/combo/press-release/native_posix.keymap51
3 files changed, 60 insertions, 0 deletions
diff --git a/app/tests/combo/press-release/events.patterns b/app/tests/combo/press-release/events.patterns
new file mode 100644
index 0000000..b1342af
--- /dev/null
+++ b/app/tests/combo/press-release/events.patterns
@@ -0,0 +1 @@
+s/.*hid_listener_keycode_//p
diff --git a/app/tests/combo/press-release/keycode_events.snapshot b/app/tests/combo/press-release/keycode_events.snapshot
new file mode 100644
index 0000000..01718e7
--- /dev/null
+++ b/app/tests/combo/press-release/keycode_events.snapshot
@@ -0,0 +1,8 @@
+pressed: usage_page 0x07 keycode 0x06 mods 0x00
+released: usage_page 0x07 keycode 0x06 mods 0x00
+pressed: usage_page 0x07 keycode 0x06 mods 0x00
+released: usage_page 0x07 keycode 0x06 mods 0x00
+pressed: usage_page 0x07 keycode 0x06 mods 0x00
+released: usage_page 0x07 keycode 0x06 mods 0x00
+pressed: usage_page 0x07 keycode 0x06 mods 0x00
+released: usage_page 0x07 keycode 0x06 mods 0x00
diff --git a/app/tests/combo/press-release/native_posix.keymap b/app/tests/combo/press-release/native_posix.keymap
new file mode 100644
index 0000000..0f45792
--- /dev/null
+++ b/app/tests/combo/press-release/native_posix.keymap
@@ -0,0 +1,51 @@
+#include <dt-bindings/zmk/keys.h>
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/kscan-mock.h>
+
+/ {
+ combos {
+ compatible = "zmk,combos";
+ combo_one {
+ timeout-ms = <30>;
+ key-positions = <0 1>;
+ bindings = <&kp C>;
+ };
+ };
+
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &kp A &kp B
+ &none &none
+ >;
+ };
+ };
+};
+
+&kscan {
+ events = <
+ /* all different combinations of press and release order */
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_PRESS(0,1,10)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+
+ ZMK_MOCK_PRESS(0,1,10)
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_PRESS(0,1,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ ZMK_MOCK_RELEASE(0,0,10)
+
+ ZMK_MOCK_PRESS(0,1,10)
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ ZMK_MOCK_RELEASE(0,0,10)
+ >;
+}; \ No newline at end of file