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