diff --git a/config/corne.conf b/config/corne.conf
index f6d37728..4dd41486 100644
--- a/config/corne.conf
+++ b/config/corne.conf
@@ -28,3 +28,6 @@ CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_PROXY=y
CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
+# Enable mouse emulation
+CONFIG_ZMK_POINTING=y
+
diff --git a/config/corneish_zen.conf b/config/corneish_zen.conf
index 4137a088..0d04c2f8 100644
--- a/config/corneish_zen.conf
+++ b/config/corneish_zen.conf
@@ -41,3 +41,6 @@ CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y
# Use alternative refresh method
# CONFIG_IL0323_ALTERNATIVE_REFRESH=y
+# Enable mouse emulation
+CONFIG_ZMK_POINTING=y
+
diff --git a/img/corneish_zen.svg b/img/corneish_zen.svg
index ebca3a22..ae3822d2 100644
--- a/img/corneish_zen.svg
+++ b/img/corneish_zen.svg
@@ -21,15 +21,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -72,6 +84,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -860,23 +893,27 @@ path.combo {
-
+
+
-
+
+
-
+
+
-
+
+
-
-
-
+
+
+
@@ -967,21 +1004,25 @@ path.combo {
-
-
-
+
+
+
+
-
-
-
+
+
+
+
-
-
-
+
+
+
+
-
-
-
+
+
+
+
@@ -1011,13 +1052,13 @@ path.combo {
L2
-
-
-
+
+
+
-
-
-
+
+
+
@@ -1144,13 +1185,13 @@ path.combo {
-
-
-
+
+
+
-
-
-
+
+
+
@@ -1193,25 +1234,25 @@ path.combo {
F10
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
@@ -1270,13 +1311,13 @@ path.combo {
Fn
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/img/corneish_zen.yaml b/img/corneish_zen.yaml
index a3dbb5a1..2c30e7d5 100644
--- a/img/corneish_zen.yaml
+++ b/img/corneish_zen.yaml
@@ -50,11 +50,11 @@ layers:
- {t: '3', s: '#'}
- {t: '4', s: $}
- {t: '5', s: '%'}
- - $$mdi:skip-previous$$
- - $$mdi:volume-low$$
- - $$mdi:volume-high$$
- - $$mdi:skip-next$$
- - $$mdi:volume-off$$
+ - {t: '$$mdi:pan-left$$', s: '$$mdi:mouse-scroll-wheel$$'}
+ - {t: '$$mdi:pan-down$$', s: '$$mdi:mouse-scroll-wheel$$'}
+ - {t: '$$mdi:pan-up$$', s: '$$mdi:mouse-scroll-wheel$$'}
+ - {t: '$$mdi:pan-right$$', s: '$$mdi:mouse-scroll-wheel$$'}
+ - {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '6', s: ^}
@@ -74,18 +74,18 @@ layers:
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
+ - {t: '$$mdi:arrow-left-thin$$', s: '$$mdi:mouse-scroll-wheel$$'}
+ - {t: '$$mdi:arrow-down-thin$$', s: '$$mdi:mouse-scroll-wheel$$'}
+ - {t: '$$mdi:arrow-up-thin$$', s: '$$mdi:mouse-scroll-wheel$$'}
+ - {t: '$$mdi:arrow-right-thin$$', s: '$$mdi:mouse-scroll-wheel$$'}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:close-box$$', h: L2}
- {t: '$$mdi:close-box$$', h: L2}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
+ - $$mdi:mouse-left-click-outline$$
+ - $$mdi:mouse-right-click-outline$$
Fn:
- {t: '$$mdi:toggle-switch$$', h: '$$mdi:bluetooth$$', s: '$$mdi:usb$$'}
- F1
@@ -94,8 +94,8 @@ layers:
- F4
- F5
- {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
+ - $$mdi:brightness-7$$
+ - $$mdi:brightness-5$$
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- $$mdi:power-standby$$
@@ -105,11 +105,11 @@ layers:
- {t: F8, h: '$$mdi:apple-keyboard-option$$'}
- {t: F9, h: '$$mdi:apple-keyboard-command$$'}
- {t: F10, h: '$$mdi:triangle$$'}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
- - {t: '$$mdi:transfer$$', type: trans}
+ - $$mdi:skip-previous$$
+ - $$mdi:volume-low$$
+ - $$mdi:volume-high$$
+ - $$mdi:skip-next$$
+ - $$mdi:volume-off$$
- {t: '$$mdi:backup-restore$$', h: '$$mdi:progress-download$$', type: bootloader}
- {t: '$$mdi:close-box$$', h: Fn}
- F11
@@ -123,8 +123,8 @@ layers:
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:close-box$$', h: Fn}
- - $$mdi:brightness-7$$
- - $$mdi:brightness-5$$
+ - {t: '$$mdi:transfer$$', type: trans}
+ - {t: '$$mdi:transfer$$', type: trans}
- {t: '$$mdi:close-box$$', h: L2}
- {t: '$$mdi:close-box$$', h: L2}
- $$mdi:apple-keyboard-caps$$
diff --git a/keymap-drawer/config.yaml b/keymap-drawer/config.yaml
index 8bd4a3b6..133e3bc4 100644
--- a/keymap-drawer/config.yaml
+++ b/keymap-drawer/config.yaml
@@ -35,6 +35,35 @@ parse_config:
tap: $$mdi:minus-circle-outline$$
type: none
+ # Mouse
+ "&smart_mouse": $$mdi:mouse-scroll-wheel$$
+ "&mmv MOVE_UP":
+ tap: $$mdi:arrow-up-thin$$
+ shifted: $$mdi:mouse-scroll-wheel$$
+ "&mmv MOVE_DOWN":
+ tap: $$mdi:arrow-down-thin$$
+ shifted: $$mdi:mouse-scroll-wheel$$
+ "&mmv MOVE_LEFT":
+ tap: $$mdi:arrow-left-thin$$
+ shifted: $$mdi:mouse-scroll-wheel$$
+ "&mmv MOVE_RIGHT":
+ tap: $$mdi:arrow-right-thin$$
+ shifted: $$mdi:mouse-scroll-wheel$$
+ "&msc SCRL_UP":
+ tap: $$mdi:pan-up$$
+ shifted: $$mdi:mouse-scroll-wheel$$
+ "&msc SCRL_DOWN":
+ tap: $$mdi:pan-down$$
+ shifted: $$mdi:mouse-scroll-wheel$$
+ "&msc SCRL_LEFT":
+ tap: $$mdi:pan-left$$
+ shifted: $$mdi:mouse-scroll-wheel$$
+ "&msc SCRL_RIGHT":
+ tap: $$mdi:pan-right$$
+ shifted: $$mdi:mouse-scroll-wheel$$
+ "&mkp LCLK": $$mdi:mouse-left-click-outline$$
+ "&mkp RCLK": $$mdi:mouse-right-click-outline$$
+
# Whitespace
"&bkspc_del":
type: backspace
diff --git a/knucklehead/Fn.dtsi b/knucklehead/Fn.dtsi
index ac49e483..4777d73f 100644
--- a/knucklehead/Fn.dtsi
+++ b/knucklehead/Fn.dtsi
@@ -11,16 +11,16 @@
bindings = <
// ╭───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────╮ ╭───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────╮
// │0 │1 │2 │3 │4 │5 │ │6 │7 │8 │9 │10 │11 │
- &out OUT_TOG &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &trans &trans &trans &trans &kp C_POWER
+ &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
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
// │12 │13 │14 │15 │16 │17 │ │18 │19 │20 │21 │22 │23 │
- &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
+ &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
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
// │24 │25 │26 │27 │28 │29 │ │30 │31 │32 │33 │34 │35 │
&cmo Fn &kp F11 &kp F12 &kp F13 &kp F14 &kp F15 &trans &trans &trans &trans &trans &cmo Fn
// ╰───────────────┴───────────────┴───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┴───────────────┴───────────────╯
// │36 │37 │38 │ │39 │40 │41 │
- &kp C_BRI_DN &kp C_BRI_UP &cmo L2 &cmo L2 &kp CAPSLOCK &trans
+ &trans &trans &cmo L2 &cmo L2 &kp CAPSLOCK &trans
// ╰───────────────┴───────────────┴───────────────╯ ╰───────────────┴───────────────┴───────────────╯
>;
};
diff --git a/knucklehead/L2.dtsi b/knucklehead/L2.dtsi
index 772b55a2..e9681e17 100644
--- a/knucklehead/L2.dtsi
+++ b/knucklehead/L2.dtsi
@@ -11,16 +11,16 @@
bindings = <
// ╭───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────╮ ╭───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────╮
// │0 │1 │2 │3 │4 │5 │ │6 │7 │8 │9 │10 │11 │
- &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
+ &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
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
// │12 │13 │14 │15 │16 │17 │ │18 │19 │20 │21 │22 │23 │
&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
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
// │24 │25 │26 │27 │28 │29 │ │30 │31 │32 │33 │34 │35 │
- &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ &trans &trans &trans &trans &trans &trans &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_UP &mmv MOVE_RIGHT &trans &trans
// ╰───────────────┴───────────────┴───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┴───────────────┴───────────────╯
// │36 │37 │38 │ │39 │40 │41 │
- &trans &trans &cmo L2 &cmo L2 &trans &trans
+ &trans &trans &cmo L2 &cmo L2 &mkp LCLK &mkp RCLK
// ╰───────────────┴───────────────┴───────────────╯ ╰───────────────┴───────────────┴───────────────╯
>;
};
diff --git a/knucklehead/base.dtsi b/knucklehead/base.dtsi
index 9f355ec9..29e9060d 100644
--- a/knucklehead/base.dtsi
+++ b/knucklehead/base.dtsi
@@ -4,6 +4,8 @@
#include
#include
#include
+#include
+
// Layers
#define L1 0
diff --git a/knucklehead/behaviors.dtsi b/knucklehead/behaviors.dtsi
index 05c6b55b..b22a399d 100644
--- a/knucklehead/behaviors.dtsi
+++ b/knucklehead/behaviors.dtsi
@@ -104,6 +104,19 @@
#binding-cells = <0>;
};
+ /*
+ - tap: &tog Ms
+ - tap x 2: &none
+ - tap x 3: &tog Ms
+ */
+ /*/omit-if-no-ref/ smart_mouse: smart_mouse {
+ compatible = "zmk,behavior-tri-state";
+ bindings = <&tog Ms>, <&none>, <&tog Ms>;
+ ignored-key-positions = <6 7 8 9 18 19 20 21 40 41>;
+ ignored-layers = ;
+ #binding-cells = <0>;
+ };*/
+
/*
- tap: &kp
- hold: &none