aboutsummaryrefslogtreecommitdiffhomepage
path: root/app/tests/pointing
diff options
context:
space:
mode:
Diffstat (limited to 'app/tests/pointing')
-rw-r--r--app/tests/pointing/mkp/events.patterns1
-rw-r--r--app/tests/pointing/mkp/keycode_events.snapshot10
-rw-r--r--app/tests/pointing/mkp/native_posix.keymap27
-rw-r--r--app/tests/pointing/mkp/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mkp/native_posix_64.keymap27
-rw-r--r--app/tests/pointing/mouse-move/move_diagonal/events.patterns1
-rw-r--r--app/tests/pointing/mouse-move/move_diagonal/keycode_events.snapshot18
-rw-r--r--app/tests/pointing/mouse-move/move_diagonal/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/move_diagonal/native_posix_64.keymap29
-rw-r--r--app/tests/pointing/mouse-move/move_x/events.patterns1
-rw-r--r--app/tests/pointing/mouse-move/move_x/keycode_events.snapshot24
-rw-r--r--app/tests/pointing/mouse-move/move_x/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/move_x/native_posix_64.keymap29
-rw-r--r--app/tests/pointing/mouse-move/move_y/events.patterns1
-rw-r--r--app/tests/pointing/mouse-move/move_y/keycode_events.snapshot24
-rw-r--r--app/tests/pointing/mouse-move/move_y/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/move_y/native_posix_64.keymap29
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_scaling/events.patterns1
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_scaling/keycode_events.snapshot18
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_scaling/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_scaling/native_posix_64.keymap37
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/events.patterns1
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/keycode_events.snapshot18
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/native_posix_64.keymap34
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/events.patterns1
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/keycode_events.snapshot18
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/native_posix_64.keymap33
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/events.patterns5
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/keycode_events.snapshot14
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/native_posix_64.keymap41
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/events.patterns7
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/keycode_events.snapshot21
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/native_posix_64.keymap46
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/events.patterns7
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/keycode_events.snapshot28
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/native_posix_64.keymap46
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/events.patterns6
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/keycode_events.snapshot148
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/native_posix_64.conf6
-rw-r--r--app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/native_posix_64.keymap50
45 files changed, 867 insertions, 0 deletions
diff --git a/app/tests/pointing/mkp/events.patterns b/app/tests/pointing/mkp/events.patterns
new file mode 100644
index 0000000000..2599345c2d
--- /dev/null
+++ b/app/tests/pointing/mkp/events.patterns
@@ -0,0 +1 @@
+s/.*zmk_hid_mouse_button_//p
diff --git a/app/tests/pointing/mkp/keycode_events.snapshot b/app/tests/pointing/mkp/keycode_events.snapshot
new file mode 100644
index 0000000000..ab58cc9575
--- /dev/null
+++ b/app/tests/pointing/mkp/keycode_events.snapshot
@@ -0,0 +1,10 @@
+press: Button 0 count 1
+press: Mouse buttons set to 0x01
+press: Button 1 count 1
+press: Mouse buttons set to 0x03
+release: Button 1 count: 0
+release: Button 1 released
+release: Mouse buttons set to 0x01
+release: Button 0 count: 0
+release: Button 0 released
+release: Mouse buttons set to 0x00
diff --git a/app/tests/pointing/mkp/native_posix.keymap b/app/tests/pointing/mkp/native_posix.keymap
new file mode 100644
index 0000000000..8e3071d431
--- /dev/null
+++ b/app/tests/pointing/mkp/native_posix.keymap
@@ -0,0 +1,27 @@
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+
+ default_layer {
+ bindings = <
+ &mkp LCLK &none
+ &none &mkp RCLK
+ >;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS (0,0,100)
+ ZMK_MOCK_PRESS (1,1,100)
+ ZMK_MOCK_RELEASE(1,1, 10)
+ ZMK_MOCK_RELEASE(0,0, 10)
+ >;
+};
diff --git a/app/tests/pointing/mkp/native_posix_64.conf b/app/tests/pointing/mkp/native_posix_64.conf
new file mode 100644
index 0000000000..65ed54bb20
--- /dev/null
+++ b/app/tests/pointing/mkp/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_MOUSE=y
diff --git a/app/tests/pointing/mkp/native_posix_64.keymap b/app/tests/pointing/mkp/native_posix_64.keymap
new file mode 100644
index 0000000000..8e3071d431
--- /dev/null
+++ b/app/tests/pointing/mkp/native_posix_64.keymap
@@ -0,0 +1,27 @@
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+
+ default_layer {
+ bindings = <
+ &mkp LCLK &none
+ &none &mkp RCLK
+ >;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS (0,0,100)
+ ZMK_MOCK_PRESS (1,1,100)
+ ZMK_MOCK_RELEASE(1,1, 10)
+ ZMK_MOCK_RELEASE(0,0, 10)
+ >;
+};
diff --git a/app/tests/pointing/mouse-move/move_diagonal/events.patterns b/app/tests/pointing/mouse-move/move_diagonal/events.patterns
new file mode 100644
index 0000000000..812126fb82
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_diagonal/events.patterns
@@ -0,0 +1 @@
+s/.*hid_mouse_//p \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/move_diagonal/keycode_events.snapshot b/app/tests/pointing/mouse-move/move_diagonal/keycode_events.snapshot
new file mode 100644
index 0000000000..6b9fa770b1
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_diagonal/keycode_events.snapshot
@@ -0,0 +1,18 @@
+movement_set: Mouse movement set to -1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/-2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/-2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/-2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/-3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/-3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
diff --git a/app/tests/pointing/mouse-move/move_diagonal/native_posix_64.conf b/app/tests/pointing/mouse-move/move_diagonal/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_diagonal/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/move_diagonal/native_posix_64.keymap b/app/tests/pointing/mouse-move/move_diagonal/native_posix_64.keymap
new file mode 100644
index 0000000000..7e4d7af2a1
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_diagonal/native_posix_64.keymap
@@ -0,0 +1,29 @@
+#include <behaviors.dtsi>
+#include <behaviors/mouse_move.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_UP
+ &none &none
+ >;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_PRESS(0,1,100)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ >;
+}; \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/move_x/events.patterns b/app/tests/pointing/mouse-move/move_x/events.patterns
new file mode 100644
index 0000000000..812126fb82
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_x/events.patterns
@@ -0,0 +1 @@
+s/.*hid_mouse_//p \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/move_x/keycode_events.snapshot b/app/tests/pointing/mouse-move/move_x/keycode_events.snapshot
new file mode 100644
index 0000000000..678f71c9ac
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_x/keycode_events.snapshot
@@ -0,0 +1,24 @@
+movement_set: Mouse movement set to -1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
diff --git a/app/tests/pointing/mouse-move/move_x/native_posix_64.conf b/app/tests/pointing/mouse-move/move_x/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_x/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/move_x/native_posix_64.keymap b/app/tests/pointing/mouse-move/move_x/native_posix_64.keymap
new file mode 100644
index 0000000000..89d50e2b83
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_x/native_posix_64.keymap
@@ -0,0 +1,29 @@
+#include <behaviors.dtsi>
+#include <behaviors/mouse_move.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_RIGHT
+ &none &none
+ >;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,100)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_PRESS(0,1,100)
+ ZMK_MOCK_RELEASE(0,1,10)
+ >;
+}; \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/move_y/events.patterns b/app/tests/pointing/mouse-move/move_y/events.patterns
new file mode 100644
index 0000000000..812126fb82
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_y/events.patterns
@@ -0,0 +1 @@
+s/.*hid_mouse_//p \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/move_y/keycode_events.snapshot b/app/tests/pointing/mouse-move/move_y/keycode_events.snapshot
new file mode 100644
index 0000000000..d20154d550
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_y/keycode_events.snapshot
@@ -0,0 +1,24 @@
+movement_set: Mouse movement set to 0/-1
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/-2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/-2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/-3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/1
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
diff --git a/app/tests/pointing/mouse-move/move_y/native_posix_64.conf b/app/tests/pointing/mouse-move/move_y/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_y/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/move_y/native_posix_64.keymap b/app/tests/pointing/mouse-move/move_y/native_posix_64.keymap
new file mode 100644
index 0000000000..5b02246b05
--- /dev/null
+++ b/app/tests/pointing/mouse-move/move_y/native_posix_64.keymap
@@ -0,0 +1,29 @@
+#include <behaviors.dtsi>
+#include <behaviors/mouse_move.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_UP &mmv MOVE_DOWN
+ &none &none
+ >;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,100)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_PRESS(0,1,100)
+ ZMK_MOCK_RELEASE(0,1,10)
+ >;
+}; \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/events.patterns b/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/events.patterns
new file mode 100644
index 0000000000..812126fb82
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/events.patterns
@@ -0,0 +1 @@
+s/.*hid_mouse_//p \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/keycode_events.snapshot b/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/keycode_events.snapshot
new file mode 100644
index 0000000000..77ffd6f8d7
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/keycode_events.snapshot
@@ -0,0 +1,18 @@
+movement_set: Mouse movement set to -1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -4/-3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/-3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -5/-4
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -5/-5
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/-5
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/native_posix_64.conf b/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/native_posix_64.keymap b/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/native_posix_64.keymap
new file mode 100644
index 0000000000..0ec7163f74
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_scaling/native_posix_64.keymap
@@ -0,0 +1,37 @@
+
+#include <dt-bindings/zmk/input_transform.h>
+#include <zephyr/dt-bindings/input/input-event-codes.h>
+
+#include <behaviors.dtsi>
+#include <input/processors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+&mmv_input_listener {
+ input-processors = <&zip_xy_scaler 5 3>;
+};
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_UP
+ &none &none
+ >;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_PRESS(0,1,100)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ >;
+}; \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/events.patterns b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/events.patterns
new file mode 100644
index 0000000000..812126fb82
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/events.patterns
@@ -0,0 +1 @@
+s/.*hid_mouse_//p \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/keycode_events.snapshot b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/keycode_events.snapshot
new file mode 100644
index 0000000000..33bb267b07
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/keycode_events.snapshot
@@ -0,0 +1,18 @@
+movement_set: Mouse movement set to 1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 2/2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 2/2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 3/2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 3/3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to 0/3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/native_posix_64.conf b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/native_posix_64.keymap b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/native_posix_64.keymap
new file mode 100644
index 0000000000..51c8e505e2
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_invert/native_posix_64.keymap
@@ -0,0 +1,34 @@
+#include <input/processors.dtsi>
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+#include <dt-bindings/zmk/input_transform.h>
+
+&mmv_input_listener {
+ input-processors = <&zip_xy_transform (INPUT_TRANSFORM_X_INVERT | INPUT_TRANSFORM_Y_INVERT)>;
+};
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_UP
+ &none &none
+ >;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_PRESS(0,1,100)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ >;
+}; \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/events.patterns b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/events.patterns
new file mode 100644
index 0000000000..812126fb82
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/events.patterns
@@ -0,0 +1 @@
+s/.*hid_mouse_//p \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/keycode_events.snapshot b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/keycode_events.snapshot
new file mode 100644
index 0000000000..40daa64f0f
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/keycode_events.snapshot
@@ -0,0 +1,18 @@
+movement_set: Mouse movement set to 0/-1
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/-2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/-2
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/-3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/-3
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/native_posix_64.conf b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/native_posix_64.keymap b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/native_posix_64.keymap
new file mode 100644
index 0000000000..be3e9f73d6
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/move_diagonal_xy_swap/native_posix_64.keymap
@@ -0,0 +1,33 @@
+#include <input/processors.dtsi>
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+&mmv_input_listener {
+ input-processors = <&zip_xy_swap_mapper>;
+};
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_UP
+ &none &none
+ >;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,10)
+ ZMK_MOCK_PRESS(0,1,100)
+ ZMK_MOCK_RELEASE(0,0,10)
+ ZMK_MOCK_RELEASE(0,1,10)
+ >;
+}; \ No newline at end of file
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/events.patterns b/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/events.patterns
new file mode 100644
index 0000000000..e9f2583e0d
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/events.patterns
@@ -0,0 +1,5 @@
+s/.*hid_mouse_//p
+s/.*set_layer_state: //p
+s/.*handle_state_changed_dispatcher: //p
+s/.*handle_position_state_changed: //p
+s/.*handle_keycode_state_changed: //p
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/keycode_events.snapshot b/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/keycode_events.snapshot
new file mode 100644
index 0000000000..e2b9544e54
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/keycode_events.snapshot
@@ -0,0 +1,14 @@
+layer_changed: layer 1 state 1
+movement_set: Mouse movement set to -1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+layer_changed: layer 1 state 0
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/native_posix_64.conf b/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/native_posix_64.keymap b/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/native_posix_64.keymap
new file mode 100644
index 0000000000..166427675a
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/1-deactivate-layer-timeout/native_posix_64.keymap
@@ -0,0 +1,41 @@
+
+#include <dt-bindings/zmk/input_transform.h>
+#include <zephyr/dt-bindings/input/input-event-codes.h>
+
+#include <behaviors.dtsi>
+#include <input/processors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+&mmv_input_listener {
+ input-processors = <&zip_temp_layer 1 500>;
+};
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_UP
+ &none &none
+ >;
+ };
+
+ mkp_layer {
+ bindings = <&mkp LCLK &mkp RCLK &trans &trans>;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,100)
+ ZMK_MOCK_RELEASE(0,0,150)
+ ZMK_MOCK_PRESS(1,0,200)
+ ZMK_MOCK_RELEASE(1,0,250)
+ >;
+};
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/events.patterns b/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/events.patterns
new file mode 100644
index 0000000000..27695039e1
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/events.patterns
@@ -0,0 +1,7 @@
+s/.*hid_mouse_//p
+s/.*set_layer_state: //p
+s/.*hid_listener_keycode/kp/p
+s/.*mo_keymap_binding/mo/p
+s/.*handle_state_changed_dispatcher: //p
+s/.*handle_position_state_changed: //p
+s/.*handle_keycode_state_changed: //p
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/keycode_events.snapshot b/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/keycode_events.snapshot
new file mode 100644
index 0000000000..b421bad280
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/keycode_events.snapshot
@@ -0,0 +1,21 @@
+Dispatching handle_position_state_changed
+Position excluded, continuing
+layer_changed: layer 1 state 1
+movement_set: Mouse movement set to -1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+Dispatching handle_position_state_changed
+Dispatching handle_position_state_changed
+Position not excluded, deactivating layer
+layer_changed: layer 1 state 0
+Position excluded, continuing
+Dispatching handle_position_state_changed
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/native_posix_64.conf b/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/native_posix_64.keymap b/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/native_posix_64.keymap
new file mode 100644
index 0000000000..5f3c0dbfa1
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/2a-deactivate-layer-position-trigger/native_posix_64.keymap
@@ -0,0 +1,46 @@
+
+#include <dt-bindings/zmk/input_transform.h>
+#include <zephyr/dt-bindings/input/input-event-codes.h>
+
+#include <behaviors.dtsi>
+#include <input/processors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+&mmv_input_listener {
+ input-processors = <&auto_mouse_layer 1 0>;
+};
+
+/ {
+ auto_mouse_layer: auto_mouse_layer {
+ compatible = "zmk,input-processor-temp-layer";
+ #input-processor-cells = <2>;
+ excluded-positions = <0>;
+ };
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_UP
+ &none &none
+ >;
+ };
+
+ mkp_layer {
+ bindings = <&mkp LCLK &mkp RCLK &trans &trans>;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,100)
+ ZMK_MOCK_RELEASE(0,0,150)
+ ZMK_MOCK_PRESS(1,0,200)
+ ZMK_MOCK_RELEASE(1,0,250)
+ >;
+};
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/events.patterns b/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/events.patterns
new file mode 100644
index 0000000000..27695039e1
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/events.patterns
@@ -0,0 +1,7 @@
+s/.*hid_mouse_//p
+s/.*set_layer_state: //p
+s/.*hid_listener_keycode/kp/p
+s/.*mo_keymap_binding/mo/p
+s/.*handle_state_changed_dispatcher: //p
+s/.*handle_position_state_changed: //p
+s/.*handle_keycode_state_changed: //p
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/keycode_events.snapshot b/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/keycode_events.snapshot
new file mode 100644
index 0000000000..3cf641daa9
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/keycode_events.snapshot
@@ -0,0 +1,28 @@
+Dispatching handle_position_state_changed
+Position excluded, continuing
+layer_changed: layer 1 state 1
+movement_set: Mouse movement set to -1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+Dispatching handle_position_state_changed
+Dispatching handle_position_state_changed
+Position excluded, continuing
+button_press: Button 0 count 1
+button_press: Mouse buttons set to 0x01
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+Dispatching handle_position_state_changed
+button_release: Button 0 count: 0
+button_release: Button 0 released
+button_release: Mouse buttons set to 0x00
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/native_posix_64.conf b/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/native_posix_64.keymap b/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/native_posix_64.keymap
new file mode 100644
index 0000000000..675a8bce26
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/2b-deactivate-layer-position-not-trigger/native_posix_64.keymap
@@ -0,0 +1,46 @@
+
+#include <dt-bindings/zmk/input_transform.h>
+#include <zephyr/dt-bindings/input/input-event-codes.h>
+
+#include <behaviors.dtsi>
+#include <input/processors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+&mmv_input_listener {
+ input-processors = <&auto_mouse_layer 1 0>;
+};
+
+/ {
+ auto_mouse_layer: auto_mouse_layer {
+ compatible = "zmk,input-processor-temp-layer";
+ #input-processor-cells = <2>;
+ excluded-positions = <0>;
+ };
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_UP
+ &none &none
+ >;
+ };
+
+ mkp_layer {
+ bindings = <&mkp LCLK &mkp RCLK &trans &trans>;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(0,0,100)
+ ZMK_MOCK_RELEASE(0,0,150)
+ ZMK_MOCK_PRESS(0,0,200)
+ ZMK_MOCK_RELEASE(0,0,250)
+ >;
+};
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/events.patterns b/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/events.patterns
new file mode 100644
index 0000000000..ae24cce016
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/events.patterns
@@ -0,0 +1,6 @@
+s/.*hid_mouse_//p
+s/.*set_layer_state: //p
+s/.*hid_listener_keycode/kp/p
+s/.*handle_state_changed_dispatcher: //p
+s/.*handle_position_state_changed: //p
+s/.*handle_keycode_state_changed: //p
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/keycode_events.snapshot b/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/keycode_events.snapshot
new file mode 100644
index 0000000000..57d5dfc8c2
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/keycode_events.snapshot
@@ -0,0 +1,148 @@
+Dispatching handle_keycode_state_changed
+Setting last_tapped_timestamp to: 11
+kp_pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
+Dispatching handle_keycode_state_changed
+kp_released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
+movement_set: Mouse movement set to -1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -4/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -4/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -1/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+layer_changed: layer 1 state 1
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -2/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -3/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -4/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -4/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -5/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -5/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -6/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -7/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -7/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -8/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -8/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -8/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -10/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+movement_set: Mouse movement set to -9/0
+scroll_set: Mouse scroll set to 0/0
+movement_set: Mouse movement set to 0/0
+layer_changed: layer 1 state 0
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/native_posix_64.conf b/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/native_posix_64.conf
new file mode 100644
index 0000000000..fa514727ba
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/native_posix_64.conf
@@ -0,0 +1,6 @@
+CONFIG_GPIO=n
+CONFIG_ZMK_BLE=n
+CONFIG_LOG=y
+CONFIG_LOG_BACKEND_SHOW_COLOR=n
+CONFIG_ZMK_LOG_LEVEL_DBG=y
+CONFIG_ZMK_POINTING=y
diff --git a/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/native_posix_64.keymap b/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/native_posix_64.keymap
new file mode 100644
index 0000000000..e641588acd
--- /dev/null
+++ b/app/tests/pointing/mouse-move/processors/temp_layer/3-require-prior-idle-ms/native_posix_64.keymap
@@ -0,0 +1,50 @@
+
+#include <dt-bindings/zmk/input_transform.h>
+#include <zephyr/dt-bindings/input/input-event-codes.h>
+
+#include <behaviors.dtsi>
+#include <input/processors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/kscan_mock.h>
+#include <dt-bindings/zmk/mouse.h>
+
+&mmv_input_listener {
+ input-processors = <&auto_mouse_layer 1 500>;
+};
+
+/ {
+ auto_mouse_layer: auto_mouse_layer {
+ compatible = "zmk,input-processor-temp-layer";
+ #input-processor-cells = <2>;
+ require-prior-idle-ms = <500>;
+ };
+ keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+
+ default_layer {
+ bindings = <
+ &mmv MOVE_LEFT &mmv MOVE_UP
+ &kp A &none
+ >;
+ };
+
+ mkp_layer {
+ bindings = <&mkp LCLK &mkp RCLK &trans &trans>;
+ };
+ };
+};
+
+
+&kscan {
+ events = <
+ ZMK_MOCK_PRESS(1,0,10)
+ ZMK_MOCK_RELEASE(1,0,100)
+ /* before idle */
+ ZMK_MOCK_PRESS(0,0,150)
+ ZMK_MOCK_RELEASE(0,0,200)
+ /* after idle */
+ ZMK_MOCK_PRESS(0,0,700)
+ ZMK_MOCK_RELEASE(0,0,800)
+ >;
+};