diff --git a/config/cygnus.conf b/config/cygnus.conf index 19fab41..4e2502e 100644 --- a/config/cygnus.conf +++ b/config/cygnus.conf @@ -13,3 +13,5 @@ CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 CONFIG_BT_CTLR_TX_PWR_PLUS_8=y # 更改键盘默认显示名称 CONFIG_ZMK_KEYBOARD_NAME="Cygnus" +CONFIG_ZMK_MOUSE=y +CONFIG_ZMK_MOUSE_TICK_DURATION=8 \ No newline at end of file diff --git a/config/cygnus.keymap b/config/cygnus.keymap index 3ef980f..f3829fe 100644 --- a/config/cygnus.keymap +++ b/config/cygnus.keymap @@ -3,7 +3,7 @@ * * SPDX-License-Identifier: MIT */ - +#include "mouse.dtsi" #include #include #include @@ -117,24 +117,24 @@ &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &hm LG(LS(V)) P &hm LEFT_GUI A &hm LEFT_ALT S &hm LCTRL D &hm LEFT_SHIFT F &kp G &kp H &hm RIGHT_SHIFT J &hm RCTRL K &hm RIGHT_ALT L &as COLON SEMICOLON &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &as LESS_THAN COMMA &as GREATER_THAN PERIOD &as QUESTION SLASH - <q 1 BACKSPACE < 3 TAB < 2 SPACE <q 2 SPACE <q 3 ENTER <q 1 DEL + <q 1 BACKSPACE < 3 TAB < 2 SPACE <q 2 SPACE <q 3 ENTER <q 4 DEL >; }; lower_layer { bindings = < -&bt BT_CLR &trans &kp UP &trans &trans &trans &trans &trans &trans &trans -&bt BT_NXT &kp LEFT &kp DOWN &kp RIGHT &kp C_VOLUME_UP &kp C_BRI_UP &trans &trans &trans &trans -&bt BT_PRV &out OUT_TOG &trans &trans &kp C_VOLUME_DOWN &kp C_BRI_DN &trans &trans &trans &trans +&trans &trans &kp UP &trans &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 +&bt BT_NXT &kp LEFT &kp DOWN &kp RIGHT &kp C_VOLUME_UP &kp C_BRI_UP &bt BT_CLR &trans &trans &trans +&bt BT_PRV &out OUT_TOG &trans &trans &kp C_VOLUME_DOWN &kp C_BRI_DN &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; raise_layer { bindings = < -&kp EXCLAMATION &kp AT_SIGN &kp HASH &kp DOLLAR &kp PERCENT &kp CARET &kp AMPERSAND &kp STAR &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS -&kp ESCAPE &kp CAPSLOCK &kp HOME &kp END &kp UNDER &kp MINUS &kp PAGE_UP &kp BACKSLASH &kp PAGE_DOWN &kp INSERT -&kp DEL &trans &trans &trans &kp TILDE &kp GRAVE &kp EQUAL &kp SINGLE_QUOTE &kp DOUBLE_QUOTES &kp DEL +&kp EXCLAMATION &kp AT_SIGN &kp HASH &kp DOLLAR &kp PERCENT &kp CARET &kp AMPERSAND &kp STAR &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS +&kp ESCAPE &kp CAPSLOCK &kp HOME &kp END &kp UNDER &kp MINUS &kp RIGHT_SHIFT &kp PAGE_UP &kp PAGE_DOWN &kp INSERT +&kp BACKSPACE &trans &trans &trans &kp TILDE &kp GRAVE &as PLUS EQUAL &as DOUBLE_QUOTES SINGLE_QUOTE &as PIPE BACKSLASH &kp DEL &trans &trans &trans &trans &trans &trans >; }; @@ -150,10 +150,10 @@ layer_4 { bindings = < -&bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans -&bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans -&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans +&trans U_WH_D U_MS_U U_WH_U &trans &trans &trans &trans &trans &trans +&trans U_MS_L U_MS_D U_MS_R &trans &trans &trans &trans &trans &trans +&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans U_BTN1 U_BTN2 &trans &trans &trans >; }; diff --git a/config/mouse.dtsi b/config/mouse.dtsi new file mode 100644 index 0000000..bad3448 --- /dev/null +++ b/config/mouse.dtsi @@ -0,0 +1,46 @@ +#include + +&mmv { + acceleration-exponent = <1>; // 1 + time-to-max-speed-ms = <1500>; // 40 + delay-ms = <0>; // 0 +}; + +&mwh { + acceleration-exponent = <1>; // 0 + time-to-max-speed-ms = <5000>; // 40 + delay-ms = <0>; // 10 +}; + +#define U_MOUSE_MOVE_MAX 1250 // 600 +#define U_MOUSE_SCROLL_MAX 100 // 10 + +#undef MOVE_UP +#undef MOVE_DOWN +#undef MOVE_LEFT +#undef MOVE_RIGHT +#define MOVE_UP MOVE_VERT(-U_MOUSE_MOVE_MAX) +#define MOVE_DOWN MOVE_VERT(U_MOUSE_MOVE_MAX) +#define MOVE_LEFT MOVE_HOR(-U_MOUSE_MOVE_MAX) +#define MOVE_RIGHT MOVE_HOR(U_MOUSE_MOVE_MAX) + +#undef SCROLL_UP +#undef SCROLL_DOWN +#undef SCROLL_LEFT +#undef SCROLL_RIGHT +#define SCROLL_UP SCROLL_VERT(U_MOUSE_SCROLL_MAX) +#define SCROLL_DOWN SCROLL_VERT(-U_MOUSE_SCROLL_MAX) +#define SCROLL_LEFT SCROLL_HOR(-U_MOUSE_SCROLL_MAX) +#define SCROLL_RIGHT SCROLL_HOR(U_MOUSE_SCROLL_MAX) + +#define U_BTN1 &mkp MB1 +#define U_BTN2 &mkp MB2 +#define U_BTN3 &mkp MB3 +#define U_MS_U &mmv MOVE_UP +#define U_MS_D &mmv MOVE_DOWN +#define U_MS_L &mmv MOVE_LEFT +#define U_MS_R &mmv MOVE_RIGHT +#define U_WH_U &mwh SCROLL_UP +#define U_WH_D &mwh SCROLL_DOWN +#define U_WH_L &mwh SCROLL_LEFT +#define U_WH_R &mwh SCROLL_RIGHT \ No newline at end of file diff --git a/config/west.yml b/config/west.yml index d321083..f709e56 100644 --- a/config/west.yml +++ b/config/west.yml @@ -1,17 +1,11 @@ manifest: remotes: - - name: zmkfirmware - url-base: https://github.com/zmkfirmware - - name: kuolemax - url-base: https://github.com/kuolemax + - name: urob + url-base: https://github.com/urob projects: - name: zmk - remote: kuolemax - revision: encoder-fix + remote: urob + revision: main import: app/west.yml - # - name: zmk - # remote: zmkfirmware - # revision: main - # import: app/west.yml self: path: config