Skip to content

Commit

Permalink
Add mod-morph tests
Browse files Browse the repository at this point in the history
  • Loading branch information
urob committed Jul 24, 2022
1 parent bfba42f commit 00a0235
Show file tree
Hide file tree
Showing 12 changed files with 443 additions and 0 deletions.
4 changes: 4 additions & 0 deletions app/tests/mod-morph/default_mask_no_implicit/events.patterns
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
s/.*hid_listener_keycode_//p
s/.*hid_register_mod/reg/p
s/.*hid_unregister_mod/unreg/p
s/.*zmk_hid_.*Modifiers set to /mods: Modifiers set to /p
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x00
mods: Modifiers set to 0x00
released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 1 count 1
reg: Modifiers set to 0x02
mods: Modifiers set to 0x02
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x00
mods: Modifiers set to 0x02
released: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x02
released: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 1 count: 0
unreg: Modifier 1 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 2 count 1
reg: Modifiers set to 0x04
mods: Modifiers set to 0x04
pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x04
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 2 count: 0
unreg: Modifier 2 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 2 count 1
reg: Modifiers set to 0x04
mods: Modifiers set to 0x04
pressed: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 1 count 1
reg: Modifiers set to 0x06
mods: Modifiers set to 0x06
mods: Modifiers set to 0x04
pressed: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x04
mods: Modifiers set to 0x06
released: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x06
released: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 1 count: 0
unreg: Modifier 1 released
unreg: Modifiers set to 0x04
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 2 count: 0
unreg: Modifier 2 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#include <dt-bindings/zmk/keys.h>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/kscan_mock.h>


&kscan {
events = <
/* A */
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)

