From da1052fa048108bd0a8a9a48c13eccfb890c7d55 Mon Sep 17 00:00:00 2001 From: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Wed, 10 Nov 2021 17:20:32 +1100 Subject: [PATCH] Add MIRYOKU_KLUDGE_MOUSEKEYSPR --- miryoku/miryoku.dtsi | 45 ++++++--- miryoku/miryoku.h | 98 +++++++++++++++----- miryoku/miryoku_babel/miryoku_alternatives.h | 26 +++--- 3 files changed, 118 insertions(+), 51 deletions(-) diff --git a/miryoku/miryoku.dtsi b/miryoku/miryoku.dtsi index e85ab3b..59f06b9 100644 --- a/miryoku/miryoku.dtsi +++ b/miryoku/miryoku.dtsi @@ -6,22 +6,12 @@ #include #include #include +#if defined (MIRYOKU_KLUDGE_MOUSEKEYSPR) + #include +#endif #include "miryoku.h" -/ { - behaviors { - hm: homerow_mods { - compatible = "zmk,behavior-hold-tap"; - label = "HOMEROW_MODS"; - #binding-cells = <2>; - tapping_term_ms = <200>; - flavor = "tap-preferred"; - bindings = <&kp>, <&kp>; - }; - }; -}; - / { keymap { compatible = "zmk,keymap"; @@ -60,6 +50,34 @@ }; }; +/ { + behaviors { + hm: homerow_mods { + compatible = "zmk,behavior-hold-tap"; + label = "HOMEROW_MODS"; + #binding-cells = <2>; + tapping_term_ms = ; + flavor = "tap-preferred"; + bindings = <&kp>, <&kp>; + }; + }; +}; + +#if defined (MIRYOKU_KLUDGE_MOUSEKEYSPR) +&mmv { + acceleration-exponent = ; + time-to-max-speed-ms = ; + delay-ms = ; +}; +/* +&mwh { + acceleration-exponent = ; + time-to-max-speed-ms = ; + delay-ms = ; +}; +*/ +#endif + #if defined (MIRYOKU_COMBO_TPS_ENABLE) && defined (MIRYOKU_COMBO_TPSL) && defined (MIRYOKU_COMBO_TPSR) / { combos { @@ -121,4 +139,3 @@ }; }; #endif - diff --git a/miryoku/miryoku.h b/miryoku/miryoku.h index c3c6d08..fc74fe4 100644 --- a/miryoku/miryoku.h +++ b/miryoku/miryoku.h @@ -12,30 +12,80 @@ #define U_NA &none // present but not available for use #define U_NU &none // available but not used -#if defined MIRYOKU_CLIPBOARD_FUN -#define U_RDO &kp K_AGAIN -#define U_PST &kp K_PASTE -#define U_CPY &kp K_COPY -#define U_CUT &kp K_CUT -#define U_UND &kp K_UNDO -#elif defined MIRYOKU_CLIPBOARD_MAC -#define U_RDO &kp LS(LG(Z)) -#define U_PST &kp LG(V) -#define U_CPY &kp LG(C) -#define U_CUT &kp LG(X) -#define U_UND &kp LG(Z) -#elif defined MIRYOKU_CLIPBOARD_WIN -#define U_RDO &kp LC(Y) -#define U_PST &kp LC(V) -#define U_CPY &kp LC(C) -#define U_CUT &kp LC(X) -#define U_UND &kp LC(Z) +#define U_TAPPING_TERM 200 + +#if defined (MIRYOKU_CLIPBOARD_FUN) + #define U_RDO &kp K_AGAIN + #define U_PST &kp K_PASTE + #define U_CPY &kp K_COPY + #define U_CUT &kp K_CUT + #define U_UND &kp K_UNDO +#elif defined (MIRYOKU_CLIPBOARD_MAC) + #define U_RDO &kp LS(LG(Z)) + #define U_PST &kp LG(V) + #define U_CPY &kp LG(C) + #define U_CUT &kp LG(X) + #define U_UND &kp LG(Z) +#elif defined (MIRYOKU_CLIPBOARD_WIN) + #define U_RDO &kp LC(Y) + #define U_PST &kp LC(V) + #define U_CPY &kp LC(C) + #define U_CUT &kp LC(X) + #define U_UND &kp LC(Z) #else -#define U_RDO &kp K_AGAIN -#define U_PST &kp LS(INS) -#define U_CPY &kp LC(INS) -#define U_CUT &kp LS(DEL) -#define U_UND &kp K_UNDO + #define U_RDO &kp K_AGAIN + #define U_PST &kp LS(INS) + #define U_CPY &kp LC(INS) + #define U_CUT &kp LS(DEL) + #define U_UND &kp K_UNDO #endif - +#if defined (MIRYOKU_KLUDGE_MOUSEKEYSPR) + #define U_MOUSE_MOVE_MAX 1250 + #define U_MOUSE_MOVE_EXPONENT 1 + #define U_MOUSE_MOVE_TIME 1500 + #define U_MOUSE_MOVE_DELAY 0 + #define U_MOUSE_SCROLL_MAX 100 + #define U_MOUSE_SCROLL_EXPONENT 1 + #define U_MOUSE_SCROLL_TIME 5000 + #define U_MOUSE_SCROLL_DELAY 0 + #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_D &mmv MOVE_DOWN + #define U_MS_L &mmv MOVE_LEFT + #define U_MS_R &mmv MOVE_RIGHT + #define U_MS_U &mmv MOVE_UP + #define U_WH_D &mwh SCROLL_DOWN + #define U_WH_L &mwh SCROLL_LEFT + #define U_WH_R &mwh SCROLL_RIGHT + #define U_WH_U &mwh SCROLL_UP +#else + #define U_BTN1 &kp KP_N5 + #define U_BTN2 U_NU + #define U_BTN3 U_NU + #define U_MS_D &kp KP_N2 + #define U_MS_L &kp KP_N4 + #define U_MS_R &kp KP_N6 + #define U_MS_U &kp KP_N8 + #define U_WH_D U_NU + #define U_WH_L U_NU + #define U_WH_R U_NU + #define U_WH_U U_NU +#endif diff --git a/miryoku/miryoku_babel/miryoku_alternatives.h b/miryoku/miryoku_babel/miryoku_alternatives.h index 7ba3f10..bd96018 100644 --- a/miryoku/miryoku_babel/miryoku_alternatives.h +++ b/miryoku/miryoku_babel/miryoku_alternatives.h @@ -140,28 +140,28 @@ U_NP, U_NP, U_NA, U_NA, U_NA #define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \ -U_NU, U_NU, &kp KP_N8, U_NU, U_NU, U_NA, U_NA, U_NA, U_NA, &bootloader, \ -U_NU, &kp KP_N4, &kp KP_N2, &kp KP_N6, U_NU, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ +U_WH_U, U_WH_L, U_MS_U, U_WH_R, U_NU, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +U_WH_D, U_MS_L, U_MS_D, U_MS_R, U_NU, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, &kp RALT, U_NA, \ -U_NP, U_NP, U_NU, U_NU, &kp KP_N5, U_NA, U_NA, U_NA, U_NP, U_NP +U_NP, U_NP, U_BTN2, U_BTN3, U_BTN1, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \ -U_NU, U_NU, U_NU, U_NU, U_NU, U_NA, U_NA, U_NA, U_NA, &bootloader, \ -&kp KP_N4, &kp KP_N2, &kp KP_N8, &kp KP_N6, U_NU, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ +U_WH_L, U_WH_D, U_WH_U, U_WH_R, U_NU, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +U_MS_L, U_MS_D, U_MS_U, U_MS_R, U_NU, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, &kp RALT, U_NA, \ -U_NP, U_NP, U_NU, U_NU, &kp KP_N5, U_NA, U_NA, U_NA, U_NP, U_NP +U_NP, U_NP, U_BTN2, U_BTN3, U_BTN1, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MOUSE_VI \ &bootloader, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ -&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp KP_N4, &kp KP_N2, &kp KP_N8, &kp KP_N6, U_NU, \ -U_NA, &kp RALT, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, \ -U_NP, U_NP, U_NA, U_NA, U_NA, &kp KP_N5, U_NU, U_NU, U_NP, U_NP +&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, U_MS_L, U_MS_D, U_MS_U, U_MS_R, U_NU, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, U_WH_L, U_WH_D, U_WH_U, U_WH_R, U_NU, \ +U_NP, U_NP, U_NA, U_NA, U_NA, U_BTN1, U_BTN3, U_BTN2, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MOUSE \ &bootloader, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ -&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, U_NU, &kp KP_N4, &kp KP_N2, &kp KP_N8, &kp KP_N6, \ -U_NA, &kp RALT, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, \ -U_NP, U_NP, U_NA, U_NA, U_NA, &kp KP_N5, U_NU, U_NU, U_NP, U_NP +&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, U_NU, U_MS_L, U_MS_D, U_MS_U, U_MS_R, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, U_NU, U_WH_L, U_WH_D, U_WH_U, U_WH_R, \ +U_NP, U_NP, U_NA, U_NA, U_NA, U_BTN1, U_BTN3, U_BTN2, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \ @@ -232,4 +232,4 @@ U_NP, U_NP, &kp K_APP, &kp SPC, &kp U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ &kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, &none, &none, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ -U_NP, U_NP, U_NU, U_NU, &kp KP_N5, &kp KP_N5, U_NU, U_NU, U_NP, U_NP +U_NP, U_NP, U_BTN2, U_BTN3, U_BTN1, U_BTN1, U_BTN3, U_BTN2, U_NP, U_NP