forked from kofal.net/zmk
feat(mouse): Add mouse move and scroll support (#2477)
* feat(mouse): Add mouse move and scroll support
* Use Zephyr input subsystem for all pointers.
* Input processors for modifying events, e.g. scaling, swapping
codes, temporary (mouse) layers, etc.
* Mouse move/scroll behaviors.
* Infrastructure in place for physical pointer input devices.
* feat: Add input split support.
* docs: Add initial pointer docs.
---------
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
Co-authored-by: Alexander Krikun <krikun98@gmail.com>
Co-authored-by: Robert U <urob@users.noreply.github.com>
Co-authored-by: Shawn Meier <ftc@users.noreply.github.com>
Co-authored-by: Chris Andreae <chris@andreae.gen.nz>
Co-authored-by: Anant Thazhemadam <47104651+thazhemadam@users.noreply.github.com>
Co-authored-by: Erik Tollerud <erik.tollerud@gmail.com>
Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
This commit is contained in:
1
app/tests/pointing/mkp/events.patterns
Normal file
1
app/tests/pointing/mkp/events.patterns
Normal file
@@ -0,0 +1 @@
|
||||
s/.*zmk_hid_mouse_button_//p
|
||||
10
app/tests/pointing/mkp/keycode_events.snapshot
Normal file
10
app/tests/pointing/mkp/keycode_events.snapshot
Normal file
@@ -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
|
||||
27
app/tests/pointing/mkp/native_posix.keymap
Normal file
27
app/tests/pointing/mkp/native_posix.keymap
Normal file
@@ -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)
|
||||
>;
|
||||
};
|
||||
6
app/tests/pointing/mkp/native_posix_64.conf
Normal file
6
app/tests/pointing/mkp/native_posix_64.conf
Normal file
@@ -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
|
||||
27
app/tests/pointing/mkp/native_posix_64.keymap
Normal file
27
app/tests/pointing/mkp/native_posix_64.keymap
Normal file
@@ -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)
|
||||
>;
|
||||
};
|
||||
Reference in New Issue
Block a user