/* B */
ZMK_MOCK_PRESS(1,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(1,0,10)

/* LALT + A */
ZMK_MOCK_PRESS(0,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(0,0,10)

/* LALT + B */
ZMK_MOCK_PRESS(0,0,10)
ZMK_MOCK_PRESS(1,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(1,0,10)
ZMK_MOCK_RELEASE(0,0,10)
>;
};

/ {
behaviors {
mod_morph: mod_morph {
compatible = "zmk,behavior-mod-morph";
label = "MOD_MORPH_TEST";
#binding-cells = <0>;
bindings = <&kp A>, <&kp B>;
mods = <(MOD_LSFT|MOD_RSFT)>;
};
};

keymap {
compatible = "zmk,keymap";
label ="Default keymap";

default_layer {
bindings = <
&kp LEFT_ALT &mod_morph
&kp LEFT_SHIFT &kp RIGHT_SHIFT
>;
};
};
};
4 changes: 4 additions & 0 deletions app/tests/mod-morph/default_mask_yes_implicit/events.patterns
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
s/.*hid_listener_keycode_//p
s/.*hid_register_mod/reg/p
s/.*hid_unregister_mod/unreg/p
s/.*zmk_hid_.*Modifiers set to /mods: Modifiers set to /p
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x00
mods: Modifiers set to 0x00
released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 1 count 1
reg: Modifiers set to 0x02
mods: Modifiers set to 0x02
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0x05 implicit_mods 0x02 explicit_mods 0x00
mods: Modifiers set to 0x02
mods: Modifiers set to 0x02
released: usage_page 0x07 keycode 0x05 implicit_mods 0x02 explicit_mods 0x00
mods: Modifiers set to 0x02
released: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 1 count: 0
unreg: Modifier 1 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 2 count 1
reg: Modifiers set to 0x04
mods: Modifiers set to 0x04
pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x04
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 2 count: 0
unreg: Modifier 2 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 2 count 1
reg: Modifiers set to 0x04
mods: Modifiers set to 0x04
pressed: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 1 count 1
reg: Modifiers set to 0x06
mods: Modifiers set to 0x06
mods: Modifiers set to 0x04
pressed: usage_page 0x07 keycode 0x05 implicit_mods 0x02 explicit_mods 0x00
mods: Modifiers set to 0x06
mods: Modifiers set to 0x06
released: usage_page 0x07 keycode 0x05 implicit_mods 0x02 explicit_mods 0x00
mods: Modifiers set to 0x06
released: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 1 count: 0
unreg: Modifier 1 released
unreg: Modifiers set to 0x04
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 2 count: 0
unreg: Modifier 2 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#include <dt-bindings/zmk/keys.h>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/kscan_mock.h>


&kscan {
events = <
/* A */
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)

/* LSFT + B */
ZMK_MOCK_PRESS(1,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(1,0,10)

/* LALT + A */
ZMK_MOCK_PRESS(0,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(0,0,10)

/* LALT + LSFT + B */
ZMK_MOCK_PRESS(0,0,10)
ZMK_MOCK_PRESS(1,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(1,0,10)
ZMK_MOCK_RELEASE(0,0,10)
>;
};

/ {
behaviors {
mod_morph: mod_morph {
compatible = "zmk,behavior-mod-morph";
label = "MOD_MORPH_TEST";
#binding-cells = <0>;
bindings = <&kp A>, <&kp LS(B)>;
mods = <(MOD_LSFT|MOD_RSFT)>;
};
};

keymap {
compatible = "zmk,keymap";
label ="Default keymap";

default_layer {
bindings = <
&kp LEFT_ALT &mod_morph
&kp LEFT_SHIFT &kp RIGHT_SHIFT
>;
};
};
};
4 changes: 4 additions & 0 deletions app/tests/mod-morph/no_mask_no_implicit/events.patterns
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
s/.*hid_listener_keycode_//p
s/.*hid_register_mod/reg/p
s/.*hid_unregister_mod/unreg/p
s/.*zmk_hid_.*Modifiers set to /mods: Modifiers set to /p
58 changes: 58 additions & 0 deletions app/tests/mod-morph/no_mask_no_implicit/keycode_events.snapshot
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x00
mods: Modifiers set to 0x00
released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 1 count 1
reg: Modifiers set to 0x02
mods: Modifiers set to 0x02
mods: Modifiers set to 0x02
pressed: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x02
mods: Modifiers set to 0x02
released: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x02
released: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 1 count: 0
unreg: Modifier 1 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 2 count 1
reg: Modifiers set to 0x04
mods: Modifiers set to 0x04
pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x04
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 2 count: 0
unreg: Modifier 2 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
pressed: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 2 count 1
reg: Modifiers set to 0x04
mods: Modifiers set to 0x04
pressed: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
reg: Modifier 1 count 1
reg: Modifiers set to 0x06
mods: Modifiers set to 0x06
mods: Modifiers set to 0x06
pressed: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x06
mods: Modifiers set to 0x06
released: usage_page 0x07 keycode 0x05 implicit_mods 0x00 explicit_mods 0x00
mods: Modifiers set to 0x06
released: usage_page 0x07 keycode 0xE1 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 1 count: 0
unreg: Modifier 1 released
unreg: Modifiers set to 0x04
mods: Modifiers set to 0x04
released: usage_page 0x07 keycode 0xE2 implicit_mods 0x00 explicit_mods 0x00
unreg: Modifier 2 count: 0
unreg: Modifier 2 released
unreg: Modifiers set to 0x00
mods: Modifiers set to 0x00
57 changes: 57 additions & 0 deletions app/tests/mod-morph/no_mask_no_implicit/native_posix_64.keymap
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#include <dt-bindings/zmk/keys.h>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/kscan_mock.h>


&kscan {
events = <
/* A */
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)

/* LSFT + B */
ZMK_MOCK_PRESS(1,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(1,0,10)

/* LALT + A */
ZMK_MOCK_PRESS(0,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(0,0,10)

/* LALT + LSFT + B */
ZMK_MOCK_PRESS(0,0,10)
ZMK_MOCK_PRESS(1,0,10)
ZMK_MOCK_PRESS(0,1,10)
ZMK_MOCK_RELEASE(0,1,10)
ZMK_MOCK_RELEASE(1,0,10)
ZMK_MOCK_RELEASE(0,0,10)
>;
};

/ {
behaviors {
mod_morph: mod_morph {
compatible = "zmk,behavior-mod-morph";
label = "MOD_MORPH_TEST";
#binding-cells = <0>;
bindings = <&kp A>, <&kp B>;
mods = <(MOD_LSFT|MOD_RSFT)>;
masked_mods = <0>;
};
};

keymap {
compatible = "zmk,keymap";
label ="Default keymap";

default_layer {
bindings = <
&kp LEFT_ALT &mod_morph
&kp LEFT_SHIFT &kp RIGHT_SHIFT
>;
};
};
};
4 changes: 4 additions & 0 deletions app/tests/mod-morph/partial_mask_no_implicit/events.patterns
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
s/.*hid_listener_keycode_//p
s/.*hid_register_mod/reg/p
s/.*hid_unregister_mod/unreg/p
s/.*zmk_hid_.*Modifiers set to /mods: Modifiers set to /p
Loading

0 comments on commit 00a0235

Please sign in to comment.