forked from kofal.net/zmk
feat(mouse): Initial mouse keys support.
* Add HID report/descriptor for a new report with mouse buttons, and x/y/wheel deltas. * New mouse key press behavior for press/release of mouse keys. * Add constants for HID main item values (e.g. data/array/absolute) * Define and use constants for our HID report IDs.
This commit is contained in:
committed by
Pete Johanson
parent
8776911da5
commit
d7d9eed317
1
app/tests/mouse-keys/mkp/events.patterns
Normal file
1
app/tests/mouse-keys/mkp/events.patterns
Normal file
@@ -0,0 +1 @@
|
||||
s/.*zmk_hid_mouse_button_//p
|
||||
10
app/tests/mouse-keys/mkp/keycode_events.snapshot
Normal file
10
app/tests/mouse-keys/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
|
||||
28
app/tests/mouse-keys/mkp/native_posix.keymap
Normal file
28
app/tests/mouse-keys/mkp/native_posix.keymap
Normal file
@@ -0,0 +1,28 @@
|
||||
#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";
|
||||
label = "Default 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)
|
||||
>;
|
||||
};
|
||||
28
app/tests/mouse-keys/mkp/native_posix_64.keymap
Normal file
28
app/tests/mouse-keys/mkp/native_posix_64.keymap
Normal file
@@ -0,0 +1,28 @@
|
||||
#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";
|
||||
label = "Default 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