summaryrefslogtreecommitdiff
path: root/users/manna-harbour_miryoku/miryoku_babel
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2022-10-29 16:54:14 +1100
committerfauxpark <fauxpark@gmail.com>2022-10-29 16:54:14 +1100
commit9d717c85dc184c0e34b40251b5703ae3626f571e (patch)
tree9ef6e296e81a48b7c6f5d265e52e571b8a5bc3ba /users/manna-harbour_miryoku/miryoku_babel
parent22be7e79ac6a328ed5a7dc8c4e6f17d749852221 (diff)
parente90ff84c31905932849164204c10ea58255ddad2 (diff)
Merge remote-tracking branch 'upstream/master' into develop
Diffstat (limited to 'users/manna-harbour_miryoku/miryoku_babel')
-rw-r--r--users/manna-harbour_miryoku/miryoku_babel/miryoku_alternatives.h267
-rw-r--r--users/manna-harbour_miryoku/miryoku_babel/miryoku_layer.h139
-rw-r--r--users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h389
-rw-r--r--users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_list.h (renamed from users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_names.h)20
-rw-r--r--users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_selection.h277
5 files changed, 683 insertions, 409 deletions
diff --git a/users/manna-harbour_miryoku/miryoku_babel/miryoku_alternatives.h b/users/manna-harbour_miryoku/miryoku_babel/miryoku_alternatives.h
deleted file mode 100644
index 94bf5899b3..0000000000
--- a/users/manna-harbour_miryoku/miryoku_babel/miryoku_alternatives.h
+++ /dev/null
@@ -1,267 +0,0 @@
-// Copyright 2019 Manna Harbour
-// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
-// target: qmk
-
-// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-#pragma once
-
-#define MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP \
-KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
-LGUI_T(KC_Q), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_M), \
-LT(BUTTON, KC_W), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, ALGR_T(KC_SLSH), LT(BUTTON, KC_QUOT), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP \
-KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
-LGUI_T(KC_Y), LALT_T(KC_I), LCTL_T(KC_E), LSFT_T(KC_A), KC_DOT, KC_D, LSFT_T(KC_S), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_B), \
-LT(BUTTON, KC_J), ALGR_T(KC_SLSH), KC_COMM, KC_K, KC_QUOT, KC_W, KC_M, KC_L, ALGR_T(KC_P), LT(BUTTON, KC_V), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP \
-KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
-LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_D, KC_H, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP \
-KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
-LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP \
-KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
-LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_K, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP \
-KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
-LGUI_T(KC_A), LALT_T(KC_O), LCTL_T(KC_E), LSFT_T(KC_U), KC_I, KC_D, LSFT_T(KC_H), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_S), \
-LT(BUTTON, KC_SLSH), ALGR_T(KC_Q), KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, ALGR_T(KC_V), LT(BUTTON, KC_Z), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP \
-KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
-LGUI_T(KC_S), LALT_T(KC_H), LCTL_T(KC_N), LSFT_T(KC_T), KC_COMM, KC_DOT, LSFT_T(KC_A), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), \
-LT(BUTTON, KC_F), ALGR_T(KC_M), KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, ALGR_T(KC_K), LT(BUTTON, KC_Y), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP \
-KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
-LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_H), LSFT_T(KC_T), KC_G, KC_Y, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP \
-KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
-LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP \
-KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
-LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), \
-LT(BUTTON, KC_Y), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(FUN, KC_DEL), LT(NUM, KC_BSPC), LT(SYM, KC_ENT), LT(MOUSE, KC_TAB), LT(NAV, KC_SPC), LT(MEDIA, KC_ESC), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_AZERTY \
-KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
-LGUI_T(KC_Q), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_M), \
-LT(BUTTON, KC_W), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, ALGR_T(KC_SLSH), LT(BUTTON, KC_QUOT), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15 \
-KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
-LGUI_T(KC_Y), LALT_T(KC_I), LCTL_T(KC_E), LSFT_T(KC_A), KC_DOT, KC_D, LSFT_T(KC_S), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_B), \
-LT(BUTTON, KC_J), ALGR_T(KC_SLSH), KC_COMM, KC_K, KC_QUOT, KC_W, KC_M, KC_L, ALGR_T(KC_P), LT(BUTTON, KC_V), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK \
-KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
-LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_D, KC_H, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \
-KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
-LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK \
-KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
-LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_K, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_DVORAK \
-KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
-LGUI_T(KC_A), LALT_T(KC_O), LCTL_T(KC_E), LSFT_T(KC_U), KC_I, KC_D, LSFT_T(KC_H), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_S), \
-LT(BUTTON, KC_SLSH), ALGR_T(KC_Q), KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, ALGR_T(KC_V), LT(BUTTON, KC_Z), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_HALMAK \
-KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
-LGUI_T(KC_S), LALT_T(KC_H), LCTL_T(KC_N), LSFT_T(KC_T), KC_COMM, KC_DOT, LSFT_T(KC_A), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), \
-LT(BUTTON, KC_F), ALGR_T(KC_M), KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, ALGR_T(KC_K), LT(BUTTON, KC_Y), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN \
-KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
-LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_H), LSFT_T(KC_T), KC_G, KC_Y, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_QWERTY \
-KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
-LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), \
-LT(BUTTON, KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ \
-KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
-LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), \
-LT(BUTTON, KC_Y), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(BUTTON, KC_SLSH), \
-U_NP, U_NP, LT(MEDIA, KC_ESC), LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), LT(SYM, KC_ENT), LT(NUM, KC_BSPC), LT(FUN, KC_DEL), U_NP, U_NP
-
-
-#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \
-KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_NAV_FLIP \
-KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_NAV_VI \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_NAV \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
-
-
-#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \
-KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, U_NU, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_BTN2, KC_BTN3, KC_BTN1, U_NA, U_NA, U_NA, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \
-KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_BTN2, KC_BTN3, KC_BTN1, U_NA, U_NA, U_NA, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_NU, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_MOUSE_VI \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_MOUSE \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_NU, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP
-
-
-#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \
-RGB_SAI, RGB_HUI, KC_VOLU, RGB_MOD, RGB_TOG, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-RGB_VAI, KC_MPRV, KC_VOLD, KC_MNXT, OUT_AUTO, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-U_NU, U_NU, U_NU, U_NU, U_NU, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \
-RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, OUT_AUTO, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-U_NU, U_NU, U_NU, U_NU, U_NU, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, RGB_TOG, RGB_MOD, KC_VOLU, RGB_HUI, RGB_SAI, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, OUT_AUTO, KC_MPRV, KC_VOLD, KC_MNXT, RGB_VAI, \
-U_NA, KC_ALGR, 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, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_MEDIA_VI \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, OUT_AUTO, \
-U_NA, KC_ALGR, 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, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_MEDIA \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, OUT_AUTO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \
-U_NA, KC_ALGR, 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, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
-
-
-#define MIRYOKU_ALTERNATIVES_NUM_FLIP \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_EQL, KC_4, KC_5, KC_6, KC_SCLN, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_BSLS, KC_1, KC_2, KC_3, KC_GRV, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_MINS, KC_0, KC_DOT, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_NUM \
-KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_DOT, KC_0, KC_MINS, U_NA, U_NA, U_NA, U_NP, U_NP
-
-
-#define MIRYOKU_ALTERNATIVES_SYM_FLIP \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_COLN, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_PIPE, KC_EXLM, KC_AT, KC_HASH, KC_TILD, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_UNDS, KC_LPRN, KC_RPRN, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_SYM \
-KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA, U_NA, U_NP, U_NP
-
-
-#define MIRYOKU_ALTERNATIVES_FUN_FLIP \
-QK_BOOT, U_NA, U_NA, U_NA, U_NA, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11, \
-U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \
-U_NP, U_NP, U_NA, U_NA, U_NA, KC_TAB, KC_SPC, KC_APP, U_NP, U_NP
-
-#define MIRYOKU_ALTERNATIVES_FUN \
-KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
-KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
-KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
-U_NP, U_NP, KC_APP, KC_SPC, KC_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, \
-KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_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, KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP
diff --git a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer.h b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer.h
deleted file mode 100644
index 025bf3914c..0000000000
--- a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer.h
+++ /dev/null
@@ -1,139 +0,0 @@
-// Copyright 2019 Manna Harbour
-// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
-
-// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-#pragma once
-
-#include "miryoku_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_BEAKL15)
- #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15_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_BEAKL15)
- #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15
- #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_INVERTEDT)
- #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT
- #elif 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_INVERTEDT)
- #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT
- #elif 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_INVERTEDT)
- #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT
- #elif 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/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h
new file mode 100644
index 0000000000..33619a9e8f
--- /dev/null
+++ b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h
@@ -0,0 +1,389 @@
+// Copyright 2022 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated -*- buffer-read-only: t -*-
+// target: qmk
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+#pragma once
+
+
+#define MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP \
+KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+LGUI_T(KC_Q), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_M), \
+LT(U_BUTTON,KC_W), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, ALGR_T(KC_SLSH), LT(U_BUTTON,KC_QUOT),\
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP \
+KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
+LGUI_T(KC_Y), LALT_T(KC_I), LCTL_T(KC_E), LSFT_T(KC_A), KC_DOT, KC_D, LSFT_T(KC_S), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_B), \
+LT(U_BUTTON,KC_J), ALGR_T(KC_SLSH), KC_COMM, KC_K, KC_QUOT, KC_W, KC_M, KC_L, ALGR_T(KC_P), LT(U_BUTTON,KC_V), \
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP \
+KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_D, KC_H, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP \
+KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP \
+KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_K, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP \
+KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
+LGUI_T(KC_A), LALT_T(KC_O), LCTL_T(KC_E), LSFT_T(KC_U), KC_I, KC_D, LSFT_T(KC_H), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_S), \
+LT(U_BUTTON,KC_SLSH),ALGR_T(KC_Q), KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, ALGR_T(KC_V), LT(U_BUTTON,KC_Z), \
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP \
+KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
+LGUI_T(KC_S), LALT_T(KC_H), LCTL_T(KC_N), LSFT_T(KC_T), KC_COMM, KC_DOT, LSFT_T(KC_A), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), \
+LT(U_BUTTON,KC_F), ALGR_T(KC_M), KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, ALGR_T(KC_K), LT(U_BUTTON,KC_Y), \
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP \
+KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
+LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_H), LSFT_T(KC_T), KC_G, KC_Y, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP \
+KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP \
+KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
+LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), \
+LT(U_BUTTON,KC_Y), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_FUN,KC_DEL), LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT), LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC), LT(U_MEDIA,KC_ESC),U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_AZERTY \
+KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+LGUI_T(KC_Q), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_M), \
+LT(U_BUTTON,KC_W), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, ALGR_T(KC_SLSH), LT(U_BUTTON,KC_QUOT),\
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15 \
+KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
+LGUI_T(KC_Y), LALT_T(KC_I), LCTL_T(KC_E), LSFT_T(KC_A), KC_DOT, KC_D, LSFT_T(KC_S), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_B), \
+LT(U_BUTTON,KC_J), ALGR_T(KC_SLSH), KC_COMM, KC_K, KC_QUOT, KC_W, KC_M, KC_L, ALGR_T(KC_P), LT(U_BUTTON,KC_V), \
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK \
+KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_D, KC_H, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \
+KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK \
+KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+LGUI_T(KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_K, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), LGUI_T(KC_O), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_DVORAK \
+KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
+LGUI_T(KC_A), LALT_T(KC_O), LCTL_T(KC_E), LSFT_T(KC_U), KC_I, KC_D, LSFT_T(KC_H), LCTL_T(KC_T), LALT_T(KC_N), LGUI_T(KC_S), \
+LT(U_BUTTON,KC_SLSH),ALGR_T(KC_Q), KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, ALGR_T(KC_V), LT(U_BUTTON,KC_Z), \
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_HALMAK \
+KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
+LGUI_T(KC_S), LALT_T(KC_H), LCTL_T(KC_N), LSFT_T(KC_T), KC_COMM, KC_DOT, LSFT_T(KC_A), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), \
+LT(U_BUTTON,KC_F), ALGR_T(KC_M), KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, ALGR_T(KC_K), LT(U_BUTTON,KC_Y), \
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN \
+KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
+LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_H), LSFT_T(KC_T), KC_G, KC_Y, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_O), LGUI_T(KC_I), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_QWERTY \
+KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), \
+LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ \
+KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
+LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), \
+LT(U_BUTTON,KC_Y), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH),\
+U_NP, U_NP, LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL), U_NP, U_NP
+
+
+#define MIRYOKU_ALTERNATIVES_TAP_AZERTY_FLIP \
+KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+KC_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_M, \
+KC_W, KC_X, KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_BEAKL15_FLIP \
+KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
+KC_Y, KC_I, KC_E, KC_A, KC_DOT, KC_D, KC_S, KC_T, KC_N, KC_B, \
+KC_J, KC_SLSH, KC_COMM, KC_K, KC_QUOT, KC_W, KC_M, KC_L, KC_P, KC_V, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_COLEMAK_FLIP \
+KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, \
+KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP \
+KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
+KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK_FLIP \
+KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+KC_A, KC_R, KC_S, KC_T, KC_G, KC_K, KC_N, KC_E, KC_I, KC_O, \
+KC_Z, KC_X, KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_DVORAK_FLIP \
+KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
+KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, \
+KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_HALMAK_FLIP \
+KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
+KC_S, KC_H, KC_N, KC_T, KC_COMM, KC_DOT, KC_A, KC_E, KC_O, KC_I, \
+KC_F, KC_M, KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, KC_K, KC_Y, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_WORKMAN_FLIP \
+KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
+KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, \
+KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_QWERTY_FLIP \
+KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
+KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_QWERTZ_FLIP \
+KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
+KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
+KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_AZERTY \
+KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+KC_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_M, \
+KC_W, KC_X, KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_BEAKL15 \
+KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
+KC_Y, KC_I, KC_E, KC_A, KC_DOT, KC_D, KC_S, KC_T, KC_N, KC_B, \
+KC_J, KC_SLSH, KC_COMM, KC_K, KC_QUOT, KC_W, KC_M, KC_L, KC_P, KC_V, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_COLEMAK \
+KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, \
+KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH \
+KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
+KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK \
+KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
+KC_A, KC_R, KC_S, KC_T, KC_G, KC_K, KC_N, KC_E, KC_I, KC_O, \
+KC_Z, KC_X, KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_DVORAK \
+KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
+KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, \
+KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_HALMAK \
+KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
+KC_S, KC_H, KC_N, KC_T, KC_COMM, KC_DOT, KC_A, KC_E, KC_O, KC_I, \
+KC_F, KC_M, KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, KC_K, KC_Y, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_WORKMAN \
+KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
+KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, \
+KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_QWERTY \
+KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
+KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
+KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_TAP_QWERTZ \
+KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
+KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
+KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
+U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+
+#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \
+KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_NAV), DF(U_NUM), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_NAV_FLIP \
+KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_NAV), DF(U_NUM), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, \
+U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_NAV_VI \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, \
+U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_NAV \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
+U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
+
+
+#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \
+KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, U_NU, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_MOUSE), DF(U_SYM), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_BTN3, KC_BTN1, KC_BTN2, U_NA, U_NA, U_NA, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \
+KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_MOUSE), DF(U_SYM), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_BTN3, KC_BTN1, KC_BTN2, U_NA, U_NA, U_NA, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_NU, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, \
+U_NA, KC_ALGR, DF(U_SYM), DF(U_MOUSE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_MOUSE_VI \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, \
+U_NA, KC_ALGR, DF(U_SYM), DF(U_MOUSE), U_NA, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_MOUSE \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, \
+U_NA, KC_ALGR, DF(U_SYM), DF(U_MOUSE), U_NA, U_NU, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP
+
+
+#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \
+RGB_HUI, RGB_SAI, KC_VOLU, RGB_VAI, RGB_TOG, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+RGB_MOD, KC_MPRV, KC_VOLD, KC_MNXT, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+U_NU, U_NU, U_NU, U_NU, OUT_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \
+RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+U_NU, U_NU, U_NU, U_NU, OUT_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_TOG, RGB_MOD, KC_VOLU, RGB_HUI, RGB_SAI, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MPRV, KC_VOLD, KC_MNXT, RGB_VAI, \
+U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OUT_AUTO, U_NU, U_NU, U_NU, U_NU, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_MEDIA_VI \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, \
+U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, U_NU, U_NU, U_NU, U_NU, OUT_AUTO, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_MEDIA \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \
+U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OUT_AUTO, U_NU, U_NU, U_NU, U_NU, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
+
+
+#define MIRYOKU_ALTERNATIVES_NUM_FLIP \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_EQL, KC_4, KC_5, KC_6, KC_SCLN, \
+U_NA, KC_ALGR, DF(U_NAV), DF(U_NUM), U_NA, KC_BSLS, KC_1, KC_2, KC_3, KC_GRV, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_MINS, KC_0, KC_DOT, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_NUM \
+KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, U_NA, DF(U_NUM), DF(U_NAV), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_DOT, KC_0, KC_MINS, U_NA, U_NA, U_NA, U_NP, U_NP
+
+
+#define MIRYOKU_ALTERNATIVES_SYM_FLIP \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_COLN, \
+U_NA, KC_ALGR, DF(U_MOUSE), DF(U_SYM), U_NA, KC_PIPE, KC_EXLM, KC_AT, KC_HASH, KC_TILD, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_UNDS, KC_LPRN, KC_RPRN, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_SYM \
+KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, U_NA, DF(U_SYM), DF(U_MOUSE), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA, U_NA, U_NP, U_NP
+
+
+#define MIRYOKU_ALTERNATIVES_FUN_FLIP \
+QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, \
+U_NA, KC_ALGR, DF(U_MEDIA), DF(U_FUN), U_NA, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \
+U_NP, U_NP, U_NA, U_NA, U_NA, KC_TAB, KC_SPC, KC_APP, U_NP, U_NP
+
+#define MIRYOKU_ALTERNATIVES_FUN \
+KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
+KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
+KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, DF(U_FUN), DF(U_MEDIA), KC_ALGR, U_NA, \
+U_NP, U_NP, KC_APP, KC_SPC, KC_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, \
+KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NU, U_NU, KC_LSFT, KC_LCTL, KC_LALT, KC_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, KC_BTN3, KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP
diff --git a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_names.h b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_list.h
index 87e1f18d8c..adac139c1c 100644
--- a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_names.h
+++ b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_list.h
@@ -1,9 +1,23 @@
-// Copyright 2019 Manna Harbour
+// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
-#if !defined (MIRYOKU_LAYER_NAMES)
- #define MIRYOKU_LAYER_NAMES BASE, BUTTON, NAV, MOUSE, MEDIA, NUM, SYM, FUN
+#pragma once
+
+#if !defined (MIRYOKU_LAYER_LIST)
+
+#define MIRYOKU_LAYER_LIST \
+MIRYOKU_X(BASE, "Base") \
+MIRYOKU_X(EXTRA, "Extra") \
+MIRYOKU_X(TAP, "Tap") \
+MIRYOKU_X(BUTTON, "Button") \
+MIRYOKU_X(NAV, "Nav") \
+MIRYOKU_X(MOUSE, "Mouse") \
+MIRYOKU_X(MEDIA, "Media") \
+MIRYOKU_X(NUM, "Num") \
+MIRYOKU_X(SYM, "Sym") \
+MIRYOKU_X(FUN, "Fun")
+
#endif
diff --git a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_selection.h b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_selection.h
new file mode 100644
index 0000000000..609186c480
--- /dev/null
+++ b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_selection.h
@@ -0,0 +1,277 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated -*- buffer-read-only: t -*-
+
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+#pragma once
+
+#include "miryoku_layer_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_BEAKL15)
+ #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
+ #elif defined (MIRYOKU_ALPHAS_COLEMAK)
+ #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
+ #elif defined (MIRYOKU_ALPHAS_COLEMAKDH)
+ #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_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_BEAKL15)
+ #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15
+ #elif defined (MIRYOKU_ALPHAS_COLEMAK)
+ #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK
+ #elif defined (MIRYOKU_ALPHAS_COLEMAKDH)
+ #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
+ #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_LAYERMAPPING_BASE)
+ #define MIRYOKU_LAYERMAPPING_BASE MIRYOKU_MAPPING
+#endif
+
+#if !defined(MIRYOKU_LAYER_EXTRA)
+ #if defined (MIRYOKU_LAYERS_FLIP)
+ #if defined (MIRYOKU_EXTRA_AZERTY)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
+ #elif defined (MIRYOKU_EXTRA_BEAKL15)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
+ #elif defined (MIRYOKU_EXTRA_COLEMAK)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
+ #elif defined (MIRYOKU_EXTRA_COLEMAKDH)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
+ #elif defined (MIRYOKU_EXTRA_COLEMAKDHK)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
+ #elif defined (MIRYOKU_EXTRA_DVORAK)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
+ #elif defined (MIRYOKU_EXTRA_HALMAK)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
+ #elif defined (MIRYOKU_EXTRA_WORKMAN)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
+ #elif defined (MIRYOKU_EXTRA_QWERTY)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
+ #elif defined (MIRYOKU_EXTRA_QWERTZ)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
+ #else
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
+ #endif
+ #else
+ #if defined (MIRYOKU_EXTRA_AZERTY)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_AZERTY
+ #elif defined (MIRYOKU_EXTRA_BEAKL15)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_BEAKL15
+ #elif defined (MIRYOKU_EXTRA_COLEMAK)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAK
+ #elif defined (MIRYOKU_EXTRA_COLEMAKDH)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
+ #elif defined (MIRYOKU_EXTRA_COLEMAKDHK)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
+ #elif defined (MIRYOKU_EXTRA_DVORAK)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_DVORAK
+ #elif defined (MIRYOKU_EXTRA_HALMAK)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_HALMAK
+ #elif defined (MIRYOKU_EXTRA_WORKMAN)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_WORKMAN
+ #elif defined (MIRYOKU_EXTRA_QWERTY)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY
+ #elif defined (MIRYOKU_EXTRA_QWERTZ)
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTZ
+ #else
+ #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY
+ #endif
+ #endif
+#endif
+#if !defined(MIRYOKU_LAYERMAPPING_EXTRA)
+ #define MIRYOKU_LAYERMAPPING_EXTRA MIRYOKU_MAPPING
+#endif
+
+#if !defined(MIRYOKU_LAYER_TAP)
+ #if defined (MIRYOKU_LAYERS_FLIP)
+ #if defined (MIRYOKU_TAP_AZERTY)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_AZERTY_FLIP
+ #elif defined (MIRYOKU_TAP_BEAKL15)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_BEAKL15_FLIP
+ #elif defined (MIRYOKU_TAP_COLEMAK)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAK_FLIP
+ #elif defined (MIRYOKU_TAP_COLEMAKDH)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP
+ #elif defined (MIRYOKU_TAP_COLEMAKDHK)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK_FLIP
+ #elif defined (MIRYOKU_TAP_DVORAK)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_DVORAK_FLIP
+ #elif defined (MIRYOKU_TAP_HALMAK)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_HALMAK_FLIP
+ #elif defined (MIRYOKU_TAP_WORKMAN)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_WORKMAN_FLIP
+ #elif defined (MIRYOKU_TAP_QWERTY)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTY_FLIP
+ #elif defined (MIRYOKU_TAP_QWERTZ)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTZ_FLIP
+ #else
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP
+ #endif
+ #else
+ #if defined (MIRYOKU_TAP_AZERTY)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_AZERTY
+ #elif defined (MIRYOKU_TAP_BEAKL15)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_BEAKL15
+ #elif defined (MIRYOKU_TAP_COLEMAK)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAK
+ #elif defined (MIRYOKU_TAP_COLEMAKDH)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH
+ #elif defined (MIRYOKU_TAP_COLEMAKDHK)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK
+ #elif defined (MIRYOKU_TAP_DVORAK)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_DVORAK
+ #elif defined (MIRYOKU_TAP_HALMAK)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_HALMAK
+ #elif defined (MIRYOKU_TAP_WORKMAN)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_WORKMAN
+ #elif defined (MIRYOKU_TAP_QWERTY)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTY
+ #elif defined (MIRYOKU_TAP_QWERTZ)
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTZ
+ #else
+ #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH
+ #endif
+ #endif
+#endif
+#if !defined(MIRYOKU_LAYERMAPPING_TAP)
+ #define MIRYOKU_LAYERMAPPING_TAP MIRYOKU_MAPPING
+#endif
+
+#if !defined(MIRYOKU_LAYER_BUTTON)
+ #define MIRYOKU_LAYER_BUTTON MIRYOKU_ALTERNATIVES_BUTTON
+#endif
+#if !defined(MIRYOKU_LAYERMAPPING_BUTTON)
+ #define MIRYOKU_LAYERMAPPING_BUTTON MIRYOKU_MAPPING
+#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_INVERTEDT)
+ #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT
+ #elif 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_LAYERMAPPING_NAV)
+ #define MIRYOKU_LAYERMAPPING_NAV MIRYOKU_MAPPING
+#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_INVERTEDT)
+ #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT
+ #elif 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_LAYERMAPPING_MOUSE)
+ #define MIRYOKU_LAYERMAPPING_MOUSE MIRYOKU_MAPPING
+#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_INVERTEDT)
+ #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT
+ #elif 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_LAYERMAPPING_MEDIA)
+ #define MIRYOKU_LAYERMAPPING_MEDIA MIRYOKU_MAPPING
+#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_LAYERMAPPING_NUM)
+ #define MIRYOKU_LAYERMAPPING_NUM MIRYOKU_MAPPING
+#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_LAYERMAPPING_SYM)
+ #define MIRYOKU_LAYERMAPPING_SYM MIRYOKU_MAPPING
+#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_LAYERMAPPING_FUN)
+ #define MIRYOKU_LAYERMAPPING_FUN MIRYOKU_MAPPING
+#endif