diff --git a/app/Kconfig.behaviors b/app/Kconfig.behaviors
index f0d4070d..601eb2ee 100644
--- a/app/Kconfig.behaviors
+++ b/app/Kconfig.behaviors
@@ -71,8 +71,7 @@ config ZMK_BEHAVIOR_KEY_TOGGLE
 config ZMK_BEHAVIOR_MOUSE_KEY_PRESS
     bool
     default y
-    depends on DT_HAS_ZMK_BEHAVIOR_MOUSE_KEY_PRESS_ENABLED
-    imply ZMK_MOUSE
+    depends on DT_HAS_ZMK_BEHAVIOR_MOUSE_KEY_PRESS_ENABLED && ZMK_MOUSE
 
 config ZMK_BEHAVIOR_STICKY_KEY
     bool
@@ -97,8 +96,7 @@ config ZMK_BEHAVIOR_SOFT_OFF
 config ZMK_BEHAVIOR_INPUT_TWO_AXIS
     bool
     default y
-    depends on DT_HAS_ZMK_BEHAVIOR_INPUT_TWO_AXIS_ENABLED
-    imply ZMK_MOUSE
+    depends on DT_HAS_ZMK_BEHAVIOR_INPUT_TWO_AXIS_ENABLED && ZMK_MOUSE
 
 config ZMK_BEHAVIOR_SENSOR_ROTATE_COMMON
     bool
diff --git a/app/include/zmk/hid.h b/app/include/zmk/hid.h
index 9d0632fd..a5db4f63 100644
--- a/app/include/zmk/hid.h
+++ b/app/include/zmk/hid.h
@@ -77,10 +77,6 @@
 #define ZMK_HID_REPORT_ID_CONSUMER 0x02
 #define ZMK_HID_REPORT_ID_MOUSE 0x03
 
-// Needed until Zephyr offers a 2 byte usage macro
-#define HID_USAGE16(idx)                                                                           \
-    HID_ITEM(HID_ITEM_TAG_USAGE, HID_ITEM_TYPE_LOCAL, 2), (idx & 0xFF), (idx >> 8 & 0xFF)
-
 static const uint8_t zmk_hid_report_desc[] = {
     HID_USAGE_PAGE(HID_USAGE_GEN_DESKTOP),
     HID_USAGE(HID_USAGE_GD_KEYBOARD),
diff --git a/app/tests/mouse-keys/mkp/native_posix_64.conf b/app/tests/mouse-keys/mkp/native_posix_64.conf
new file mode 100644
index 00000000..65ed54bb
--- /dev/null
+++ b/app/tests/mouse-keys/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/mouse-keys/mkp/native_posix_64.keymap b/app/tests/mouse-keys/mkp/native_posix_64.keymap
index 8b955846..8e3071d4 100644
--- a/app/tests/mouse-keys/mkp/native_posix_64.keymap
+++ b/app/tests/mouse-keys/mkp/native_posix_64.keymap
@@ -1,5 +1,4 @@
 #include <behaviors.dtsi>
-#include <behaviors/mouse_keys.dtsi>
 #include <dt-bindings/zmk/keys.h>
 #include <dt-bindings/zmk/kscan_mock.h>
 #include <dt-bindings/zmk/mouse.h>
diff --git a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/keycode_events.snapshot b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/keycode_events.snapshot
index 6b9fa770..15d31600 100644
--- a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/keycode_events.snapshot
+++ b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/keycode_events.snapshot
@@ -1,18 +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
+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/-3
+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/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/native_posix_64.conf b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/native_posix_64.conf
new file mode 100644
index 00000000..65ed54bb
--- /dev/null
+++ b/app/tests/mouse-keys/mouse-move/input-configs/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_MOUSE=y
diff --git a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/native_posix_64.keymap b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/native_posix_64.keymap
index 6351799b..df8cda8c 100644
--- a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/native_posix_64.keymap
+++ b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_scaling/native_posix_64.keymap
@@ -1,9 +1,13 @@
 #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>
 
+&mmv_input_listener {
+    scale-multiplier = <5>;
+    scale-divisor = <3>;
+};
+
 / {
     keymap {
         compatible = "zmk,keymap";
@@ -16,16 +20,6 @@
             >;
         };
     };
-
-    input_configs {
-        compatible = "zmk,input-configs";
-
-        mmv {
-            device = <&mmv>;
-            scale-multiplier = <5>;
-            scale-divisor = <3>;
-        };
-    };
 };
 
 
