diff --git a/miryoku/mapping/36-minidox.h b/miryoku/mapping/36-minidox.h index e793d5b..4f1a1b5 100644 --- a/miryoku/mapping/36-minidox.h +++ b/miryoku/mapping/36-minidox.h @@ -12,10 +12,16 @@ K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 \ K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 \ K32 K33 K34 K35 K36 K37 -#define MIRYOKU_KLUDGE_THUMBCOMBOS_LEFT 33 34 -#define MIRYOKU_KLUDGE_THUMBCOMBOS_RIGHT 35 36 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_LEFTPINKIE 1 2 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_LEFTINNERINDEX 2 3 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_RIGHTINNERINDEX 6 7 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_RIGHTPINKIE 7 8 #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 + +#define MIRYOKU_KLUDGE_THUMBCOMBOS_LEFT 33 34 +#define MIRYOKU_KLUDGE_THUMBCOMBOS_RIGHT 35 36 + diff --git a/miryoku/mapping/42-corne.h b/miryoku/mapping/42-corne.h index 2f98f34..bab82c1 100644 --- a/miryoku/mapping/42-corne.h +++ b/miryoku/mapping/42-corne.h @@ -14,10 +14,16 @@ XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ XXX K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 XXX \ K32 K33 K34 K35 K36 K37 -#define MIRYOKU_KLUDGE_THUMBCOMBOS_LEFT 37 38 -#define MIRYOKU_KLUDGE_THUMBCOMBOS_RIGHT 39 40 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_LEFTPINKIE 2 3 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_LEFTINNERINDEX 3 4 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_RIGHTINNERINDEX 7 8 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_RIGHTPINKIE 8 9 #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 + +#define MIRYOKU_KLUDGE_THUMBCOMBOS_LEFT 37 38 +#define MIRYOKU_KLUDGE_THUMBCOMBOS_RIGHT 39 40 + diff --git a/miryoku/miryoku.dtsi b/miryoku/miryoku.dtsi index e6d3616..aeeed9f 100644 --- a/miryoku/miryoku.dtsi +++ b/miryoku/miryoku.dtsi @@ -71,6 +71,10 @@ #include "miryoku_kludge_thumbcombos.dtsi" #endif +#if defined (MIRYOKU_KLUDGE_TOPROWCOMBOS) + #include "miryoku_kludge_toprowcombos.dtsi" +#endif + #if defined (MIRYOKU_KLUDGE_BOTTOMROWCOMBOS) #include "miryoku_kludge_bottomrowcombos.dtsi" #endif diff --git a/miryoku/miryoku_kludge_toprowcombos.dtsi b/miryoku/miryoku_kludge_toprowcombos.dtsi new file mode 100644 index 0000000..8b7f311 --- /dev/null +++ b/miryoku/miryoku_kludge_toprowcombos.dtsi @@ -0,0 +1,86 @@ +// Copyright 2022 Manna Harbour +// https://github.com/manna-harbour/miryoku + +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_TERM 50 +#define MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(layer, position, binding) \ +toprowcombos_ ## layer ## _ ## position { \ + layers = ; \ + key-positions = ; \ + bindings = ; \ + timeout-ms = ; \ +}; + +/ { + 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_TOPROWCOMBOS_MACRO(BASE, LEFTPINKIE, &kp Q) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(BASE, LEFTINNERINDEX, &kp B) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(BASE, RIGHTINNERINDEX, &kp J) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(BASE, RIGHTPINKIE, &kp SQT) + #endif + #if defined (MIRYOKU_NAV_INVERTEDT) + #elif defined (MIRYOKU_NAV_VI) + #else + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(NAV, LEFTPINKIE, &bootloader) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(NAV, LEFTINNERINDEX, U_NA) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(NAV, RIGHTINNERINDEX, U_RDO) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(NAV, RIGHTPINKIE, U_UND) + + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(MOUSE, LEFTPINKIE, &bootloader) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(MOUSE, LEFTINNERINDEX, U_NA) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(MOUSE, RIGHTINNERINDEX, U_RDO) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(MOUSE, RIGHTPINKIE, U_UND) + + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(MEDIA, LEFTPINKIE, &bootloader) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(MEDIA, LEFTINNERINDEX, U_NA) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(MEDIA, RIGHTINNERINDEX, &rgb_ug RGB_TOG) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(MEDIA, RIGHTPINKIE, &rgb_ug RGB_BRI) + #endif + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(NUM, LEFTPINKIE, &kp LBKT) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(NUM, LEFTINNERINDEX, &kp RBKT) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(NUM, RIGHTINNERINDEX, U_NA) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(NUM, RIGHTPINKIE, &bootloader) + + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(SYM, LEFTPINKIE, &kp LBRC) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(SYM, LEFTINNERINDEX, &kp RBRC) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(SYM, RIGHTINNERINDEX, U_NA) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(SYM, RIGHTPINKIE, &bootloader) + + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(FUN, LEFTPINKIE, &kp F12) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(FUN, LEFTINNERINDEX, &kp PSCRN) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(FUN, RIGHTINNERINDEX, U_NA) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(FUN, RIGHTPINKIE, &bootloader) +#endif + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(BUTTON, LEFTPINKIE, U_UND) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(BUTTON, LEFTINNERINDEX, U_RDO) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(BUTTON, RIGHTINNERINDEX, U_RDO) + MIRYOKU_KLUDGE_TOPROWCOMBOS_MACRO(BUTTON, RIGHTPINKIE, U_UND) + }; +}; diff --git a/readme.org b/readme.org index fe82ab5..297d3f7 100644 --- a/readme.org +++ b/readme.org @@ -264,9 +264,11 @@ Emulate a key with a combo of two other keys. Enabled automatically on keyboard See https://github.com/manna-harbour/miryoku/issues/56. -**** Thumb Combos +**** Top Row Combos -On each hand, combo the primary and secondary thumb keys to emulate the tertiary thumb key. Requires suitable keycaps to enable the thumb to press both keys simultaneously. +On the top row on each hand, combo the ring and middle finger keys to emulate the pinkie key, and combo the middle and index finger keys to emulate the inner index key. + +Requires ~CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=16~ [[#kconfig-configuration][Kconfig configuration]]. **** Bottom Row Combos @@ -276,6 +278,11 @@ On the bottom row on each hand, combo the ring and middle finger keys to emulate Requires ~CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=16~ [[#kconfig-configuration][Kconfig configuration]]. +**** Thumb Combos + +On each hand, combo the primary and secondary thumb keys to emulate the tertiary thumb key. Requires suitable keycaps to enable the thumb to press both keys simultaneously. + + ** [[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]]