Add MIRYOKU_KLUDGE_MOUSEKEYSPR

This commit is contained in:
Manna Harbour 2021-11-10 17:20:32 +11:00
parent 0eff3d2ebc
commit da1052fa04
3 changed files with 118 additions and 51 deletions

View File

@ -6,22 +6,12 @@
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/rgb.h>
#include <dt-bindings/zmk/outputs.h>
#if defined (MIRYOKU_KLUDGE_MOUSEKEYSPR)
#include <dt-bindings/zmk/mouse.h>
#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 = <U_TAPPING_TERM>;
flavor = "tap-preferred";
bindings = <&kp>, <&kp>;
};
};
};
#if defined (MIRYOKU_KLUDGE_MOUSEKEYSPR)
&mmv {
acceleration-exponent = <U_MOUSE_MOVE_EXPONENT>;
time-to-max-speed-ms = <U_MOUSE_MOVE_TIME>;
delay-ms = <U_MOUSE_MOVE_DELAY>;
};
/*
&mwh {
acceleration-exponent = <U_MOUSE_SCROLL_EXPONENT>;
time-to-max-speed-ms = <U_MOUSE_SCROLL_TIME>;
delay-ms = <U_MOUSE_SCROLL_DELAY>;
};
*/
#endif
#if defined (MIRYOKU_COMBO_TPS_ENABLE) && defined (MIRYOKU_COMBO_TPSL) && defined (MIRYOKU_COMBO_TPSR)
/ {
combos {
@ -121,4 +139,3 @@
};
};
#endif

View File

@ -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

View File

@ -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