Skip to content

Commit 2f83ff1

Browse files
committed
feat(mouse): add mouse emulation, move media keys to Fn
1 parent 8aa0cee commit 2f83ff1

File tree

9 files changed

+169
-78
lines changed

9 files changed

+169
-78
lines changed

config/corne.conf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,6 @@ CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
2828
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_PROXY=y
2929
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
3030

31+
# Enable mouse emulation
32+
CONFIG_ZMK_POINTING=y
33+

config/corneish_zen.conf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,6 @@ CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
4141
# Use alternative refresh method
4242
# CONFIG_IL0323_ALTERNATIVE_REFRESH=y
4343

44+
# Enable mouse emulation
45+
CONFIG_ZMK_POINTING=y
46+

img/corneish_zen.svg

Lines changed: 93 additions & 52 deletions
Loading

img/corneish_zen.yaml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ layers:
5050
- {t: '3', s: '#'}
5151
- {t: '4', s: $}
5252
- {t: '5', s: '%'}
53-
- $$mdi:skip-previous$$
54-
- $$mdi:volume-low$$
55-
- $$mdi:volume-high$$
56-
- $$mdi:skip-next$$
57-
- $$mdi:volume-off$$
53+
- {t: '$$mdi:pan-left$$', s: '$$mdi:mouse-scroll-wheel$$'}
54+
- {t: '$$mdi:pan-down$$', s: '$$mdi:mouse-scroll-wheel$$'}
55+
- {t: '$$mdi:pan-up$$', s: '$$mdi:mouse-scroll-wheel$$'}
56+
- {t: '$$mdi:pan-right$$', s: '$$mdi:mouse-scroll-wheel$$'}
57+
- {t: '$$mdi:transfer$$', type: trans}
5858
- {t: '$$mdi:transfer$$', type: trans}
5959
- {t: '$$mdi:transfer$$', type: trans}
6060
- {t: '6', s: ^}
@@ -74,18 +74,18 @@ layers:
7474
- {t: '$$mdi:transfer$$', type: trans}
7575
- {t: '$$mdi:transfer$$', type: trans}
7676
- {t: '$$mdi:transfer$$', type: trans}
77-
- {t: '$$mdi:transfer$$', type: trans}
78-
- {t: '$$mdi:transfer$$', type: trans}
79-
- {t: '$$mdi:transfer$$', type: trans}
80-
- {t: '$$mdi:transfer$$', type: trans}
77+
- {t: '$$mdi:arrow-left-thin$$', s: '$$mdi:mouse-scroll-wheel$$'}
78+
- {t: '$$mdi:arrow-down-thin$$', s: '$$mdi:mouse-scroll-wheel$$'}
79+
- {t: '$$mdi:arrow-up-thin$$', s: '$$mdi:mouse-scroll-wheel$$'}
80+
- {t: '$$mdi:arrow-right-thin$$', s: '$$mdi:mouse-scroll-wheel$$'}
8181
- {t: '$$mdi:transfer$$', type: trans}
8282
- {t: '$$mdi:transfer$$', type: trans}
8383
- {t: '$$mdi:transfer$$', type: trans}
8484
- {t: '$$mdi:transfer$$', type: trans}
8585
- {t: '$$mdi:close-box$$', h: L2}
8686
- {t: '$$mdi:close-box$$', h: L2}
87-
- {t: '$$mdi:transfer$$', type: trans}
88-
- {t: '$$mdi:transfer$$', type: trans}
87+
- $$mdi:mouse-left-click-outline$$
88+
- $$mdi:mouse-right-click-outline$$
8989
Fn:
9090
- {t: '$$mdi:toggle-switch$$', h: '$$mdi:bluetooth$$', s: '$$mdi:usb$$'}
9191
- F1
@@ -94,8 +94,8 @@ layers:
9494
- F4
9595
- F5
9696
- {t: '$$mdi:transfer$$', type: trans}
97-
- {t: '$$mdi:transfer$$', type: trans}
98-
- {t: '$$mdi:transfer$$', type: trans}
97+
- $$mdi:brightness-7$$
98+
- $$mdi:brightness-5$$
9999
- {t: '$$mdi:transfer$$', type: trans}
100100
- {t: '$$mdi:transfer$$', type: trans}
101101
- $$mdi:power-standby$$
@@ -105,11 +105,11 @@ layers:
105105
- {t: F8, h: '$$mdi:apple-keyboard-option$$'}
106106
- {t: F9, h: '$$mdi:apple-keyboard-command$$'}
107107
- {t: F10, h: '$$mdi:triangle$$'}
108-
- {t: '$$mdi:transfer$$', type: trans}
109-
- {t: '$$mdi:transfer$$', type: trans}
110-
- {t: '$$mdi:transfer$$', type: trans}
111-
- {t: '$$mdi:transfer$$', type: trans}
112-
- {t: '$$mdi:transfer$$', type: trans}
108+
- $$mdi:skip-previous$$
109+
- $$mdi:volume-low$$
110+
- $$mdi:volume-high$$
111+
- $$mdi:skip-next$$
112+
- $$mdi:volume-off$$
113113
- {t: '$$mdi:backup-restore$$', h: '$$mdi:progress-download$$', type: bootloader}
114114
- {t: '$$mdi:close-box$$', h: Fn}
115115
- F11
@@ -123,8 +123,8 @@ layers:
123123
- {t: '$$mdi:transfer$$', type: trans}
124124
- {t: '$$mdi:transfer$$', type: trans}
125125
- {t: '$$mdi:close-box$$', h: Fn}
126-
- $$mdi:brightness-7$$
127-
- $$mdi:brightness-5$$
126+
- {t: '$$mdi:transfer$$', type: trans}
127+
- {t: '$$mdi:transfer$$', type: trans}
128128
- {t: '$$mdi:close-box$$', h: L2}
129129
- {t: '$$mdi:close-box$$', h: L2}
130130
- $$mdi:apple-keyboard-caps$$

