Add bottom row combos

This commit is contained in:
Manna Harbour
2022-01-08 00:02:39 +11:00
parent fbc4a0bfef
commit a2b6cc5882
9 changed files with 230 additions and 99 deletions

View File

@@ -1,4 +1,4 @@
// Copyright 2021 Manna Harbour
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
#define MIRYOKU_MAPPING( \
@@ -14,3 +14,8 @@ K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 \
#define MIRYOKU_KLUDGE_THUMBCOMBOS_LEFT 33 34
#define MIRYOKU_KLUDGE_THUMBCOMBOS_RIGHT 35 36
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_LEFTPINKIE 22 22
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_LEFTINNERINDEX 22 23
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_RIGHTINNERINDEX 26 27
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_RIGHTPINKIE 27 28

View File

@@ -1,4 +1,4 @@
// Copyright 2021 Manna Harbour
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
#define XXX &none
@@ -16,3 +16,8 @@ XXX K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 XXX \
#define MIRYOKU_KLUDGE_THUMBCOMBOS_LEFT 37 38
#define MIRYOKU_KLUDGE_THUMBCOMBOS_RIGHT 39 40
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_LEFTPINKIE 26 27
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_LEFTINNERINDEX 27 28
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_RIGHTINNERINDEX 31 32
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_RIGHTPINKIE 32 33

View File

@@ -1,4 +1,4 @@
// Copyright 2021 Manna Harbour
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
#include <behaviors.dtsi>
@@ -64,47 +64,13 @@
};
#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>;
};
*/
#include "miryoku_kludge_mousekeyspr.dtsi"
#endif
#if defined (MIRYOKU_KLUDGE_THUMBCOMBOS)
/ {
combos {
compatible = "zmk,combos";
#if defined (MIRYOKU_LAYERS_FLIP)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BASE, RIGHT, &lt MEDIA ESC)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BASE, LEFT, &lt FUN DEL)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BUTTON, RIGHT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BUTTON, LEFT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(NAV, LEFT, &kp DEL)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(MOUSE, LEFT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(MEDIA, LEFT, &kp K_MUTE)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(NUM, RIGHT, &kp DOT)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(SYM, RIGHT, &kp RPAR)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(FUN, RIGHT, &kp K_APP)
#else
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BASE, LEFT, &lt MEDIA ESC)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BASE, RIGHT, &lt FUN DEL)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BUTTON, LEFT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BUTTON, RIGHT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(NAV, RIGHT, &kp DEL)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(MOUSE, RIGHT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(MEDIA, RIGHT, &kp K_MUTE)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(NUM, LEFT, &kp DOT)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(SYM, LEFT, &kp LPAR)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(FUN, LEFT, &kp K_APP)
#endif
};
};
#include "miryoku_kludge_thumbcombos.dtsi"
#endif
#if defined (MIRYOKU_KLUDGE_BOTTOMROWCOMBOS)
#include "miryoku_kludge_bottomrowcombos.dtsi"
#endif

View File

@@ -1,4 +1,4 @@
// Copyright 2021 Manna Harbour
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
#pragma once
@@ -41,44 +41,7 @@
#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)
#endif
#if defined (MIRYOKU_KLUDGE_MOUSEKEYSPR)
#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
#include "miryoku_kludge_mousekeyspr.h"
#else
#define U_BTN1 &kp KP_N5
#define U_BTN2 U_NU
@@ -92,14 +55,3 @@
#define U_WH_R U_NU
#define U_WH_U U_NU
#endif
#if defined (MIRYOKU_KLUDGE_THUMBCOMBOS)
#define MIRYOKU_KLUDGE_THUMBCOMBOS_TERM 200
#define MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(layer, side, binding) \
thumbcombos_ ## layer ## _ ## side { \
layers = <layer>; \
key-positions = <MIRYOKU_KLUDGE_THUMBCOMBOS_ ## side>; \
bindings = <binding>; \
timeout-ms = <MIRYOKU_KLUDGE_THUMBCOMBOS_TERM>; \
};
#endif

View File