diff --git a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/keycode_events.snapshot b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/keycode_events.snapshot
index 6b9fa770..33bb267b 100644
--- a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/keycode_events.snapshot
+++ b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/keycode_events.snapshot
@@ -1,18 +1,18 @@
-movement_set: Mouse movement set to -1/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/-2
+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
+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
+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
+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
+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/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/native_posix_64.conf b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/native_posix_64.conf
new file mode 100644
index 00000000..65ed54bb
--- /dev/null
+++ b/app/tests/mouse-keys/mouse-move/input-configs/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_MOUSE=y
diff --git a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/native_posix_64.keymap b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/native_posix_64.keymap
index 3392dd0d..9b07e1b9 100644
--- a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/native_posix_64.keymap
+++ b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_invert/native_posix_64.keymap
@@ -1,9 +1,13 @@
 #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>
 
+&mmv_input_listener {
+    x-invert;
+    y-invert;
+};
+
 / {
     keymap {
         compatible = "zmk,keymap";
@@ -16,16 +20,6 @@
             >;
         };
     };
-
-    input_configs {
-        compatible = "zmk,input-configs";
-
-        mmv {
-            device = <&mmv>;
-            x-invert;
-            y-invert;
-        };
-    };
 };
 
 
diff --git a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/keycode_events.snapshot b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/keycode_events.snapshot
index 6b9fa770..40daa64f 100644
--- a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/keycode_events.snapshot
+++ b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/keycode_events.snapshot
@@ -1,4 +1,4 @@
-movement_set: Mouse movement set to -1/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 -2/-2
@@ -7,12 +7,12 @@ 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
+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 0/-3
+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/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/native_posix_64.conf b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/native_posix_64.conf
new file mode 100644
index 00000000..65ed54bb
--- /dev/null
+++ b/app/tests/mouse-keys/mouse-move/input-configs/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_MOUSE=y
diff --git a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/native_posix_64.keymap b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/native_posix_64.keymap
index d4cf5031..719bca98 100644
--- a/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/native_posix_64.keymap
+++ b/app/tests/mouse-keys/mouse-move/input-configs/move_diagonal_xy_swap/native_posix_64.keymap
@@ -1,9 +1,12 @@
 #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>
 
+&mmv_input_listener {
+    xy-swap;
+};
+
 / {
     keymap {
         compatible = "zmk,keymap";
@@ -16,15 +19,6 @@
             >;
         };
     };
-
-    input_configs {
-        compatible = "zmk,input-configs";
-
-        mmv {
-            device = <&mmv>;
-            xy-swap;
-        };
-    };
 };
 
 
diff --git a/app/tests/mouse-keys/mouse-move/move_diagonal/native_posix_64.conf b/app/tests/mouse-keys/mouse-move/move_diagonal/native_posix_64.conf
new file mode 100644
index 00000000..65ed54bb
--- /dev/null
+++ b/app/tests/mouse-keys/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_MOUSE=y
diff --git a/app/tests/mouse-keys/mouse-move/move_x/native_posix_64.conf b/app/tests/mouse-keys/mouse-move/move_x/native_posix_64.conf
new file mode 100644
index 00000000..65ed54bb
--- /dev/null
+++ b/app/tests/mouse-keys/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_MOUSE=y
diff --git a/app/tests/mouse-keys/mouse-move/move_y/native_posix_64.conf b/app/tests/mouse-keys/mouse-move/move_y/native_posix_64.conf
new file mode 100644
index 00000000..65ed54bb
--- /dev/null
+++ b/app/tests/mouse-keys/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_MOUSE=y