keymap-drawer/config.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,35 @@ parse_config:
3535
tap: $$mdi:minus-circle-outline$$
3636
type: none
3737

38+
# Mouse
39+
"&smart_mouse": $$mdi:mouse-scroll-wheel$$
40+
"&mmv MOVE_UP":
41+
tap: $$mdi:arrow-up-thin$$
42+
shifted: $$mdi:mouse-scroll-wheel$$
43+
"&mmv MOVE_DOWN":
44+
tap: $$mdi:arrow-down-thin$$
45+
shifted: $$mdi:mouse-scroll-wheel$$
46+
"&mmv MOVE_LEFT":
47+
tap: $$mdi:arrow-left-thin$$
48+
shifted: $$mdi:mouse-scroll-wheel$$
49+
"&mmv MOVE_RIGHT":
50+
tap: $$mdi:arrow-right-thin$$
51+
shifted: $$mdi:mouse-scroll-wheel$$
52+
"&msc SCRL_UP":
53+
tap: $$mdi:pan-up$$
54+
shifted: $$mdi:mouse-scroll-wheel$$
55+
"&msc SCRL_DOWN":
56+
tap: $$mdi:pan-down$$
57+
shifted: $$mdi:mouse-scroll-wheel$$
58+
"&msc SCRL_LEFT":
59+
tap: $$mdi:pan-left$$
60+
shifted: $$mdi:mouse-scroll-wheel$$
61+
"&msc SCRL_RIGHT":
62+
tap: $$mdi:pan-right$$
63+
shifted: $$mdi:mouse-scroll-wheel$$
64+
"&mkp LCLK": $$mdi:mouse-left-click-outline$$
65+
"&mkp RCLK": $$mdi:mouse-right-click-outline$$
66+
3867
# Whitespace
3968
"&bkspc_del":
4069
type: backspace