@@ -0,0 +1,86 @@
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_TERM 50
#define MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(layer, position, binding) \
bottomrowcombos_ ## layer ## _ ## position { \
layers = <layer>; \
key-positions = <MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_ ## position>; \
bindings = <binding>; \
timeout-ms = <MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_TERM>; \
};
/ {
combos {
compatible = "zmk,combos";
#if defined (MIRYOKU_LAYERS_FLIP)
#if defined (MIRYOKU_ALPHAS_AZERTY)
#elif defined (MIRYOKU_ALPHAS_BEAKL15)
#elif defined (MIRYOKU_ALPHAS_COLEMAK)
#elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
#elif defined (MIRYOKU_ALPHAS_DVORAK)
#elif defined (MIRYOKU_ALPHAS_HALMAK)
#elif defined (MIRYOKU_ALPHAS_WORKMAN)
#elif defined (MIRYOKU_ALPHAS_QWERTY)
#elif defined (MIRYOKU_ALPHAS_QWERTZ)
#else
#endif
#if defined (MIRYOKU_NAV_INVERTEDT)
#elif defined (MIRYOKU_NAV_VI)
#else
#endif
#else
#if defined (MIRYOKU_ALPHAS_AZERTY)
#elif defined (MIRYOKU_ALPHAS_BEAKL15)
#elif defined (MIRYOKU_ALPHAS_COLEMAK)
#elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
#elif defined (MIRYOKU_ALPHAS_DVORAK)
#elif defined (MIRYOKU_ALPHAS_HALMAK)
#elif defined (MIRYOKU_ALPHAS_WORKMAN)
#elif defined (MIRYOKU_ALPHAS_QWERTY)
#elif defined (MIRYOKU_ALPHAS_QWERTZ)
#else
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(BASE, LEFTPINKIE, &lt BUTTON Z)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(BASE, LEFTINNERINDEX, &kp V)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(BASE, RIGHTINNERINDEX, &kp K)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(BASE, RIGHTPINKIE, &lt BUTTON SLASH)
#endif
#if defined (MIRYOKU_NAV_INVERTEDT)
#elif defined (MIRYOKU_NAV_VI)
#else
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(NAV, LEFTPINKIE, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(NAV, LEFTINNERINDEX, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(NAV, RIGHTINNERINDEX, &kp INS)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(NAV, RIGHTPINKIE, &kp END)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(MOUSE, LEFTPINKIE, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(MOUSE, LEFTINNERINDEX, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(MOUSE, RIGHTINNERINDEX, U_NU)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(MOUSE, RIGHTPINKIE, U_WH_R)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(MEDIA, LEFTPINKIE, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(MEDIA, LEFTINNERINDEX, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(MEDIA, RIGHTINNERINDEX, &bt BT_CLR)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(MEDIA, RIGHTPINKIE, &bt BT_SEL 3)
#endif
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(NUM, LEFTPINKIE, &kp GRAVE)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(NUM, LEFTINNERINDEX, &kp BSLH)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(NUM, RIGHTINNERINDEX, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(NUM, RIGHTPINKIE, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(SYM, LEFTPINKIE, &kp TILDE)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(SYM, LEFTINNERINDEX, &kp PIPE)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(SYM, RIGHTINNERINDEX, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(SYM, RIGHTPINKIE, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(FUN, LEFTPINKIE, &kp F10)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(FUN, LEFTINNERINDEX, &kp PAUSE_BREAK)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(FUN, RIGHTINNERINDEX, U_NA)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(FUN, RIGHTPINKIE, U_NA)
#endif
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(BUTTON, LEFTPINKIE, U_UND)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(BUTTON, LEFTINNERINDEX, U_RDO)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(BUTTON, RIGHTINNERINDEX, U_RDO)
MIRYOKU_KLUDGE_BOTTOMROWCOMBOS_MACRO(BUTTON, RIGHTPINKIE, U_UND)
};
};

View File

@@ -0,0 +1,16 @@
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
&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>;
};
*/

View File

@@ -0,0 +1,40 @@
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
#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
#undef SCROLL_UP
#undef SCROLL_DOWN
#undef SCROLL_LEFT
#undef SCROLL_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)
#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

View File

@@ -0,0 +1,40 @@
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
#define MIRYOKU_KLUDGE_THUMBCOMBOS_TERM 200
#define MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(layer, position, binding) \
thumbcombos_ ## layer ## _ ## position { \
layers = <layer>; \
key-positions = <MIRYOKU_KLUDGE_THUMBCOMBOS_ ## position>; \
bindings = <binding>; \
timeout-ms = <MIRYOKU_KLUDGE_THUMBCOMBOS_TERM>; \
};
/ {
combos {
compatible = "zmk,combos";
#if defined (MIRYOKU_LAYERS_FLIP)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BASE, RIGHT, &lt MEDIA ESC)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BASE, LEFT, &lt FUN DEL)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BUTTON, RIGHT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BUTTON, LEFT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(NAV, LEFT, &kp DEL)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(MOUSE, LEFT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(MEDIA, LEFT, &kp K_MUTE)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(NUM, RIGHT, &kp DOT)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(SYM, RIGHT, &kp RPAR)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(FUN, RIGHT, &kp K_APP)
#else
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BASE, LEFT, &lt MEDIA ESC)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BASE, RIGHT, &lt FUN DEL)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BUTTON, LEFT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(BUTTON, RIGHT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(NAV, RIGHT, &kp DEL)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(MOUSE, RIGHT, U_BTN2)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(MEDIA, RIGHT, &kp K_MUTE)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(NUM, LEFT, &kp DOT)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(SYM, LEFT, &kp LPAR)
MIRYOKU_KLUDGE_THUMBCOMBOS_MACRO(FUN, LEFT, &kp K_APP)
#endif
};
};