From b2d25e0580c7c97180427ee22e2d48accbd7916f Mon Sep 17 00:00:00 2001 From: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Mon, 25 Oct 2021 17:20:05 +1100 Subject: [PATCH] Add macros for all layer alternatives --- miryoku/babel/alternatives.h | 235 +++++++++ miryoku/babel/clipboard.h | 25 - miryoku/babel/keymap.dtsi | 281 ---------- miryoku/babel/layer_names.h | 13 + miryoku/babel/layers.h | 9 - miryoku/layer.h | 126 +++++ miryoku/miryoku-zmk-babel.org | 941 ---------------------------------- miryoku/miryoku.dtsi | 134 ++++- 8 files changed, 502 insertions(+), 1262 deletions(-) create mode 100644 miryoku/babel/alternatives.h delete mode 100644 miryoku/babel/clipboard.h delete mode 100644 miryoku/babel/keymap.dtsi create mode 100644 miryoku/babel/layer_names.h delete mode 100644 miryoku/babel/layers.h create mode 100644 miryoku/layer.h delete mode 100644 miryoku/miryoku-zmk-babel.org diff --git a/miryoku/babel/alternatives.h b/miryoku/babel/alternatives.h new file mode 100644 index 0000000..ad97388 --- /dev/null +++ b/miryoku/babel/alternatives.h @@ -0,0 +1,235 @@ +// Copyright 2021 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated -*- buffer-read-only: t -*- + +#pragma once + + +#define MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP \ +&kp A, &kp Z, &kp E, &kp R, &kp T, &kp Y, &kp U, &kp I, &kp O, &kp P, \ +&hm LGUI Q, &hm LALT S, &hm LCTRL D, &hm LSHFT F, &kp G, &kp H, &hm LSHFT J, &hm LCTRL K, &hm LALT L, &hm LGUI M, \ +< BUTTON W, &hm RALT X, &kp C, &kp V, &kp B, &kp N, &kp COMMA, &kp DOT, &hm RALT SLASH, < BUTTON SQT, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP \ +&kp Q, &kp W, &kp F, &kp P, &kp G, &kp J, &kp L, &kp U, &kp Y, &kp SQT, \ +&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp D, &kp H, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, \ +< BUTTON Z, &hm RALT X, &kp C, &kp V, &kp B, &kp K, &kp M, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP \ +&kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, \ +&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp M, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, \ +< BUTTON Z, &hm RALT X, &kp C, &kp D, &kp V, &kp K, &kp H, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP \ +&kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, \ +&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp K, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, \ +< BUTTON Z, &hm RALT X, &kp C, &kp D, &kp V, &kp M, &kp H, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP \ +&kp SQT, &kp COMMA, &kp DOT, &kp P, &kp Y, &kp F, &kp G, &kp C, &kp R, &kp L, \ +&hm LGUI A, &hm LALT O, &hm LCTRL E, &hm LSHFT U, &kp I, &kp D, &hm LSHFT H, &hm LCTRL T, &hm LALT N, &hm LGUI S, \ +< BUTTON SLASH, &hm RALT Q, &kp J, &kp K, &kp X, &kp B, &kp M, &kp W, &hm RALT V, < BUTTON Z, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP \ +&kp W, &kp L, &kp R, &kp B, &kp Z, &kp SQT, &kp Q, &kp U, &kp D, &kp J, \ +&hm LGUI S, &hm LALT H, &hm LCTRL N, &hm LSHFT T, &kp COMMA, &kp DOT, &hm LSHFT A, &hm LCTRL E, &hm LALT O, &hm LGUI I, \ +< BUTTON F, &hm RALT M, &kp V, &kp C, &kp SLASH, &kp G, &kp P, &kp X, &hm RALT K, < BUTTON Y, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP \ +&kp Q, &kp D, &kp R, &kp W, &kp B, &kp J, &kp F, &kp U, &kp P, &kp SQT, \ +&hm LGUI A, &hm LALT S, &hm LCTRL H, &hm LSHFT T, &kp G, &kp Y, &hm LSHFT N, &hm LCTRL E, &hm LALT O, &hm LGUI I, \ +< BUTTON Z, &hm RALT X, &kp M, &kp C, &kp V, &kp K, &kp L, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP \ +&kp Q, &kp W, &kp E, &kp R, &kp T, &kp Y, &kp U, &kp I, &kp O, &kp P, \ +&hm LGUI A, &hm LALT S, &hm LCTRL D, &hm LSHFT F, &kp G, &kp H, &hm LSHFT J, &hm LCTRL K, &hm LALT L, &hm LGUI SQT, \ +< BUTTON Z, &hm RALT X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP \ +&kp Q, &kp W, &kp E, &kp R, &kp T, &kp Z, &kp U, &kp I, &kp O, &kp P, \ +&hm LGUI A, &hm LALT S, &hm LCTRL D, &hm LSHFT F, &kp G, &kp H, &hm LSHFT J, &hm LCTRL K, &hm LALT L, &hm LGUI SQT, \ +< BUTTON Y, &hm RALT X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < FUN DEL, < NUM BSPC, < SYM RET, < MOUSE TAB, < NAV SPC, < MEDIA ESC, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_AZERTY \ +&kp A, &kp Z, &kp E, &kp R, &kp T, &kp Y, &kp U, &kp I, &kp O, &kp P, \ +&hm LGUI Q, &hm LALT S, &hm LCTRL D, &hm LSHFT F, &kp G, &kp H, &hm LSHFT J, &hm LCTRL K, &hm LALT L, &hm LGUI M, \ +< BUTTON W, &hm RALT X, &kp C, &kp V, &kp B, &kp N, &kp COMMA, &kp DOT, &hm RALT SLASH, < BUTTON SQT, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK \ +&kp Q, &kp W, &kp F, &kp P, &kp G, &kp J, &kp L, &kp U, &kp Y, &kp SQT, \ +&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp D, &kp H, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, \ +< BUTTON Z, &hm RALT X, &kp C, &kp V, &kp B, &kp K, &kp M, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \ +&kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, \ +&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp M, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, \ +< BUTTON Z, &hm RALT X, &kp C, &kp D, &kp V, &kp K, &kp H, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK \ +&kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, \ +&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp K, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, \ +< BUTTON Z, &hm RALT X, &kp C, &kp D, &kp V, &kp M, &kp H, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_DVORAK \ +&kp SQT, &kp COMMA, &kp DOT, &kp P, &kp Y, &kp F, &kp G, &kp C, &kp R, &kp L, \ +&hm LGUI A, &hm LALT O, &hm LCTRL E, &hm LSHFT U, &kp I, &kp D, &hm LSHFT H, &hm LCTRL T, &hm LALT N, &hm LGUI S, \ +< BUTTON SLASH, &hm RALT Q, &kp J, &kp K, &kp X, &kp B, &kp M, &kp W, &hm RALT V, < BUTTON Z, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_HALMAK \ +&kp W, &kp L, &kp R, &kp B, &kp Z, &kp SQT, &kp Q, &kp U, &kp D, &kp J, \ +&hm LGUI S, &hm LALT H, &hm LCTRL N, &hm LSHFT T, &kp COMMA, &kp DOT, &hm LSHFT A, &hm LCTRL E, &hm LALT O, &hm LGUI I, \ +< BUTTON F, &hm RALT M, &kp V, &kp C, &kp SLASH, &kp G, &kp P, &kp X, &hm RALT K, < BUTTON Y, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN \ +&kp Q, &kp D, &kp R, &kp W, &kp B, &kp J, &kp F, &kp U, &kp P, &kp SQT, \ +&hm LGUI A, &hm LALT S, &hm LCTRL H, &hm LSHFT T, &kp G, &kp Y, &hm LSHFT N, &hm LCTRL E, &hm LALT O, &hm LGUI I, \ +< BUTTON Z, &hm RALT X, &kp M, &kp C, &kp V, &kp K, &kp L, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_QWERTY \ +&kp Q, &kp W, &kp E, &kp R, &kp T, &kp Y, &kp U, &kp I, &kp O, &kp P, \ +&hm LGUI A, &hm LALT S, &hm LCTRL D, &hm LSHFT F, &kp G, &kp H, &hm LSHFT J, &hm LCTRL K, &hm LALT L, &hm LGUI SQT, \ +< BUTTON Z, &hm RALT X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ \ +&kp Q, &kp W, &kp E, &kp R, &kp T, &kp Z, &kp U, &kp I, &kp O, &kp P, \ +&hm LGUI A, &hm LALT S, &hm LCTRL D, &hm LSHFT F, &kp G, &kp H, &hm LSHFT J, &hm LCTRL K, &hm LALT L, &hm LGUI SQT, \ +< BUTTON Y, &hm RALT X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &hm RALT DOT, < BUTTON SLASH, \ +U_NP, U_NP, < MEDIA ESC, < NAV SPC, < MOUSE TAB, < SYM RET, < NUM BSPC, < FUN DEL, U_NP, U_NP + + +#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \ +&kp PG_UP, &kp HOME, &kp UP, &kp END, &kp INS, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +&kp PG_DN, &kp LEFT, &kp DOWN, &kp RIGHT, &kp CAPS, 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, &kp DEL, &kp BSPC, &kp RET, U_NA, U_NA, U_NA, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_NAV_FLIP \ +&kp HOME, &kp PG_DN, &kp PG_UP, &kp END, &kp INS, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +&kp LEFT, &kp DOWN, &kp UP, &kp RIGHT, &kp CAPS, 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, &kp DEL, &kp BSPC, &kp RET, U_NA, U_NA, U_NA, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_NAV_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 LEFT, &kp DOWN, &kp UP, &kp RIGHT, &kp CAPS, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp HOME, &kp PG_DN, &kp PG_UP, &kp END, &kp INS, \ +U_NP, U_NP, U_NA, U_NA, U_NA, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_NAV \ +&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 CAPS, &kp LEFT, &kp DOWN, &kp UP, &kp RIGHT, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp INS, &kp HOME, &kp PG_DN, &kp PG_UP, &kp END, \ +U_NP, U_NP, U_NA, U_NA, U_NA, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP + + +#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_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 + +#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_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 + +#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 + +#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 + + +#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \ +&bt BT_SEL 0, &bt BT_SEL 1, &kp C_VOL_UP, &bt BT_SEL 2, &bt BT_SEL 3, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +&bt BT_CLR, &kp C_PREV, &kp C_VOL_DN, &kp C_NEXT, &out OUT_TOG, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ +&rgb_ug RGB_EFF, &rgb_ug RGB_HUI, &rgb_ug RGB_SAI, &rgb_ug RGB_BRI, &rgb_ug RGB_TOG, U_NA, U_NA, U_NA, &kp RALT, U_NA, \ +U_NP, U_NP, &kp C_MUTE, &kp C_PP, &kp C_STOP, U_NA, U_NA, U_NA, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \ +&rgb_ug RGB_EFF, &rgb_ug RGB_HUI, &rgb_ug RGB_SAI, &rgb_ug RGB_BRI, &rgb_ug RGB_TOG, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +&kp C_PREV, &kp C_VOL_DN, &kp C_VOL_UP, &kp C_NEXT, &out OUT_TOG, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ +&bt BT_SEL 0, &bt BT_SEL 1, &bt BT_SEL 2, &bt BT_SEL 3, &bt BT_CLR, U_NA, U_NA, U_NA, &kp RALT, U_NA, \ +U_NP, U_NP, &kp C_MUTE, &kp C_PP, &kp C_STOP, U_NA, U_NA, U_NA, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_MEDIA_VI \ +&bootloader, U_NA, U_NA, U_NA, U_NA, &rgb_ug RGB_TOG, &rgb_ug RGB_EFF, &rgb_ug RGB_HUI, &rgb_ug RGB_SAI, &rgb_ug RGB_BRI, \ +&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp C_PREV, &kp C_VOL_DN, &kp C_VOL_UP, &kp C_NEXT, &out OUT_TOG, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, &bt BT_SEL 0, &bt BT_SEL 1, &bt BT_SEL 2, &bt BT_SEL 3, &bt BT_CLR, \ +U_NP, U_NP, U_NA, U_NA, U_NA, &kp C_STOP, &kp C_PP, &kp C_MUTE, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_MEDIA \ +&bootloader, U_NA, U_NA, U_NA, U_NA, &rgb_ug RGB_TOG, &rgb_ug RGB_EFF, &rgb_ug RGB_HUI, &rgb_ug RGB_SAI, &rgb_ug RGB_BRI, \ +&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &out OUT_TOG, &kp C_PREV, &kp C_VOL_DN, &kp C_VOL_UP, &kp C_NEXT, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, &bt BT_CLR, &bt BT_SEL 0, &bt BT_SEL 1, &bt BT_SEL 2, &bt BT_SEL 3, \ +U_NP, U_NP, U_NA, U_NA, U_NA, &kp C_STOP, &kp C_PP, &kp C_MUTE, U_NP, U_NP + + +#define MIRYOKU_ALTERNATIVES_NUM_FLIP \ +&bootloader, U_NA, U_NA, U_NA, U_NA, &kp LBKT, &kp NUM_7, &kp NUM_8, &kp NUM_9, &kp RBKT, \ +&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp EQL, &kp NUM_4, &kp NUM_5, &kp NUM_6, &kp SEMI, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp BSLH, &kp NUM_1, &kp NUM_2, &kp NUM_3, &kp GRAVE, \ +U_NP, U_NP, U_NA, U_NA, U_NA, &kp MINUS, &kp NUM_0, &kp DOT, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_NUM \ +&kp LBKT, &kp NUM_7, &kp NUM_8, &kp NUM_9, &kp RBKT, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +&kp SEMI, &kp NUM_4, &kp NUM_5, &kp NUM_6, &kp EQL, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ +&kp GRAVE, &kp NUM_1, &kp NUM_2, &kp NUM_3, &kp BSLH, U_NA, U_NA, U_NA, &kp RALT, U_NA, \ +U_NP, U_NP, &kp DOT, &kp NUM_0, &kp MINUS, U_NA, U_NA, U_NA, U_NP, U_NP + + +#define MIRYOKU_ALTERNATIVES_SYM_FLIP \ +&bootloader, U_NA, U_NA, U_NA, U_NA, &kp LBRC, &kp AMPS, &kp ASTRK, &kp LPAR, &kp RBRC, \ +&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp PLUS, &kp DLLR, &kp PRCT, &kp CRRT, &kp COLON, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp PIPE, &kp EXCL, &kp AT, &kp HASH, &kp TILDE, \ +U_NP, U_NP, U_NA, U_NA, U_NA, &kp UNDER, &kp LPAR, &kp RPAR, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_SYM \ +&kp LBRC, &kp AMPS, &kp ASTRK, &kp LPAR, &kp RBRC, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +&kp COLON, &kp DLLR, &kp PRCT, &kp CRRT, &kp PLUS, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ +&kp TILDE, &kp EXCL, &kp AT, &kp HASH, &kp PIPE, U_NA, U_NA, U_NA, &kp RALT, U_NA, \ +U_NP, U_NP, &kp LPAR, &kp RPAR, &kp UNDER, U_NA, U_NA, U_NA, U_NP, U_NP + + +#define MIRYOKU_ALTERNATIVES_FUN_FLIP \ +&bootloader, U_NA, U_NA, U_NA, U_NA, &kp PSCRN, &kp F7, &kp F8, &kp F9, &kp F12, \ +&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp SLCK, &kp F4, &kp F5, &kp F6, &kp F11, \ +U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp PAUSE_BREAK, &kp F1, &kp F2, &kp F3, &kp F10, \ +U_NP, U_NP, U_NA, U_NA, U_NA, &kp TAB, &kp SPC, &kp K_APP, U_NP, U_NP + +#define MIRYOKU_ALTERNATIVES_FUN \ +&kp F12, &kp F7, &kp F8, &kp F9, &kp PSCRN, U_NA, U_NA, U_NA, U_NA, &bootloader, \ +&kp F11, &kp F4, &kp F5, &kp F6, &kp SLCK, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, \ +&kp F10, &kp F1, &kp F2, &kp F3, &kp PAUSE_BREAK, U_NA, U_NA, U_NA, &kp RALT, U_NA, \ +U_NP, U_NP, &kp K_APP, &kp SPC, &kp TAB, U_NA, U_NA, U_NA, U_NP, U_NP + + +#define MIRYOKU_ALTERNATIVES_BUTTON \ +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, &trans, &trans, &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 diff --git a/miryoku/babel/clipboard.h b/miryoku/babel/clipboard.h deleted file mode 100644 index 809cb79..0000000 --- a/miryoku/babel/clipboard.h +++ /dev/null @@ -1,25 +0,0 @@ -#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 -#endif diff --git a/miryoku/babel/keymap.dtsi b/miryoku/babel/keymap.dtsi deleted file mode 100644 index 78cdec8..0000000 --- a/miryoku/babel/keymap.dtsi +++ /dev/null @@ -1,281 +0,0 @@ -/ { - keymap { - compatible = "zmk,keymap"; - BASE_layer { - label = "Base"; - bindings = < -#if defined MIRYOKU_ALPHAS_COLEMAK - MIRYOKU_MAPPING( -&kp Q, &kp W, &kp F, &kp P, &kp G, &kp J, &kp L, &kp U, &kp Y, &kp SQT, -&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp D, &kp H, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, -< MBO Z, &hm RALT X, &kp C, &kp V, &kp B, &kp K, &kp M, &kp COMMA, &hm RALT DOT, < MBO SLASH, -U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_COLEMAKDH - MIRYOKU_MAPPING( -&kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, -&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp K, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, -< MBO Z, &hm RALT X, &kp C, &kp D, &kp V, &kp M, &kp H, &kp COMMA, &hm RALT DOT, < MBO SLASH, -U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_DVORAK - MIRYOKU_MAPPING( -&kp SQT, &kp COMMA, &kp DOT, &kp P, &kp Y, &kp F, &kp G, &kp C, &kp R, &kp L, -&hm LGUI A, &hm LALT O, &hm LCTRL E, &hm LSHFT U, &kp I, &kp D, &hm LSHFT H, &hm LCTRL T, &hm LALT N, &hm LGUI S, -< MBO SLASH, &hm RALT Q, &kp J, &kp K, &kp X, &kp B, &kp M, &kp W, &hm RALT V, < MBO Z, -U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_HALMAK - MIRYOKU_MAPPING( -&kp W, &kp L, &kp R, &kp B, &kp Z, &kp SQT, &kp Q, &kp U, &kp D, &kp J, -&hm LGUI S, &hm LALT H, &hm LCTRL N, &hm LSHFT T, &kp COMMA, &kp DOT, &hm LSHFT A, &hm LCTRL E, &hm LALT O, &hm LGUI I, -< MBO F, &hm RALT M, &kp V, &kp C, &kp SLASH, &kp G, &kp P, &kp X, &hm RALT K, < MBO Y, -U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_WORKMAN - MIRYOKU_MAPPING( -&kp Q, &kp D, &kp R, &kp W, &kp B, &kp J, &kp F, &kp U, &kp P, &kp SQT, -&hm LGUI A, &hm LALT S, &hm LCTRL H, &hm LSHFT T, &kp G, &kp Y, &hm LSHFT N, &hm LCTRL E, &hm LALT O, &hm LGUI I, -< MBO Z, &hm RALT X, &kp M, &kp C, &kp V, &kp K, &kp L, &kp COMMA, &hm RALT DOT, < MBO SLASH, -U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_QWERTY - MIRYOKU_MAPPING( -&kp Q, &kp W, &kp E, &kp R, &kp T, &kp Y, &kp U, &kp I, &kp O, &kp P, -&hm LGUI A, &hm LALT S, &hm LCTRL D, &hm LSHFT F, &kp G, &kp H, &hm LSHFT J, &hm LCTRL K, &hm LALT L, &hm LGUI SQT, -< MBO Z, &hm RALT X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &hm RALT DOT, < MBO SLASH, -U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP - ) -#else - MIRYOKU_MAPPING( -&kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, -&hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp M, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, -< MBO Z, &hm RALT X, &kp C, &kp D, &kp V, &kp K, &kp H, &kp COMMA, &hm RALT DOT, < MBO SLASH, -U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP - ) -#endif - >; - }; - TAP_layer { - label = "Tap"; - bindings = < -#if defined MIRYOKU_ALPHAS_COLEMAK - MIRYOKU_MAPPING_TAP( - &kp Q, &kp W, &kp F, &kp P, &kp G, &kp J, &kp L, &kp U, &kp Y, &kp SQT, - &kp A, &kp R, &kp S, &kp T, &kp D, &kp H, &kp N, &kp E, &kp I, &kp O, - &kp Z, &kp X, &kp C, &kp V, &kp B, &kp K, &kp M, &kp COMMA, &kp DOT, &kp SLASH, - U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_COLEMAKDH - MIRYOKU_MAPPING_TAP( - &kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, - &kp A, &kp R, &kp S, &kp T, &kp G, &kp K, &kp N, &kp E, &kp I, &kp O, - &kp Z, &kp X, &kp C, &kp D, &kp V, &kp M, &kp H, &kp COMMA, &kp DOT, &kp SLASH, - U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_DVORAK - MIRYOKU_MAPPING_TAP( - &kp SQT, &kp COMMA, &kp DOT, &kp P, &kp Y, &kp F, &kp G, &kp C, &kp R, &kp L, - &kp A, &kp O, &kp E, &kp U, &kp I, &kp D, &kp H, &kp T, &kp N, &kp S, - &kp SLASH, &kp Q, &kp J, &kp K, &kp X, &kp B, &kp M, &kp W, &kp V, &kp Z, - U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_HALMAK - MIRYOKU_MAPPING_TAP( - &kp W, &kp L, &kp R, &kp B, &kp Z, &kp SQT, &kp Q, &kp U, &kp D, &kp J, - &kp S, &kp H, &kp N, &kp T, &kp COMMA, &kp DOT, &kp A, &kp E, &kp O, &kp I, - &kp F, &kp M, &kp V, &kp C, &kp SLASH, &kp G, &kp P, &kp X, &kp K, &kp Y, - U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_WORKMAN - MIRYOKU_MAPPING_TAP( - &kp Q, &kp D, &kp R, &kp W, &kp B, &kp J, &kp F, &kp U, &kp P, &kp SQT, - &kp A, &kp S, &kp H, &kp T, &kp G, &kp Y, &kp N, &kp E, &kp O, &kp I, - &kp Z, &kp X, &kp M, &kp C, &kp V, &kp K, &kp L, &kp COMMA, &kp DOT, &kp SLASH, - U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#elif defined MIRYOKU_ALPHAS_QWERTY - MIRYOKU_MAPPING_TAP( - &kp Q, &kp W, &kp E, &kp R, &kp T, &kp Y, &kp U, &kp I, &kp O, &kp P, - &kp A, &kp S, &kp D, &kp F, &kp G, &kp H, &kp J, &kp K, &kp L, &kp SQT, - &kp Z, &kp X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &kp DOT, &kp SLASH, - U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#else - MIRYOKU_MAPPING_TAP( - &kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, - &kp A, &kp R, &kp S, &kp T, &kp G, &kp M, &kp N, &kp E, &kp I, &kp O, - &kp Z, &kp X, &kp C, &kp D, &kp V, &kp K, &kp H, &kp COMMA, &kp DOT, &kp SLASH, - U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#endif - >; - }; - MBO_layer { - label = "Buttons"; - bindings = < - MIRYOKU_MAPPING( -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, &trans, &trans, &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 - ) - >; - }; - NAVR_layer { - label = "Nav"; - bindings = < -#if defined MIRYOKU_NAV_VI - MIRYOKU_MAPPING( -&bootloader, &tog TAP, 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 LEFT, &kp DOWN, &kp UP, &kp RIGHT, &kp CAPS, -U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp HOME, &kp PG_DN, &kp PG_UP, &kp END, &kp INS, -U_NP, U_NP, U_NA, U_NA, U_NA, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#else - MIRYOKU_MAPPING( -&bootloader, &tog TAP, 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 CAPS, &kp LEFT, &kp DOWN, &kp UP, &kp RIGHT, -U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp INS, &kp HOME, &kp PG_DN, &kp PG_UP, &kp END, -U_NP, U_NP, U_NA, U_NA, U_NA, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - ) -#endif - >; - }; - MOUR_layer { - label = "Mouse"; - bindings = < -#if defined MIRYOKU_NAV_VI - MIRYOKU_MAPPING( -&bootloader, &tog TAP, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, -&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 - ) -#else - MIRYOKU_MAPPING( -&bootloader, &tog TAP, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, -&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, &kp LS(LNLCK), 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 - ) -#endif - >; - }; - MEDR_layer { - label = "Media"; - bindings = < -#if defined MIRYOKU_NAV_VI - MIRYOKU_MAPPING( -&bootloader, &tog TAP, U_NA, U_NA, U_NA, &rgb_ug RGB_EFF, &rgb_ug RGB_HUI, &rgb_ug RGB_SAI, &rgb_ug RGB_BRI, &rgb_ug RGB_TOG, -&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp C_PREV, &kp C_VOL_DN, &kp C_VOL_UP, &kp C_NEXT, &out OUT_TOG, -U_NA, &kp RALT, U_NA, U_NA, U_NA, &bt BT_SEL 0, &bt BT_SEL 1, &bt BT_SEL 2, &bt BT_SEL 3, &bt BT_CLR, -U_NP, U_NP, U_NA, U_NA, U_NA, &kp C_STOP, &kp C_PP, &kp C_MUTE, U_NP, U_NP - ) -#else - MIRYOKU_MAPPING( -&bootloader, &tog TAP, U_NA, U_NA, U_NA, &rgb_ug RGB_TOG, &rgb_ug RGB_EFF, &rgb_ug RGB_HUI, &rgb_ug RGB_SAI, &rgb_ug RGB_BRI, -&kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &out OUT_TOG, &kp C_PREV, &kp C_VOL_DN, &kp C_VOL_UP, &kp C_NEXT, -U_NA, &kp RALT, U_NA, U_NA, U_NA, &bt BT_CLR, &bt BT_SEL 0, &bt BT_SEL 1, &bt BT_SEL 2, &bt BT_SEL 3, -U_NP, U_NP, U_NA, U_NA, U_NA, &kp C_STOP, &kp C_PP, &kp C_MUTE, U_NP, U_NP - ) -#endif - >; - }; - NSL_layer { - label = "Num"; - bindings = < - MIRYOKU_MAPPING( -&kp LBKT, &kp NUM_7, &kp NUM_8, &kp NUM_9, &kp RBKT, U_NA, U_NA, U_NA, &tog TAP, &bootloader, -&kp SEMI, &kp NUM_4, &kp NUM_5, &kp NUM_6, &kp EQL, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, -&kp GRAVE, &kp NUM_1, &kp NUM_2, &kp NUM_3, &kp BSLH, U_NA, U_NA, U_NA, &kp RALT, U_NA, -U_NP, U_NP, &kp DOT, &kp NUM_0, &kp MINUS, U_NA, U_NA, U_NA, U_NP, U_NP - ) - >; - }; - NSSL_layer { - label = "Sym"; - bindings = < - MIRYOKU_MAPPING( -&kp LBRC, &kp AMPS, &kp ASTRK, &kp LPAR, &kp RBRC, U_NA, U_NA, U_NA, &tog TAP, &bootloader, -&kp COLON, &kp DLLR, &kp PRCT, &kp CRRT, &kp PLUS, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, -&kp TILDE, &kp EXCL, &kp AT, &kp HASH, &kp PIPE, U_NA, U_NA, U_NA, &kp RALT, U_NA, -U_NP, U_NP, &kp LPAR, &kp RPAR, &kp UNDER, U_NA, U_NA, U_NA, U_NP, U_NP - ) - >; - }; - FUNL_layer { - label = "Fun"; - bindings = < - MIRYOKU_MAPPING( -&kp F12, &kp F7, &kp F8, &kp F9, &kp PSCRN, U_NA, U_NA, U_NA, &tog TAP, &bootloader, -&kp F11, &kp F4, &kp F5, &kp F6, &kp SLCK, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, -&kp F10, &kp F1, &kp F2, &kp F3, &kp PAUSE_BREAK, U_NA, U_NA, U_NA, &kp RALT, U_NA, -U_NP, U_NP, &kp K_APP, &kp SPC, &kp TAB, U_NA, U_NA, U_NA, U_NP, U_NP - ) - >; - }; - }; -}; - -#if defined (MIRYOKU_COMBO_TPS_ENABLE) && defined (MIRYOKU_COMBO_TPSL) && defined (MIRYOKU_COMBO_TPSR) -/ { - combos { - compatible = "zmk,combos"; - combo_tpsl_BASE { - timeout-ms = <200>; - key-positions = ; - bindings = << MEDR ESC>; - layers = ; - }; - combo_tpsr_BASE { - timeout-ms = <200>; - key-positions = ; - bindings = << FUNL DEL>; - layers = ; - }; - combo_tpsr_MBO { - timeout-ms = <200>; - key-positions = ; - bindings = ; - layers = ; - }; - combo_tpsr_NAVR { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp DEL>; - layers = ; - }; - combo_tpsr_MOUR { - timeout-ms = <200>; - key-positions = ; - bindings = ; - layers = ; - }; - combo_tpsr_MEDR { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp K_MUTE>; - layers = ; - }; - combo_tpsl_NSL { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp DOT>; - layers = ; - }; - combo_tpsl_NSSL { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp LPAR>; - layers = ; - }; - combo_tpsl_FUNL { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp K_APP>; - layers = ; - }; - }; -}; -#endif diff --git a/miryoku/babel/layer_names.h b/miryoku/babel/layer_names.h new file mode 100644 index 0000000..96c50a8 --- /dev/null +++ b/miryoku/babel/layer_names.h @@ -0,0 +1,13 @@ +// Copyright 2021 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated -*- buffer-read-only: t -*- + +#define BASE 0 +#define TAP 1 +#define BUTTON 2 +#define NAV 3 +#define MOUSE 4 +#define MEDIA 5 +#define NUM 6 +#define SYM 7 +#define FUN 8 diff --git a/miryoku/babel/layers.h b/miryoku/babel/layers.h deleted file mode 100644 index 400f61a..0000000 --- a/miryoku/babel/layers.h +++ /dev/null @@ -1,9 +0,0 @@ -#define BASE 0 -#define TAP 1 -#define MBO 2 -#define NAVR 3 -#define MOUR 4 -#define MEDR 5 -#define NSL 6 -#define NSSL 7 -#define FUNL 8 diff --git a/miryoku/layer.h b/miryoku/layer.h new file mode 100644 index 0000000..1f56fbb --- /dev/null +++ b/miryoku/layer.h @@ -0,0 +1,126 @@ +// Copyright 2021 Manna Harbour +// https://github.com/manna-harbour/miryoku + +#pragma once + +#include "babel/alternatives.h" + +#if !defined(MIRYOKU_LAYER_BASE) + #if defined (MIRYOKU_LAYERS_FLIP) + #if defined (MIRYOKU_ALPHAS_AZERTY) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP + #elif defined (MIRYOKU_ALPHAS_COLEMAK) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP + #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP + #elif defined (MIRYOKU_ALPHAS_DVORAK) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP + #elif defined (MIRYOKU_ALPHAS_HALMAK) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP + #elif defined (MIRYOKU_ALPHAS_WORKMAN) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP + #elif defined (MIRYOKU_ALPHAS_QWERTY) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP + #elif defined (MIRYOKU_ALPHAS_QWERTZ) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP + #else + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP + #endif + #else + #if defined (MIRYOKU_ALPHAS_AZERTY) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY + #elif defined (MIRYOKU_ALPHAS_COLEMAK) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK + #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK + #elif defined (MIRYOKU_ALPHAS_DVORAK) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK + #elif defined (MIRYOKU_ALPHAS_HALMAK) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK + #elif defined (MIRYOKU_ALPHAS_WORKMAN) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN + #elif defined (MIRYOKU_ALPHAS_QWERTY) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY + #elif defined (MIRYOKU_ALPHAS_QWERTZ) + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ + #else + #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH + #endif + #endif +#endif + +#if !defined(MIRYOKU_LAYER_NAV) + #if defined (MIRYOKU_LAYERS_FLIP) + #if defined (MIRYOKU_NAV_INVERTEDT) + #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP + #else + #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_FLIP + #endif + #else + #if defined (MIRYOKU_NAV_VI) + #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_VI + #else + #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV + #endif + #endif +#endif + +#if !defined(MIRYOKU_LAYER_MOUSE) + #if defined (MIRYOKU_LAYERS_FLIP) + #if defined (MIRYOKU_NAV_INVERTEDT) + #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP + #else + #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_FLIP + #endif + #else + #if defined (MIRYOKU_NAV_VI) + #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_VI + #else + #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE + #endif + #endif +#endif + +#if !defined(MIRYOKU_LAYER_MEDIA) + #if defined (MIRYOKU_LAYERS_FLIP) + #if defined (MIRYOKU_NAV_INVERTEDT) + #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP + #else + #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_FLIP + #endif + #else + #if defined (MIRYOKU_NAV_VI) + #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_VI + #else + #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA + #endif + #endif +#endif + +#if !defined(MIRYOKU_LAYER_NUM) + #if defined (MIRYOKU_LAYERS_FLIP) + #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM_FLIP + #else + #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM + #endif +#endif + +#if !defined(MIRYOKU_LAYER_SYM) + #if defined (MIRYOKU_LAYERS_FLIP) + #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM_FLIP + #else + #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM + #endif +#endif + +#if !defined(MIRYOKU_LAYER_FUN) + #if defined (MIRYOKU_LAYERS_FLIP) + #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN_FLIP + #else + #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN + #endif +#endif + +#if !defined(MIRYOKU_LAYER_BUTTON) + #define MIRYOKU_LAYER_BUTTON MIRYOKU_ALTERNATIVES_BUTTON +#endif diff --git a/miryoku/miryoku-zmk-babel.org b/miryoku/miryoku-zmk-babel.org deleted file mode 100644 index 331a7ff..0000000 --- a/miryoku/miryoku-zmk-babel.org +++ /dev/null @@ -1,941 +0,0 @@ - -# After making changes to code or tables call org-babel-tangle (C-c C-v t). - -#+Title: Miryoku ZMK Babel [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]] - -* Layers - -** Base (~BASE~) - -*** Tap - -#+NAME: colemakdhm -| Q | W | F | P | B | J | L | U | Y | ' | -| A | R | S | T | G | M | N | E | I | O | -| Z | X | C | D | V | K | H | , | DOT | / | -| U_NP | U_NP | ESC | SPC | TAB | ENT | BSPC | DEL | U_NP | U_NP | - - -*** Hold - -#+NAME: hold -| RESET | DF(TAP) | | | | | | | DF(TAP) | RESET | -| LGUI | LALT | LCTL | LSFT | | | LSFT | LCTL | LALT | LGUI | -| MBO | ALGR | | | | | | | ALGR | MBO | -| U_NP | U_NP | MEDR | NAVR | MOUR | NSSL | NSL | FUNL | U_NP | U_NP | - - -** Navigation (~NAVR~) - -#+NAME: navr -| U_RDO | U_PST | U_CPY | U_CUT | U_UND | -| CAPS | LEFT | DOWN | UP | RGHT | -| INS | HOME | PGDN | PGUP | END | -| ENT | BSPC | DEL | U_NP | U_NP | - - -** Mouse (~MOUR~) - -#+NAME: mour -| | | | | | -| | MS_L | MS_D | MS_U | MS_R | -| U_MT | WH_L | WH_D | WH_U | WH_R | -| BTN1 | BTN3 | BTN2 | U_NP | U_NP | - - -*** Mouse Buttons Overlay (~MBO~) - -#+NAME: mbo -| U_UND | U_CUT | U_CPY | U_PST | U_RDO | U_RDO | U_PST | U_CPY | U_CUT | U_UND | -| LGUI | LALT | LCTL | LSFT | | | LSFT | LCTL | LALT | 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 | BTN2 | BTN3 | BTN1 | BTN1 | BTN3 | BTN2 | U_NP | U_NP | - - -** Media (~MEDR~) - -BT control is on the bottom row, and USB / BT output toggle on the home row -inner index. - -#+NAME: medr -| RGB_TOG | RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI | -| &out OUT_TOG | MPRV | VOLD | VOLU | MNXT | -| &bt BT_CLR | &bt BT_SEL 0 | &bt BT_SEL 1 | &bt BT_SEL 2 | &bt BT_SEL 3 | -| MSTP | MPLY | MUTE | U_NP | U_NP | - - -** Numerals and Symbols (~NSL~) - -#+NAME: nsl -| [ | 7 | 8 | 9 | ] | -| ; | 4 | 5 | 6 | = | -| ` | 1 | 2 | 3 | \ | -| U_NP | U_NP | DOT | 0 | MINS | - - -** Shifted Numerals and Symbols (~NSSL~) - -#+NAME: nssl -| { | & | * | ( | } | -| : | $ | % | ^ | + | -| ~ | ! | @ | # | PIPE | -| U_NP | U_NP | ( | ) | _ | - - -** Function and System (~FUNL~) - -#+NAME: funl -| F12 | F7 | F8 | F9 | PSCR | -| F11 | F4 | F5 | F6 | SLCK | -| F10 | F1 | F2 | F3 | PAUS | -| U_NP | U_NP | APP | SPC | TAB | - - -** Alternative Layouts - - -*** Base Layer Alphas - -**** Colemak - -~MIRYOKU_ALPHAS=COLEMAK~ - -#+NAME: colemak -| Q | W | F | P | G | J | L | U | Y | ' | -| A | R | S | T | D | H | N | E | I | O | -| Z | X | C | V | B | K | M | , | DOT | / | -| U_NP | U_NP | ESC | SPC | TAB | ENT | BSPC | DEL | U_NP | U_NP | - - -**** Colemak Mod-DH - -~MIRYOKU_ALPHAS=COLEMAKDH~ - -#+NAME: colemakdh -| Q | W | F | P | B | J | L | U | Y | ' | -| A | R | S | T | G | K | N | E | I | O | -| Z | X | C | D | V | M | H | , | DOT | / | -| U_NP | U_NP | ESC | SPC | TAB | ENT | BSPC | DEL | U_NP | U_NP | - - -**** Dvorak - -~MIRYOKU_ALPHAS=DVORAK~ - -#+NAME: dvorak -| ' | , | DOT | P | Y | F | G | C | R | L | -| A | O | E | U | I | D | H | T | N | S | -| / | Q | J | K | X | B | M | W | V | Z | -| U_NP | U_NP | ESC | SPC | TAB | ENT | BSPC | DEL | U_NP | U_NP | - - -**** Halmak - -~MIRYOKU_ALPHAS=HALMAK~ - -#+NAME: halmak -| W | L | R | B | Z | ' | Q | U | D | J | -| S | H | N | T | , | DOT | A | E | O | I | -| F | M | V | C | / | G | P | X | K | Y | -| U_NP | U_NP | ESC | SPC | TAB | ENT | BSPC | DEL | U_NP | U_NP | - - -**** Workman - -~MIRYOKU_ALPHAS=WORKMAN~ - -#+NAME: workman -| Q | D | R | W | B | J | F | U | P | ' | -| A | S | H | T | G | Y | N | E | O | I | -| Z | X | M | C | V | K | L | , | DOT | / | -| U_NP | U_NP | ESC | SPC | TAB | ENT | BSPC | DEL | U_NP | U_NP | - - -**** QWERTY - -~MIRYOKU_ALPHAS=QWERTY~ - -#+NAME: qwerty -| Q | W | E | R | T | Y | U | I | O | P | -| A | S | D | F | G | H | J | K | L | ' | -| Z | X | C | V | B | N | M | , | DOT | / | -| U_NP | U_NP | ESC | SPC | TAB | ENT | BSPC | DEL | U_NP | U_NP | - - -*** vi-Style Navigation - -~MIRYOKU_NAV=VI~ - - -**** Navigation (NAVR) - -#+NAME: navr-vi -| U_RDO | U_PST | U_CPY | U_CUT | U_UND | -| LEFT | DOWN | UP | RGHT | CAPS | -| HOME | PGDN | PGUP | END | INS | -| ENT | BSPC | DEL | U_NP | U_NP | - - -**** Mouse (MOUR) - -#+NAME: mour-vi -| | | | | | -| MS_L | MS_D | MS_U | MS_R | | -| WH_L | WH_D | WH_U | WH_R | | -| BTN1 | BTN3 | BTN2 | U_NP | U_NP | - - -**** Media (MEDR) - -#+NAME: medr-vi -| RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI | RGB_TOG | -| MPRV | VOLD | VOLU | MNXT | &out OUT_TOG | -| &bt BT_SEL 0 | &bt BT_SEL 1 | &bt BT_SEL 2 | &bt BT_SEL 3 | &bt BT_CLR | -| MSTP | MPLY | MUTE | U_NP | U_NP | - - - -*** Navigation Layer Clipboard Keys - -**** Default - -#+NAME: clipboard -| U_RDO | AGIN | -| U_PST | S(KC_INS) | -| U_CPY | C(KC_INS) | -| U_CUT | S(KC_DEL) | -| U_UND | UNDO | - - -**** Fun Cluster - -~MIRYOKU_CLIPBOARD=FUN~ - -#+NAME: clipboard-fun -| U_RDO | AGIN | -| U_PST | PSTE | -| U_CPY | COPY | -| U_CUT | CUT | -| U_UND | UNDO | - - -**** Mac - -~MIRYOKU_CLIPBOARD=MAC~ - -#+NAME: clipboard-mac -| U_RDO | SCMD(KC_Z) | -| U_PST | LCMD(KC_V) | -| U_CPY | LCMD(KC_C) | -| U_CUT | LCMD(KC_X) | -| U_UND | LCMD(KC_Z) | - - -**** Windows - -~MIRYOKU_CLIPBOARD=WIN~ - -#+NAME: clipboard-win -| U_RDO | C(KC_Y) | -| U_PST | C(KC_V) | -| U_CPY | C(KC_C) | -| U_CUT | C(KC_X) | -| U_UND | C(KC_Z) | - - - -** COMMENT Templates - -#+NAME: tem -| | | | | | | | | | | -|------+------+------+------+------+------+------+------+------+------| -| | | | | | | | | | | -| | | | | | | | | | | -| | | | | | | | | | | -| U_NP | U_NP | | | | | | | U_NP | U_NP | - -#+NAME: temr -| | | | | | -|------+------+------+------+------| -| | | | | | -| | | | | | -| | | | | | -| ENT | BSPC | DEL | U_NP | U_NP | - -#+NAME: teml -| | | | | | -|------+------+------+------+------| -| | | | | | -| | | | | | -| | | | | | -| U_NP | U_NP | ESC | SPC | TAB | - - - -* Code Generation - -** Table Conversion Scripts - - -*** table-map-taphold - -#+NAME: table-map-taphold -#+BEGIN_SRC python :var tap_table=colemakdhm :var hold_table=hold :var symbol_names_table=symbol-names :var mods_table=mods :var nonkp_table=nonkp :var layers_table=layers :var keycode_translation_table=keycode-translation :tangle no :results verbatim -width = 14 -mods_dict = dict.fromkeys(mods_table[0]) -nonkp_tuple = tuple(nonkp_table[0]) -layers_dict = dict.fromkeys(layers_table[0]) -symbol_names_dict = {} -for symbol, name, shifted_symbol, shifted_name in symbol_names_table: - symbol_names_dict[symbol] = name - symbol_names_dict[shifted_symbol] = shifted_name -keycode_translation_dict = {} -for standard, local in keycode_translation_table: - if local != '': - keycode_translation_dict[standard] = local -results = '' -for tap_row, hold_row in zip(tap_table, hold_table): - for tap, hold in zip(tap_row, hold_row): - if tap == '': - code = 'U_NU' - elif tap in symbol_names_dict: - code = symbol_names_dict[tap] - else: - code = tap - if code in keycode_translation_dict: - code = keycode_translation_dict[code] - if hold in mods_dict: - if hold in keycode_translation_dict: - hold = keycode_translation_dict[hold] - code = '&hm ' + str(hold) + ' ' + code - elif hold in layers_dict: - code = '< ' + str(hold) + ' ' + code - elif not str(code).startswith(nonkp_tuple): - code = '&kp ' + str(code) - results += (code + ', ').ljust(width) - results = results.rstrip(' ') + '\n' -results = results.rstrip('\n, ') -return results -#+END_SRC - -#+RESULTS: table-map-taphold -: &kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, -: &hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp M, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, -: &kp Z, &hm RALT X, &kp C, &kp D, &kp V, &kp K, &kp H, &kp COMMA, &hm RALT DOT, &kp SLASH, -: U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP - - -*** table-map-half - -#+NAME: table-map-half -#+BEGIN_SRC python :var hold_table=hold :var mode="r" :var half_table=navr :var symbol_names_table=symbol-names :var mods_table=mods :var nonkp_table=nonkp :var shift="false" :var layers_table=layers :var keycode_translation_table=keycode-translation :tangle no :results verbatim -width = 13 -mods_dict = dict.fromkeys(mods_table[0]) -layers_dict = dict.fromkeys(layers_table[0]) -nonkp_tuple = tuple(nonkp_table[0]) -symbol_names_dict = {} -shifted_symbol_names_dict = {} -for symbol, name, shifted_symbol, shifted_name in symbol_names_table: - symbol_names_dict[symbol] = name - symbol_names_dict[shifted_symbol] = shifted_name - shifted_symbol_names_dict[symbol] = shifted_name -keycode_translation_dict = {} -for standard, local in keycode_translation_table: - if local != '': - keycode_translation_dict[standard] = local -length = len(half_table[0]) -results = '' -for half_row, hold_row in zip(half_table, hold_table): - hold_row_l, hold_row_r = hold_row[:length], hold_row[length:] - for lr, hold_row_lr in ('l', hold_row_l), ('r', hold_row_r): - if lr == mode: - for half in half_row: - if half == '': - code = 'U_NU' - elif shift == "true" and half in shifted_symbol_names_dict: - code = shifted_symbol_names_dict[half] - elif half in symbol_names_dict: - code = symbol_names_dict[half] - else: - code = half - if code in keycode_translation_dict: - code = keycode_translation_dict[code] - if not str(code).startswith(nonkp_tuple): - code = '&kp ' + str(code) - results += (str(code) + ', ').ljust(width) - else: - for hold in hold_row_lr: - if hold in mods_dict: - if hold in keycode_translation_dict: - hold = keycode_translation_dict[hold] - code = '&kp ' + str(hold) - else: - if hold in keycode_translation_dict: - hold = keycode_translation_dict[hold] - if hold == '' or hold in layers_dict: - code = 'U_NA' - elif str(hold).startswith(nonkp_tuple): - code = hold - else: - code = '&kp ' + str(hold) - results += (str(code) + ', ').ljust(width) - results = results.rstrip(' ') + '\n' -results = results.rstrip('\n, ') -return results -#+END_SRC - -#+RESULTS: table-map-half -: &bootloader, U_NA, U_NA, U_NA, U_NA, &kp K_AGAIN, &kp K_UNDO, &kp K_CUT, &kp K_COPY, &kp K_PASTE, -: &kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp CAPS, &kp LEFT, &kp DOWN, &kp UP, &kp RIGHT, -: U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp INS, &kp HOME, &kp PG_DN, &kp PG_UP, &kp END, -: U_NP, U_NP, U_NA, U_NA, U_NA, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP - - -*** table-map-full - -#+NAME: table-map-full -#+BEGIN_SRC python :var table=mbo :var fill="&trans" :var symbol_names_table=symbol-names :var nonkp_table=nonkp :var keycode_translation_table=keycode-translation :tangle no :results verbatim -width = 10 -symbol_names_dict = {} -nonkp_tuple = tuple(nonkp_table[0]) -for symbol, name, shifted_symbol, shifted_name in symbol_names_table: - symbol_names_dict[symbol] = name - symbol_names_dict[shifted_symbol] = shifted_name -keycode_translation_dict = {} -for standard, local in keycode_translation_table: - if local != '': - keycode_translation_dict[standard] = local -results = '' -for row in table: - for key in row: - if key == '': - code = fill - elif key in symbol_names_dict: - code = symbol_names_dict[key] - else: - code = key - if code in keycode_translation_dict: - code = keycode_translation_dict[code] - if not str(code).startswith(nonkp_tuple): - code = '&kp ' + str(code) - results += (code + ', ').ljust(width) - results = results.rstrip(' ') + '\n' -results = results.rstrip('\n, ') -return results -#+END_SRC - -#+RESULTS: table-map-full -: &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, &trans, &trans, &trans, &trans, -: U_NP, U_NP, &trans, &trans, &trans, U_NU, U_NU, U_NU, U_NP, U_NP - - -*** table-layer-defines - -#+NAME: table-layer-defines -#+BEGIN_SRC python :var layers_table=layers :tangle no -width = 5 -layers_list = layers_table[0] -results = '' -i = 0 -for layer in layers_list: - results += '#define ' + ( layer + ' ').ljust(width) + str(i) + '\n' - i += 1 -return results -#+END_SRC - -#+RESULTS: table-layer-defines -: #define BASE 0 -: #define MBO 1 -: #define NAVR 2 -: #define MOUR 3 -: #define MEDR 4 -: #define NSL 5 -: #define NSSL 6 -: #define FUNL 7 - - -*** table-keycode-mappings - -#+NAME: table-keycode-mappings -#+BEGIN_SRC python :var table=clipboard :var symbol_names_table=symbol-names :var nonkp_table=nonkp :var keycode_translation_table=keycode-translation :tangle no -nonkp_tuple = tuple(nonkp_table[0]) -symbol_names_dict = {} -for symbol, name, shifted_symbol, shifted_name in symbol_names_table: - symbol_names_dict[symbol] = name - symbol_names_dict[shifted_symbol] = shifted_name -results = '' -keycode_translation_dict = {} -for standard, local in keycode_translation_table: - if local != '': - keycode_translation_dict[standard] = local -for f,t in table: - if t == '': - code = 'U_NU' - elif t in symbol_names_dict: - code = symbol_names_dict[t] - else: - code = t - if code in keycode_translation_dict: - code = keycode_translation_dict[code] - if not str(code).startswith(nonkp_tuple): - code = '&kp ' + str(code) - results += '#define ' + f + ' ' + code + '\n' -return results -#+END_SRC - -#+RESULTS: table-keycode-mappings -: #define U_RDO &kp K_AGAIN -: #define U_PST &kp LS(INS) -: #define U_CPY &kp LC(INS) -: #define U_CUT &kp S(DEL) -: #define U_UND &kp K_UNDO - - -** Data - -*** layers - -#+NAME: layers -| BASE | TAP | MBO | NAVR | MOUR | MEDR | NSL | NSSL | FUNL | - - -*** symbol-names - -Symbol, name, and shifted symbol mappings for use in tables. - -#+NAME: symbol-names -| ` | GRV | ~ | TILD | -| "-" | MINS | _ | UNDS | -| = | EQL | + | PLUS | -| [ | LBRC | { | LCBR | -| ] | RBRC | } | RCBR | -| \ | BSLS | PIPE | PIPE | -| ; | SCLN | : | COLN | -| ' | QUOT | DQUO | DQUO | -| , | COMM | < | LT | -| "." | DOT | > | GT | -| / | SLSH | ? | QUES | -| 1 | 1 | ! | EXLM | -| 2 | 2 | @ | AT | -| 3 | 3 | # | HASH | -| 4 | 4 | $ | DLR | -| 5 | 5 | % | PERC | -| 6 | 6 | ^ | CIRC | -| 7 | 7 | & | AMPR | -| 8 | 8 | * | ASTR | -| 9 | 9 | ( | LPRN | -| 0 | 0 | ) | RPRN | - - -*** mods - -Modifiers usable in hold table. Need to have the same name for ~KC_~ and ~_T~ -versions. - -#+NAME: mods -| LSFT | LCTL | LALT | LGUI | ALGR | - - -*** nonkp - -Keycodes that match any of these prefixes will not have ~KC_~ automatically -prepended. - -#+NAME: nonkp -| U_ | & | - - -*** keycode-translation - -standard keycode to implementation equivalent - -#+NAME: keycode-translation -| 0 | NUM_0 | -| 1 | NUM_1 | -| 2 | NUM_2 | -| 3 | NUM_3 | -| 4 | NUM_4 | -| 5 | NUM_5 | -| 6 | NUM_6 | -| 7 | NUM_7 | -| 8 | NUM_8 | -| 9 | NUM_9 | -| AGIN | K_AGAIN | -| ALGR | RALT | -| AMPR | AMPS | -| APP | K_APP | -| ASTR | ASTRK | -| AT | AT | -| BSLS | BSLH | -| BSPC | BSPC | -| BTN1 | KP_N5 | -| BTN2 | U_NU | -| BTN3 | U_NU | -| CAPS | | -| CIRC | CRRT | -| COLN | COLON | -| COMM | COMMA | -| COPY | K_COPY | -| CUT | K_CUT | -| DEL | | -| DLR | DLLR | -| DOT | | -| DOWN | | -| DQUO | DQT | -| END | | -| ENT | RET | -| EQL | | -| ESC | | -| EXLM | EXCL | -| F1 | | -| F10 | | -| F11 | | -| F12 | | -| F2 | | -| F3 | | -| F4 | | -| F5 | | -| F6 | | -| F7 | | -| F8 | | -| F9 | | -| GRV | GRAVE | -| GT | | -| HASH | | -| HOME | | -| INS | | -| LALT | | -| LBRC | LBKT | -| LCBR | LBRC | -| LCTL | LCTRL | -| LEFT | | -| LGUI | | -| LPRN | LPAR | -| LSFT | LSHFT | -| LT | | -| MINS | MINUS | -| MNXT | C_NEXT | -| MPLY | C_PP | -| MPRV | C_PREV | -| MS_D | KP_N2 | -| MS_L | KP_N4 | -| MS_R | KP_N6 | -| MSTP | C_STOP | -| MS_U | KP_N8 | -| MUTE | C_MUTE | -| PAUS | PAUSE_BREAK | -| PERC | PRCT | -| PGDN | PG_DN | -| PGUP | PG_UP | -| PIPE | | -| PLUS | | -| PSCR | PSCRN | -| PSTE | K_PASTE | -| QUES | QMARK | -| QUOT | SQT | -| RBRC | RBKT | -| RCBR | RBRC | -| RESET | &bootloader | -| RGB_HUI | &rgb_ug RGB_HUI | -| RGB_MOD | &rgb_ug RGB_EFF | -| RGB_SAI | &rgb_ug RGB_SAI | -| RGB_TOG | &rgb_ug RGB_TOG | -| RGB_VAI | &rgb_ug RGB_BRI | -| RGHT | RIGHT | -| RPRN | RPAR | -| SCLN | SEMI | -| SLCK | | -| SLSH | SLASH | -| SPC | | -| TAB | | -| TILD | TILDE | -| UNDO | K_UNDO | -| UNDS | UNDER | -| UP | | -| VOLD | C_VOL_DN | -| VOLU | C_VOL_UP | -| WH_D | U_NU | -| WH_L | U_NU | -| WH_R | U_NU | -| WH_U | U_NU | -| S(KC_INS) | LS(INS) | -| C(KC_INS) | LC(INS) | -| S(KC_DEL) | LS(DEL) | -| SCMD(KC_Z) | LS(LG(Z)) | -| LCMD(KC_V) | LG(V) | -| LCMD(KC_C) | LG(C) | -| LCMD(KC_X) | LG(X) | -| LCMD(KC_Z) | LG(Z) | -| C(KC_Y) | LC(Y) | -| C(KC_V) | LC(V) | -| C(KC_C) | LC(C) | -| C(KC_X) | LC(X) | -| C(KC_Z) | LC(Z) | -| DF(TAP) | &tog TAP | -| U_MT | LS(LNLCK) | - - - - - - -** [[miryoku.dtsi]] - -#+BEGIN_SRC C :main no :noweb yes :padline no :tangle miryoku.dtsi -// Copyright 2021 Manna Harbour -// https://github.com/manna-harbour/miryoku -// generated -*- buffer-read-only: t -*- - -#include -#include -#include -#include -#include - -<> - -#define U_NP &none // key is not present -#define U_NA &none // present but not available for use -#define U_NU &none // available but not used - -#if defined MIRYOKU_CLIPBOARD_FUN -<> -#elif defined MIRYOKU_CLIPBOARD_MAC -<> -#elif defined MIRYOKU_CLIPBOARD_WIN -<> -#else -<> -#endif - -#ifndef MIRYOKU_MAPPING_TAP - #define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING -#endif - -/ { - 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"; - BASE_layer { - label = "Base"; - bindings = < -#if defined MIRYOKU_ALPHAS_COLEMAK - MIRYOKU_MAPPING( -<> - ) -#elif defined MIRYOKU_ALPHAS_COLEMAKDH - MIRYOKU_MAPPING( -<> - ) -#elif defined MIRYOKU_ALPHAS_DVORAK - MIRYOKU_MAPPING( -<> - ) -#elif defined MIRYOKU_ALPHAS_HALMAK - MIRYOKU_MAPPING( -<> - ) -#elif defined MIRYOKU_ALPHAS_WORKMAN - MIRYOKU_MAPPING( -<> - ) -#elif defined MIRYOKU_ALPHAS_QWERTY - MIRYOKU_MAPPING( -<> - ) -#else - MIRYOKU_MAPPING( -<> - ) -#endif - >; - }; - TAP_layer { - label = "Tap"; - bindings = < -#if defined MIRYOKU_ALPHAS_COLEMAK - MIRYOKU_MAPPING_TAP( - <> - ) -#elif defined MIRYOKU_ALPHAS_COLEMAKDH - MIRYOKU_MAPPING_TAP( - <> - ) -#elif defined MIRYOKU_ALPHAS_DVORAK - MIRYOKU_MAPPING_TAP( - <> - ) -#elif defined MIRYOKU_ALPHAS_HALMAK - MIRYOKU_MAPPING_TAP( - <> - ) -#elif defined MIRYOKU_ALPHAS_WORKMAN - MIRYOKU_MAPPING_TAP( - <> - ) -#elif defined MIRYOKU_ALPHAS_QWERTY - MIRYOKU_MAPPING_TAP( - <> - ) -#else - MIRYOKU_MAPPING_TAP( - <> - ) -#endif - >; - }; - MBO_layer { - label = "Buttons"; - bindings = < - MIRYOKU_MAPPING( -<> - ) - >; - }; - NAVR_layer { - label = "Nav"; - bindings = < -#if defined MIRYOKU_NAV_VI - MIRYOKU_MAPPING( -<> - ) -#else - MIRYOKU_MAPPING( -<> - ) -#endif - >; - }; - MOUR_layer { - label = "Mouse"; - bindings = < -#if defined MIRYOKU_NAV_VI - MIRYOKU_MAPPING( -<> - ) -#else - MIRYOKU_MAPPING( -<> - ) -#endif - >; - }; - MEDR_layer { - label = "Media"; - bindings = < -#if defined MIRYOKU_NAV_VI - MIRYOKU_MAPPING( -<> - ) -#else - MIRYOKU_MAPPING( -<> - ) -#endif - >; - }; - NSL_layer { - label = "Num"; - bindings = < - MIRYOKU_MAPPING( -<> - ) - >; - }; - NSSL_layer { - label = "Sym"; - bindings = < - MIRYOKU_MAPPING( -<> - ) - >; - }; - FUNL_layer { - label = "Fun"; - bindings = < - MIRYOKU_MAPPING( -<> - ) - >; - }; - }; -}; - -#if defined (MIRYOKU_COMBO_TPS_ENABLE) && defined (MIRYOKU_COMBO_TPSL) && defined (MIRYOKU_COMBO_TPSR) -/ { - combos { - compatible = "zmk,combos"; - combo_tpsl_BASE { - timeout-ms = <200>; - key-positions = ; - bindings = << MEDR ESC>; - layers = ; - }; - combo_tpsr_BASE { - timeout-ms = <200>; - key-positions = ; - bindings = << FUNL DEL>; - layers = ; - }; - combo_tpsr_MBO { - timeout-ms = <200>; - key-positions = ; - bindings = ; - layers = ; - }; - combo_tpsr_NAVR { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp DEL>; - layers = ; - }; - combo_tpsr_MOUR { - timeout-ms = <200>; - key-positions = ; - bindings = ; - layers = ; - }; - combo_tpsr_MEDR { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp K_MUTE>; - layers = ; - }; - combo_tpsl_NSL { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp DOT>; - layers = ; - }; - combo_tpsl_NSSL { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp LPAR>; - layers = ; - }; - combo_tpsl_FUNL { - timeout-ms = <200>; - key-positions = ; - bindings = <&kp K_APP>; - layers = ; - }; - }; -}; -#endif -#+END_SRC - - diff --git a/miryoku/miryoku.dtsi b/miryoku/miryoku.dtsi index e1aa07f..e6406a0 100644 --- a/miryoku/miryoku.dtsi +++ b/miryoku/miryoku.dtsi @@ -8,16 +8,40 @@ #include #include -#include "babel/layers.h" +#include "babel/layer_names.h" + +#include "layer.h" + +#define U_EXPAND(macro, ...) macro(__VA_ARGS__) #define U_NP &none // key is not present #define U_NA &none // present but not available for use #define U_NU &none // available but not used -#include "babel/clipboard.h" - -#ifndef MIRYOKU_MAPPING_TAP - #define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING +#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 #endif / { @@ -33,5 +57,103 @@ }; }; +/ { + keymap { + compatible = "zmk,keymap"; + BASE_layer { + label = "Base"; + bindings = < U_EXPAND(MIRYOKU_MAPPING, MIRYOKU_LAYER_BASE) >; + }; + BUTTON_layer { + label = "Button"; + bindings = < U_EXPAND(MIRYOKU_MAPPING, MIRYOKU_LAYER_BUTTON) >; + }; + NAV_layer { + label = "Nav"; + bindings = < U_EXPAND(MIRYOKU_MAPPING, MIRYOKU_LAYER_NAV) >; + }; + MOUSE_layer { + label = "Mouse"; + bindings = < U_EXPAND(MIRYOKU_MAPPING, MIRYOKU_LAYER_MOUSE) >; + }; + MEDIA_layer { + label = "Media"; + bindings = < U_EXPAND(MIRYOKU_MAPPING, MIRYOKU_LAYER_MEDIA) >; + }; + NUM_layer { + label = "Num"; + bindings = < U_EXPAND(MIRYOKU_MAPPING, MIRYOKU_LAYER_NUM) >; + }; + SYM_layer { + label = "Sym"; + bindings = < U_EXPAND(MIRYOKU_MAPPING, MIRYOKU_LAYER_SYM) >; + }; + FUN_layer { + label = "Fun"; + bindings = < U_EXPAND(MIRYOKU_MAPPING, MIRYOKU_LAYER_FUN) >; + }; + }; +}; + +#if defined (MIRYOKU_COMBO_TPS_ENABLE) && defined (MIRYOKU_COMBO_TPSL) && defined (MIRYOKU_COMBO_TPSR) +/ { + combos { + compatible = "zmk,combos"; + combo_tpsl_BASE { + timeout-ms = <200>; + key-positions = ; + bindings = << MEDIA ESC>; + layers = ; + }; + combo_tpsr_BASE { + timeout-ms = <200>; + key-positions = ; + bindings = << FUN DEL>; + layers = ; + }; + combo_tpsr_BUTTON { + timeout-ms = <200>; + key-positions = ; + bindings = ; + layers =