knucklehead/Fn.dtsi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@
1111
bindings = <
1212
// ╭───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────╮ ╭───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────╮
1313
// │0 │1 │2 │3 │4 │5 │ │6 │7 │8 │9 │10 │11 │
14-
&out OUT_TOG &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &trans &trans &trans &trans &kp C_POWER
14+
&out OUT_TOG &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &kp C_BRI_DN &kp C_BRI_UP &trans &trans &kp C_POWER
1515
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
1616
// │12 │13 │14 │15 │16 │17 │ │18 │19 │20 │21 │22 │23 │
17-
&rst_boot 0 0 &kp F6 &hrml LCTRL F7 &hrml LALT F8 &hrml LCMD F9 &hrml MEH F10 &trans &trans &trans &trans &trans &rst_boot 0 0
17+
&rst_boot 0 0 &kp F6 &hrml LCTRL F7 &hrml LALT F8 &hrml LCMD F9 &hrml MEH F10 &kp C_PREV &kp C_VOL_DN &kp C_VOL_UP &kp C_NEXT &kp C_MUTE &rst_boot 0 0
1818
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
1919
// │24 │25 │26 │27 │28 │29 │ │30 │31 │32 │33 │34 │35 │
2020
&cmo Fn &kp F11 &kp F12 &kp F13 &kp F14 &kp F15 &trans &trans &trans &trans &trans &cmo Fn
2121
// ╰───────────────┴───────────────┴───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┴───────────────┴───────────────╯
2222
// │36 │37 │38 │ │39 │40 │41 │
23-
&kp C_BRI_DN &kp C_BRI_UP &cmo L2 &cmo L2 &kp CAPSLOCK &trans
23+
&trans &trans &cmo L2 &cmo L2 &kp CAPSLOCK &trans
2424
// ╰───────────────┴───────────────┴───────────────╯ ╰───────────────┴───────────────┴───────────────╯
2525
>;
2626
};

knucklehead/L2.dtsi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@
1111
bindings = <
1212
// ╭───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────╮ ╭───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────╮
1313
// │0 │1 │2 │3 │4 │5 │ │6 │7 │8 │9 │10 │11 │
14-
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp C_PREV &kp C_VOL_DN &kp C_VOL_UP &kp C_NEXT &kp C_MUTE &trans
14+
&trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &msc SCRL_LEFT &msc SCRL_DOWN &msc SCRL_UP &msc SCRL_RIGHT &trans &trans
1515
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
1616
// │12 │13 │14 │15 │16 │17 │ │18 │19 │20 │21 │22 │23 │
1717
&trans &kp N6 &hrml LCTRL N7 &hrml LALT N8 &hrml LCMD N9 &hrml MEH N0 &hrmr MEH LEFT &hrmr LCMD DOWN &hrmr LALT UP &hrmr LCTRL RIGHT&trans &trans
1818
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
1919
// │24 │25 │26 │27 │28 │29 │ │30 │31 │32 │33 │34 │35 │
20-
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
20+
&trans &trans &trans &trans &trans &trans &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_UP &mmv MOVE_RIGHT &trans &trans
2121
// ╰───────────────┴───────────────┴───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┴───────────────┴───────────────╯
2222
// │36 │37 │38 │ │39 │40 │41 │
23-
&trans &trans &cmo L2 &cmo L2 &trans &trans
23+
&trans &trans &cmo L2 &cmo L2 &mkp LCLK &mkp RCLK
2424
// ╰───────────────┴───────────────┴───────────────╯ ╰───────────────┴───────────────┴───────────────╯
2525
>;
2626
};

knucklehead/base.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#include <dt-bindings/zmk/keys.h>
55
#include <dt-bindings/zmk/bt.h>
66
#include <dt-bindings/zmk/outputs.h>
7+
#include <dt-bindings/zmk/pointing.h>
8+
79

810
// Layers
911
#define L1 0

knucklehead/behaviors.dtsi

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,19 @@
104104
#binding-cells = <0>;
105105
};
106106

107+
/*
108+
- tap: &tog Ms
109+
- tap x 2: &none
110+
- tap x 3: &tog Ms
111+
*/
112+
/*/omit-if-no-ref/ smart_mouse: smart_mouse {
113+
compatible = "zmk,behavior-tri-state";
114+
bindings = <&tog Ms>, <&none>, <&tog Ms>;
115+
ignored-key-positions = <6 7 8 9 18 19 20 21 40 41>;
116+
ignored-layers = <L2 Ms>;
117+
#binding-cells = <0>;
118+
};*/
119+
107120
/*
108121
- tap: &kp <PARAM_2>
109122
- hold: &none

0 commit comments

Comments
 (0)