summaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorManna Harbour <51143715+manna-harbour@users.noreply.github.com>2022-10-27 23:50:32 +1100
committerGitHub <noreply@github.com>2022-10-27 13:50:32 +0100
commitd8183c52492557fdc8f35cec67c70170bae55efa (patch)
tree131a7b6fd030452ed8e146461b9ab2aaf427f2dc /users
parent18a70451fd4d2bcf8b1914d89f386e411da8b6aa (diff)
[Keymap] Update Miryoku (#18773)
* [miryoku] Revert "[Keymap] manna-harbour_miryoku RESET to QK_BOOT (#18755)" This reverts commit 89dbc181617e69a5b4d91d9d772724daa2d387bb. * [miryoku] Add keyboardio/model01 * [miryoku] Add handwired/dactyl_manuform/4x6 * [miryoku] Update BT keycodes - Update BT keycodes on Media inner index: - Move OUT_AUTO to bottom row - Move RGB_TOG in vi to pinkie column to match other TOG keycodes, and rotate row * [miryoku] Add Extra and Tap layers * [miryoku] Rename config workflow option to custom_config * [miryoku] Update custom_config.h and custom_rules.mk behaviour * [miryoku] Make mapping macro customisable globally and per layer * [miryoku] Add layer lock * [miryoku] Update RGB order in media-l-invertedt * [miryoku] Change mouse button order * [miryoku] Change to X macros for layer list - Supports adding and removing layers from custom_config.h - Add "U_" prefix to layer names - Add layer name strings - Populate keymaps array from X macro - Populate layers enum from X macro - Move layers enum to manna-harbour_miryoku.h - Rename miryoku_alternatives.h to miryoku_layer_alternatives.h - Rename miryoku_layer.h to miryoku_layer_selection.h - Remove miryoku_layer_names.h - Add miryoku_layer_list.h * [miryoku] Reformat split_3x6_3 mapping * [miryoku] Add merge field to workflows * [miryoku] Update thumb combos with new layer names * [miryoku] Update cover image * [miryoku] Add satt/vision * [miryoku] Update Branches and Building docs * [miryoku] Update reset keycode * [miryoku] Add xmk * [miryoku] Add boardsource/lulu * [miryoku] Fix keyboardio/model01
Diffstat (limited to 'users')
-rw-r--r--users/manna-harbour_miryoku/config.h4
-rw-r--r--users/manna-harbour_miryoku/manna-harbour_miryoku.c27
-rw-r--r--users/manna-harbour_miryoku/manna-harbour_miryoku.h16
-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
-rw-r--r--users/manna-harbour_miryoku/post_rules.mk19
-rw-r--r--users/manna-harbour_miryoku/readme.org156
10 files changed, 856 insertions, 458 deletions
diff --git a/users/manna-harbour_miryoku/config.h b/users/manna-harbour_miryoku/config.h
index c4538ee304..920003598e 100644
--- a/users/manna-harbour_miryoku/config.h
+++ b/users/manna-harbour_miryoku/config.h
@@ -5,6 +5,8 @@
5 5
6#pragma once 6#pragma once
7 7
8#include "custom_config.h"
9
8// default but used in macros 10// default but used in macros
9#undef TAPPING_TERM 11#undef TAPPING_TERM
10#define TAPPING_TERM 200 12#define TAPPING_TERM 200
@@ -39,5 +41,3 @@
39 #define EXTRA_SHORT_COMBOS 41 #define EXTRA_SHORT_COMBOS
40#endif 42#endif
41 43
42#include "custom_config.h"
43
diff --git a/users/manna-harbour_miryoku/manna-harbour_miryoku.c b/users/manna-harbour_miryoku/manna-harbour_miryoku.c
index 28ad18d1aa..42660a6a5b 100644
--- a/users/manna-harbour_miryoku/manna-harbour_miryoku.c
+++ b/users/manna-harbour_miryoku/manna-harbour_miryoku.c
@@ -1,4 +1,4 @@
1// Copyright 2019 Manna Harbour 1// Copyright 2022 Manna Harbour
2// https://github.com/manna-harbour/miryoku 2// https://github.com/manna-harbour/miryoku
3 3
4// 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/>. 4// 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/>.
@@ -7,24 +7,17 @@
7 7
8#include "manna-harbour_miryoku.h" 8#include "manna-harbour_miryoku.h"
9 9
10enum layers { MIRYOKU_LAYER_NAMES };
11
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 10const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13 [BASE] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_BASE), 11#define MIRYOKU_X(LAYER, STRING) [U_##LAYER] = U_MACRO_VA_ARGS(MIRYOKU_LAYERMAPPING_##LAYER, MIRYOKU_LAYER_##LAYER),
14 [NAV] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_NAV), 12MIRYOKU_LAYER_LIST
15 [MOUSE] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_MOUSE), 13#undef MIRYOKU_X
16 [MEDIA] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_MEDIA),
17 [NUM] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_NUM),
18 [SYM] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_SYM),
19 [FUN] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_FUN),
20 [BUTTON] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_BUTTON)
21}; 14};
22 15
23#if defined (MIRYOKU_KLUDGE_THUMBCOMBOS) 16#if defined (MIRYOKU_KLUDGE_THUMBCOMBOS)
24const uint16_t PROGMEM thumbcombos_base_right[] = {LT(SYM, KC_ENT), LT(NUM, KC_BSPC), COMBO_END}; 17const uint16_t PROGMEM thumbcombos_base_right[] = {LT(U_SYM, KC_ENT), LT(U_NUM, KC_BSPC), COMBO_END};
25const uint16_t PROGMEM thumbcombos_base_left[] = {LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), COMBO_END}; 18const uint16_t PROGMEM thumbcombos_base_left[] = {LT(U_NAV, KC_SPC), LT(U_MOUSE, KC_TAB), COMBO_END};
26const uint16_t PROGMEM thumbcombos_nav[] = {KC_ENT, KC_BSPC, COMBO_END}; 19const uint16_t PROGMEM thumbcombos_nav[] = {KC_ENT, KC_BSPC, COMBO_END};
27const uint16_t PROGMEM thumbcombos_mouse[] = {KC_BTN1, KC_BTN3, COMBO_END}; 20const uint16_t PROGMEM thumbcombos_mouse[] = {KC_BTN2, KC_BTN1, COMBO_END};
28const uint16_t PROGMEM thumbcombos_media[] = {KC_MSTP, KC_MPLY, COMBO_END}; 21const uint16_t PROGMEM thumbcombos_media[] = {KC_MSTP, KC_MPLY, COMBO_END};
29const uint16_t PROGMEM thumbcombos_num[] = {KC_0, KC_MINS, COMBO_END}; 22const uint16_t PROGMEM thumbcombos_num[] = {KC_0, KC_MINS, COMBO_END};
30 #if defined (MIRYOKU_LAYERS_FLIP) 23 #if defined (MIRYOKU_LAYERS_FLIP)
@@ -34,10 +27,10 @@ const uint16_t PROGMEM thumbcombos_sym[] = {KC_RPRN, KC_UNDS, COMBO_END};
34 #endif 27 #endif
35const uint16_t PROGMEM thumbcombos_fun[] = {KC_SPC, KC_TAB, COMBO_END}; 28const uint16_t PROGMEM thumbcombos_fun[] = {KC_SPC, KC_TAB, COMBO_END};
36combo_t key_combos[COMBO_COUNT] = { 29combo_t key_combos[COMBO_COUNT] = {
37 COMBO(thumbcombos_base_right, LT(FUN, KC_DEL)), 30 COMBO(thumbcombos_base_right, LT(U_FUN, KC_DEL)),
38 COMBO(thumbcombos_base_left, LT(MEDIA, KC_ESC)), 31 COMBO(thumbcombos_base_left, LT(U_MEDIA, KC_ESC)),
39 COMBO(thumbcombos_nav, KC_DEL), 32 COMBO(thumbcombos_nav, KC_DEL),
40 COMBO(thumbcombos_mouse, KC_BTN2), 33 COMBO(thumbcombos_mouse, KC_BTN3),
41 COMBO(thumbcombos_media, KC_MUTE), 34 COMBO(thumbcombos_media, KC_MUTE),
42 COMBO(thumbcombos_num, KC_DOT), 35 COMBO(thumbcombos_num, KC_DOT),
43 #if defined (MIRYOKU_LAYERS_FLIP) 36 #if defined (MIRYOKU_LAYERS_FLIP)
diff --git a/users/manna-harbour_miryoku/manna-harbour_miryoku.h b/users/manna-harbour_miryoku/manna-harbour_miryoku.h
index f6ef63c360..4d1fbf17cf 100644
--- a/users/manna-harbour_miryoku/manna-harbour_miryoku.h
+++ b/users/manna-harbour_miryoku/manna-harbour_miryoku.h
@@ -1,15 +1,25 @@
1// Copyright 2019 Manna Harbour 1// Copyright 2022 Manna Harbour
2// https://github.com/manna-harbour/miryoku 2// https://github.com/manna-harbour/miryoku
3 3
4// 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/>. 4// 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/>.
5 5
6#pragma once 6#pragma once
7 7
8#include "miryoku_babel/miryoku_layer_names.h" 8#include "miryoku_babel/miryoku_layer_selection.h"
9#include "miryoku_babel/miryoku_layer.h" 9#include "miryoku_babel/miryoku_layer_list.h"
10
11enum miryoku_layers {
12#define MIRYOKU_X(LAYER, STRING) U_##LAYER,
13MIRYOKU_LAYER_LIST
14#undef MIRYOKU_X
15};
10 16
11#define U_MACRO_VA_ARGS(macro, ...) macro(__VA_ARGS__) 17#define U_MACRO_VA_ARGS(macro, ...) macro(__VA_ARGS__)
12 18
19#if !defined (MIRYOKU_MAPPING)
20 #define MIRYOKU_MAPPING LAYOUT_miryoku
21#endif
22
13#define U_NP KC_NO // key is not present 23#define U_NP KC_NO // key is not present
14#define U_NA KC_NO // present but not available for use 24#define U_NA KC_NO // present but not available for use
15#define U_NU KC_NO // available but not used 25#define U_NU KC_NO // available but not used
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 914a81bb79..0000000000
--- a/users/manna-harbour_miryoku/miryoku_babel/miryoku_alternatives.h
+++ /dev/null
@@ -1,267 +0,0 @@
1// Copyright 2019 Manna Harbour
2// https://github.com/manna-harbour/miryoku
3// generated -*- buffer-read-only: t -*-
4// target: qmk
5
6// 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/>.
7
8#pragma once
9
10#define MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP \
11KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
12LGUI_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), \
13LT(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), \
14U_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
15
16#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP \
17KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
18LGUI_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), \
19LT(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), \
20U_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
21
22#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP \
23KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
24LGUI_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), \
25LT(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), \
26U_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
27
28#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP \
29KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
30LGUI_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), \
31LT(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), \
32U_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
33
34#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP \
35KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
36LGUI_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), \
37LT(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), \
38U_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
39
40#define MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP \
41KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
42LGUI_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), \
43LT(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), \
44U_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
45
46#define MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP \
47KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
48LGUI_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), \
49LT(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), \
50U_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
51
52#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP \
53KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
54LGUI_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), \
55LT(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), \
56U_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
57
58#define MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP \
59KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
60LGUI_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), \
61LT(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), \
62U_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
63
64#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP \
65KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
66LGUI_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), \
67LT(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), \
68U_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
69
70#define MIRYOKU_ALTERNATIVES_BASE_AZERTY \
71KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
72LGUI_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), \
73LT(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), \
74U_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
75
76#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15 \
77KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
78LGUI_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), \
79LT(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), \
80U_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
81
82#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK \
83KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
84LGUI_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), \
85LT(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), \
86U_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
87
88#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \
89KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
90LGUI_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), \
91LT(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), \
92U_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
93
94#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK \
95KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
96LGUI_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), \
97LT(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), \
98U_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
99
100#define MIRYOKU_ALTERNATIVES_BASE_DVORAK \
101KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
102LGUI_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), \
103LT(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), \
104U_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
105
106#define MIRYOKU_ALTERNATIVES_BASE_HALMAK \
107KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
108LGUI_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), \
109LT(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), \
110U_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
111
112#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN \
113KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
114LGUI_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), \
115LT(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), \
116U_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
117
118#define MIRYOKU_ALTERNATIVES_BASE_QWERTY \
119KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
120LGUI_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), \
121LT(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), \
122U_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
123
124#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ \
125KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
126LGUI_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), \
127LT(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), \
128U_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
129
130
131#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \
132KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
133KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
134U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
135U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP
136
137#define MIRYOKU_ALTERNATIVES_NAV_FLIP \
138KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
139KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
140U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
141U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP
142
143#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT \
144QK_BOOT, U_NA, U_NA, U_NA, U_NA, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, \
145KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, \
146U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
147U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
148
149#define MIRYOKU_ALTERNATIVES_NAV_VI \
150QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
151KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, \
152U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, \
153U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
154
155#define MIRYOKU_ALTERNATIVES_NAV \
156QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
157KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
158U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
159U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
160
161
162#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \
163KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, U_NU, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
164KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
165U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
166U_NP, U_NP, KC_BTN2, KC_BTN3, KC_BTN1, U_NA, U_NA, U_NA, U_NP, U_NP
167
168#define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \
169KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
170KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
171U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
172U_NP, U_NP, KC_BTN2, KC_BTN3, KC_BTN1, U_NA, U_NA, U_NA, U_NP, U_NP
173
174#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT \
175QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_NU, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, \
176KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, \
177U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
178U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP
179
180#define MIRYOKU_ALTERNATIVES_MOUSE_VI \
181QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
182KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, \
183U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, \
184U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP
185
186#define MIRYOKU_ALTERNATIVES_MOUSE \
187QK_BOOT, U_NA, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
188KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, \
189U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_NU, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, \
190U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN1, KC_BTN3, KC_BTN2, U_NP, U_NP
191
192
193#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \
194RGB_SAI, RGB_HUI, KC_VOLU, RGB_MOD, RGB_TOG, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
195RGB_VAI, KC_MPRV, KC_VOLD, KC_MNXT, OUT_AUTO, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
196U_NU, U_NU, U_NU, U_NU, U_NU, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
197U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP
198
199#define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \
200RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
201KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, OUT_AUTO, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
202U_NU, U_NU, U_NU, U_NU, U_NU, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
203U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP
204
205#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \
206QK_BOOT, U_NA, U_NA, U_NA, U_NA, RGB_TOG, RGB_MOD, KC_VOLU, RGB_HUI, RGB_SAI, \
207KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, OUT_AUTO, KC_MPRV, KC_VOLD, KC_MNXT, RGB_VAI, \
208U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, \
209U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
210
211#define MIRYOKU_ALTERNATIVES_MEDIA_VI \
212QK_BOOT, U_NA, U_NA, U_NA, U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
213KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, OUT_AUTO, \
214U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, \
215U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
216
217#define MIRYOKU_ALTERNATIVES_MEDIA \
218QK_BOOT, U_NA, U_NA, U_NA, U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
219KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, OUT_AUTO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \
220U_NA, KC_ALGR, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, \
221U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
222
223
224#define MIRYOKU_ALTERNATIVES_NUM_FLIP \
225QK_BOOT, U_NA, U_NA, U_NA, U_NA, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, \
226KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_EQL, KC_4, KC_5, KC_6, KC_SCLN, \
227U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_BSLS, KC_1, KC_2, KC_3, KC_GRV, \
228U_NP, U_NP, U_NA, U_NA, U_NA, KC_MINS, KC_0, KC_DOT, U_NP, U_NP
229
230#define MIRYOKU_ALTERNATIVES_NUM \
231KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
232KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
233KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
234U_NP, U_NP, KC_DOT, KC_0, KC_MINS, U_NA, U_NA, U_NA, U_NP, U_NP
235
236
237#define MIRYOKU_ALTERNATIVES_SYM_FLIP \
238QK_BOOT, U_NA, U_NA, U_NA, U_NA, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, \
239KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_COLN, \
240U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_PIPE, KC_EXLM, KC_AT, KC_HASH, KC_TILD, \
241U_NP, U_NP, U_NA, U_NA, U_NA, KC_UNDS, KC_LPRN, KC_RPRN, U_NP, U_NP
242
243#define MIRYOKU_ALTERNATIVES_SYM \
244KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
245KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
246KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
247U_NP, U_NP, KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA, U_NA, U_NP, U_NP
248
249
250#define MIRYOKU_ALTERNATIVES_FUN_FLIP \
251QK_BOOT, U_NA, U_NA, U_NA, U_NA, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \
252KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, \
253U_NA, KC_ALGR, U_NA, U_NA, U_NA, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \
254U_NP, U_NP, U_NA, U_NA, U_NA, KC_TAB, KC_SPC, KC_APP, U_NP, U_NP
255
256#define MIRYOKU_ALTERNATIVES_FUN \
257KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, U_NA, U_NA, U_NA, U_NA, QK_BOOT, \
258KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
259KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, U_NA, U_NA, KC_ALGR, U_NA, \
260U_NP, U_NP, KC_APP, KC_SPC, KC_TAB, U_NA, U_NA, U_NA, U_NP, U_NP
261
262
263#define MIRYOKU_ALTERNATIVES_BUTTON \
264U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
265KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NO, KC_NO, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
266U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
267U_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 @@
1// Copyright 2019 Manna Harbour
2// https://github.com/manna-harbour/miryoku
3// generated -*- buffer-read-only: t -*-
4
5// 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/>.
6
7#pragma once
8
9#include "miryoku_alternatives.h"
10
11#if !defined(MIRYOKU_LAYER_BASE)
12 #if defined (MIRYOKU_LAYERS_FLIP)
13 #if defined (MIRYOKU_ALPHAS_AZERTY)
14 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
15 #elif defined (MIRYOKU_ALPHAS_BEAKL15)
16 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
17 #elif defined (MIRYOKU_ALPHAS_COLEMAK)
18 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
19 #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
20 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
21 #elif defined (MIRYOKU_ALPHAS_DVORAK)
22 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
23 #elif defined (MIRYOKU_ALPHAS_HALMAK)
24 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
25 #elif defined (MIRYOKU_ALPHAS_WORKMAN)
26 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
27 #elif defined (MIRYOKU_ALPHAS_QWERTY)
28 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
29 #elif defined (MIRYOKU_ALPHAS_QWERTZ)
30 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
31 #else
32 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
33 #endif
34 #else
35 #if defined (MIRYOKU_ALPHAS_AZERTY)
36 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY
37 #elif defined (MIRYOKU_ALPHAS_BEAKL15)
38 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15
39 #elif defined (MIRYOKU_ALPHAS_COLEMAK)
40 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK
41 #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
42 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
43 #elif defined (MIRYOKU_ALPHAS_DVORAK)
44 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK
45 #elif defined (MIRYOKU_ALPHAS_HALMAK)
46 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK
47 #elif defined (MIRYOKU_ALPHAS_WORKMAN)
48 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN
49 #elif defined (MIRYOKU_ALPHAS_QWERTY)
50 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY
51 #elif defined (MIRYOKU_ALPHAS_QWERTZ)
52 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ
53 #else
54 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
55 #endif
56 #endif
57#endif
58
59#if !defined(MIRYOKU_LAYER_NAV)
60 #if defined (MIRYOKU_LAYERS_FLIP)
61 #if defined (MIRYOKU_NAV_INVERTEDT)
62 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP
63 #else
64 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_FLIP
65 #endif
66 #else
67 #if defined (MIRYOKU_NAV_INVERTEDT)
68 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT
69 #elif defined (MIRYOKU_NAV_VI)
70 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_VI
71 #else
72 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV
73 #endif
74 #endif
75#endif
76
77#if !defined(MIRYOKU_LAYER_MOUSE)
78 #if defined (MIRYOKU_LAYERS_FLIP)
79 #if defined (MIRYOKU_NAV_INVERTEDT)
80 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP
81 #else
82 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_FLIP
83 #endif
84 #else
85 #if defined (MIRYOKU_NAV_INVERTEDT)
86 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT
87 #elif defined (MIRYOKU_NAV_VI)
88 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_VI
89 #else
90 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE
91 #endif
92 #endif
93#endif
94
95#if !defined(MIRYOKU_LAYER_MEDIA)
96 #if defined (MIRYOKU_LAYERS_FLIP)
97 #if defined (MIRYOKU_NAV_INVERTEDT)
98 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP
99 #else
100 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_FLIP
101 #endif
102 #else
103 #if defined (MIRYOKU_NAV_INVERTEDT)
104 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT
105 #elif defined (MIRYOKU_NAV_VI)
106 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_VI
107 #else
108 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA
109 #endif
110 #endif
111#endif
112
113#if !defined(MIRYOKU_LAYER_NUM)
114 #if defined (MIRYOKU_LAYERS_FLIP)
115 #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM_FLIP
116 #else
117 #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM
118 #endif
119#endif
120
121#if !defined(MIRYOKU_LAYER_SYM)
122 #if defined (MIRYOKU_LAYERS_FLIP)
123 #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM_FLIP
124 #else
125 #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM
126 #endif
127#endif
128
129#if !defined(MIRYOKU_LAYER_FUN)
130 #if defined (MIRYOKU_LAYERS_FLIP)
131 #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN_FLIP
132 #else
133 #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN
134 #endif
135#endif
136
137#if !defined(MIRYOKU_LAYER_BUTTON)
138 #define MIRYOKU_LAYER_BUTTON MIRYOKU_ALTERNATIVES_BUTTON
139#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 @@
1// Copyright 2022 Manna Harbour
2// https://github.com/manna-harbour/miryoku
3// generated -*- buffer-read-only: t -*-
4// target: qmk
5
6// 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/>.
7
8#pragma once
9
10
11#define MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP \
12KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
13LGUI_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), \
14LT(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),\
15U_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
16
17#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP \
18KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
19LGUI_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), \
20LT(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), \
21U_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
22
23#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP \
24KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
25LGUI_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), \
26LT(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),\
27U_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
28
29#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP \
30KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
31LGUI_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), \
32LT(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),\
33U_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
34
35#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP \
36KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
37LGUI_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), \
38LT(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),\
39U_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
40
41#define MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP \
42KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
43LGUI_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), \
44LT(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), \
45U_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
46
47#define MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP \
48KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
49LGUI_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), \
50LT(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), \
51U_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
52
53#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP \
54KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
55LGUI_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), \
56LT(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),\
57U_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
58
59#define MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP \
60KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
61LGUI_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), \
62LT(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),\
63U_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
64
65#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP \
66KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
67LGUI_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), \
68LT(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),\
69U_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
70
71#define MIRYOKU_ALTERNATIVES_BASE_AZERTY \
72KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
73LGUI_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), \
74LT(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),\
75U_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
76
77#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15 \
78KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
79LGUI_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), \
80LT(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), \
81U_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
82
83#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK \
84KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
85LGUI_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), \
86LT(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),\
87U_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
88
89#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \
90KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
91LGUI_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), \
92LT(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),\
93U_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
94
95#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK \
96KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
97LGUI_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), \
98LT(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),\
99U_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
100
101#define MIRYOKU_ALTERNATIVES_BASE_DVORAK \
102KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
103LGUI_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), \
104LT(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), \
105U_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
106
107#define MIRYOKU_ALTERNATIVES_BASE_HALMAK \
108KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
109LGUI_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), \
110LT(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), \
111U_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
112
113#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN \
114KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
115LGUI_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), \
116LT(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),\
117U_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
118
119#define MIRYOKU_ALTERNATIVES_BASE_QWERTY \
120KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
121LGUI_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), \
122LT(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),\
123U_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
124
125#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ \
126KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
127LGUI_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), \
128LT(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),\
129U_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
130
131
132#define MIRYOKU_ALTERNATIVES_TAP_AZERTY_FLIP \
133KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
134KC_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_M, \
135KC_W, KC_X, KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, \
136U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
137
138#define MIRYOKU_ALTERNATIVES_TAP_BEAKL15_FLIP \
139KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
140KC_Y, KC_I, KC_E, KC_A, KC_DOT, KC_D, KC_S, KC_T, KC_N, KC_B, \
141KC_J, KC_SLSH, KC_COMM, KC_K, KC_QUOT, KC_W, KC_M, KC_L, KC_P, KC_V, \
142U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
143
144#define MIRYOKU_ALTERNATIVES_TAP_COLEMAK_FLIP \
145KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
146KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, \
147KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
148U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
149
150#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP \
151KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
152KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
153KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
154U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
155
156#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK_FLIP \
157KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
158KC_A, KC_R, KC_S, KC_T, KC_G, KC_K, KC_N, KC_E, KC_I, KC_O, \
159KC_Z, KC_X, KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
160U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
161
162#define MIRYOKU_ALTERNATIVES_TAP_DVORAK_FLIP \
163KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
164KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, \
165KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, \
166U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
167
168#define MIRYOKU_ALTERNATIVES_TAP_HALMAK_FLIP \
169KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
170KC_S, KC_H, KC_N, KC_T, KC_COMM, KC_DOT, KC_A, KC_E, KC_O, KC_I, \
171KC_F, KC_M, KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, KC_K, KC_Y, \
172U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
173
174#define MIRYOKU_ALTERNATIVES_TAP_WORKMAN_FLIP \
175KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
176KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, \
177KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, \
178U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
179
180#define MIRYOKU_ALTERNATIVES_TAP_QWERTY_FLIP \
181KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
182KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
183KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
184U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
185
186#define MIRYOKU_ALTERNATIVES_TAP_QWERTZ_FLIP \
187KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
188KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
189KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
190U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, KC_TAB, KC_SPC, KC_ESC, U_NP, U_NP
191
192#define MIRYOKU_ALTERNATIVES_TAP_AZERTY \
193KC_A, KC_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
194KC_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_M, \
195KC_W, KC_X, KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, \
196U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
197
198#define MIRYOKU_ALTERNATIVES_TAP_BEAKL15 \
199KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, \
200KC_Y, KC_I, KC_E, KC_A, KC_DOT, KC_D, KC_S, KC_T, KC_N, KC_B, \
201KC_J, KC_SLSH, KC_COMM, KC_K, KC_QUOT, KC_W, KC_M, KC_L, KC_P, KC_V, \
202U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
203
204#define MIRYOKU_ALTERNATIVES_TAP_COLEMAK \
205KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
206KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, \
207KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
208U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
209
210#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH \
211KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
212KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
213KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
214U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
215
216#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK \
217KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \
218KC_A, KC_R, KC_S, KC_T, KC_G, KC_K, KC_N, KC_E, KC_I, KC_O, \
219KC_Z, KC_X, KC_C, KC_D, KC_V, KC_M, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
220U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
221
222#define MIRYOKU_ALTERNATIVES_TAP_DVORAK \
223KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
224KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, \
225KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, \
226U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
227
228#define MIRYOKU_ALTERNATIVES_TAP_HALMAK \
229KC_W, KC_L, KC_R, KC_B, KC_Z, KC_QUOT, KC_Q, KC_U, KC_D, KC_J, \
230KC_S, KC_H, KC_N, KC_T, KC_COMM, KC_DOT, KC_A, KC_E, KC_O, KC_I, \
231KC_F, KC_M, KC_V, KC_C, KC_SLSH, KC_G, KC_P, KC_X, KC_K, KC_Y, \
232U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
233
234#define MIRYOKU_ALTERNATIVES_TAP_WORKMAN \
235KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, \
236KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, \
237KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, \
238U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
239
240#define MIRYOKU_ALTERNATIVES_TAP_QWERTY \
241KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
242KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
243KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
244U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
245
246#define MIRYOKU_ALTERNATIVES_TAP_QWERTZ \
247KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, \
248KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
249KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
250U_NP, U_NP, KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
251
252
253#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \
254KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
255KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
256U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_NAV), DF(U_NUM), KC_ALGR, U_NA, \
257U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP
258
259#define MIRYOKU_ALTERNATIVES_NAV_FLIP \
260KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
261KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
262U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_NAV), DF(U_NUM), KC_ALGR, U_NA, \
263U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP
264
265#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT \
266QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, \
267KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, \
268U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
269U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
270
271#define MIRYOKU_ALTERNATIVES_NAV_VI \
272QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
273KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, \
274U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, \
275U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
276
277#define MIRYOKU_ALTERNATIVES_NAV \
278QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
279KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
280U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
281U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP
282
283
284#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \
285KC_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, \
286KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
287U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_MOUSE), DF(U_SYM), KC_ALGR, U_NA, \
288U_NP, U_NP, KC_BTN3, KC_BTN1, KC_BTN2, U_NA, U_NA, U_NA, U_NP, U_NP
289
290#define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \
291KC_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, \
292KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
293U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_MOUSE), DF(U_SYM), KC_ALGR, U_NA, \
294U_NP, U_NP, KC_BTN3, KC_BTN1, KC_BTN2, U_NA, U_NA, U_NA, U_NP, U_NP
295
296#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT \
297QK_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, \
298KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, \
299U_NA, KC_ALGR, DF(U_SYM), DF(U_MOUSE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
300U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP
301
302#define MIRYOKU_ALTERNATIVES_MOUSE_VI \
303QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
304KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, \
305U_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, \
306U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP
307
308#define MIRYOKU_ALTERNATIVES_MOUSE \
309QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
310KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, \
311U_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, \
312U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP
313
314
315#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \
316RGB_HUI, RGB_SAI, KC_VOLU, RGB_VAI, RGB_TOG, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
317RGB_MOD, KC_MPRV, KC_VOLD, KC_MNXT, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
318U_NU, U_NU, U_NU, U_NU, OUT_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \
319U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP
320
321#define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \
322RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
323KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
324U_NU, U_NU, U_NU, U_NU, OUT_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \
325U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP
326
327#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \
328QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_TOG, RGB_MOD, KC_VOLU, RGB_HUI, RGB_SAI, \
329KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MPRV, KC_VOLD, KC_MNXT, RGB_VAI, \
330U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OUT_AUTO, U_NU, U_NU, U_NU, U_NU, \
331U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
332
333#define MIRYOKU_ALTERNATIVES_MEDIA_VI \
334QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, \
335KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, \
336U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, U_NU, U_NU, U_NU, U_NU, OUT_AUTO, \
337U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
338
339#define MIRYOKU_ALTERNATIVES_MEDIA \
340QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \
341KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \
342U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OUT_AUTO, U_NU, U_NU, U_NU, U_NU, \
343U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP
344
345
346#define MIRYOKU_ALTERNATIVES_NUM_FLIP \
347QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, \
348KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_EQL, KC_4, KC_5, KC_6, KC_SCLN, \
349U_NA, KC_ALGR, DF(U_NAV), DF(U_NUM), U_NA, KC_BSLS, KC_1, KC_2, KC_3, KC_GRV, \
350U_NP, U_NP, U_NA, U_NA, U_NA, KC_MINS, KC_0, KC_DOT, U_NP, U_NP
351
352#define MIRYOKU_ALTERNATIVES_NUM \
353KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
354KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
355KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, U_NA, DF(U_NUM), DF(U_NAV), KC_ALGR, U_NA, \
356U_NP, U_NP, KC_DOT, KC_0, KC_MINS, U_NA, U_NA, U_NA, U_NP, U_NP
357
358
359#define MIRYOKU_ALTERNATIVES_SYM_FLIP \
360QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, \
361KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_COLN, \
362U_NA, KC_ALGR, DF(U_MOUSE), DF(U_SYM), U_NA, KC_PIPE, KC_EXLM, KC_AT, KC_HASH, KC_TILD, \
363U_NP, U_NP, U_NA, U_NA, U_NA, KC_UNDS, KC_LPRN, KC_RPRN, U_NP, U_NP
364
365#define MIRYOKU_ALTERNATIVES_SYM \
366KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
367KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
368KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, U_NA, DF(U_SYM), DF(U_MOUSE), KC_ALGR, U_NA, \
369U_NP, U_NP, KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA, U_NA, U_NP, U_NP
370
371
372#define MIRYOKU_ALTERNATIVES_FUN_FLIP \
373QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \
374KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, \
375U_NA, KC_ALGR, DF(U_MEDIA), DF(U_FUN), U_NA, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \
376U_NP, U_NP, U_NA, U_NA, U_NA, KC_TAB, KC_SPC, KC_APP, U_NP, U_NP
377
378#define MIRYOKU_ALTERNATIVES_FUN \
379KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \
380KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
381KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, DF(U_FUN), DF(U_MEDIA), KC_ALGR, U_NA, \
382U_NP, U_NP, KC_APP, KC_SPC, KC_TAB, U_NA, U_NA, U_NA, U_NP, U_NP
383
384
385#define MIRYOKU_ALTERNATIVES_BUTTON \
386U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
387KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NU, U_NU, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \
388U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \
389U_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 @@
1// Copyright 2019 Manna Harbour 1// Copyright 2022 Manna Harbour
2// https://github.com/manna-harbour/miryoku 2// https://github.com/manna-harbour/miryoku
3// generated -*- buffer-read-only: t -*- 3// generated -*- buffer-read-only: t -*-
4 4
5// 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/>. 5// 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/>.
6 6
7#if !defined (MIRYOKU_LAYER_NAMES) 7#pragma once
8 #define MIRYOKU_LAYER_NAMES BASE, BUTTON, NAV, MOUSE, MEDIA, NUM, SYM, FUN 8
9#if !defined (MIRYOKU_LAYER_LIST)
10
11#define MIRYOKU_LAYER_LIST \
12MIRYOKU_X(BASE, "Base") \
13MIRYOKU_X(EXTRA, "Extra") \
14MIRYOKU_X(TAP, "Tap") \
15MIRYOKU_X(BUTTON, "Button") \
16MIRYOKU_X(NAV, "Nav") \
17MIRYOKU_X(MOUSE, "Mouse") \
18MIRYOKU_X(MEDIA, "Media") \
19MIRYOKU_X(NUM, "Num") \
20MIRYOKU_X(SYM, "Sym") \
21MIRYOKU_X(FUN, "Fun")
22
9#endif 23#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 @@
1// Copyright 2019 Manna Harbour
2// https://github.com/manna-harbour/miryoku
3// generated -*- buffer-read-only: t -*-
4
5// 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/>.
6
7#pragma once
8
9#include "miryoku_layer_alternatives.h"
10
11#if !defined(MIRYOKU_LAYER_BASE)
12 #if defined (MIRYOKU_LAYERS_FLIP)
13 #if defined (MIRYOKU_ALPHAS_AZERTY)
14 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
15 #elif defined (MIRYOKU_ALPHAS_BEAKL15)
16 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
17 #elif defined (MIRYOKU_ALPHAS_COLEMAK)
18 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
19 #elif defined (MIRYOKU_ALPHAS_COLEMAKDH)
20 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
21 #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
22 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
23 #elif defined (MIRYOKU_ALPHAS_DVORAK)
24 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
25 #elif defined (MIRYOKU_ALPHAS_HALMAK)
26 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
27 #elif defined (MIRYOKU_ALPHAS_WORKMAN)
28 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
29 #elif defined (MIRYOKU_ALPHAS_QWERTY)
30 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
31 #elif defined (MIRYOKU_ALPHAS_QWERTZ)
32 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
33 #else
34 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
35 #endif
36 #else
37 #if defined (MIRYOKU_ALPHAS_AZERTY)
38 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY
39 #elif defined (MIRYOKU_ALPHAS_BEAKL15)
40 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15
41 #elif defined (MIRYOKU_ALPHAS_COLEMAK)
42 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK
43 #elif defined (MIRYOKU_ALPHAS_COLEMAKDH)
44 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
45 #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
46 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
47 #elif defined (MIRYOKU_ALPHAS_DVORAK)
48 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK
49 #elif defined (MIRYOKU_ALPHAS_HALMAK)
50 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK
51 #elif defined (MIRYOKU_ALPHAS_WORKMAN)
52 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN
53 #elif defined (MIRYOKU_ALPHAS_QWERTY)
54 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY
55 #elif defined (MIRYOKU_ALPHAS_QWERTZ)
56 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ
57 #else
58 #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
59 #endif
60 #endif
61#endif
62#if !defined(MIRYOKU_LAYERMAPPING_BASE)
63 #define MIRYOKU_LAYERMAPPING_BASE MIRYOKU_MAPPING
64#endif
65
66#if !defined(MIRYOKU_LAYER_EXTRA)
67 #if defined (MIRYOKU_LAYERS_FLIP)
68 #if defined (MIRYOKU_EXTRA_AZERTY)
69 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
70 #elif defined (MIRYOKU_EXTRA_BEAKL15)
71 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
72 #elif defined (MIRYOKU_EXTRA_COLEMAK)
73 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
74 #elif defined (MIRYOKU_EXTRA_COLEMAKDH)
75 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
76 #elif defined (MIRYOKU_EXTRA_COLEMAKDHK)
77 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
78 #elif defined (MIRYOKU_EXTRA_DVORAK)
79 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
80 #elif defined (MIRYOKU_EXTRA_HALMAK)
81 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
82 #elif defined (MIRYOKU_EXTRA_WORKMAN)
83 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
84 #elif defined (MIRYOKU_EXTRA_QWERTY)
85 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
86 #elif defined (MIRYOKU_EXTRA_QWERTZ)
87 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
88 #else
89 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
90 #endif
91 #else
92 #if defined (MIRYOKU_EXTRA_AZERTY)
93 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_AZERTY
94 #elif defined (MIRYOKU_EXTRA_BEAKL15)
95 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_BEAKL15
96 #elif defined (MIRYOKU_EXTRA_COLEMAK)
97 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAK
98 #elif defined (MIRYOKU_EXTRA_COLEMAKDH)
99 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
100 #elif defined (MIRYOKU_EXTRA_COLEMAKDHK)
101 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
102 #elif defined (MIRYOKU_EXTRA_DVORAK)
103 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_DVORAK
104 #elif defined (MIRYOKU_EXTRA_HALMAK)
105 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_HALMAK
106 #elif defined (MIRYOKU_EXTRA_WORKMAN)
107 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_WORKMAN
108 #elif defined (MIRYOKU_EXTRA_QWERTY)
109 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY
110 #elif defined (MIRYOKU_EXTRA_QWERTZ)
111 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTZ
112 #else
113 #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY
114 #endif
115 #endif
116#endif
117#if !defined(MIRYOKU_LAYERMAPPING_EXTRA)
118 #define MIRYOKU_LAYERMAPPING_EXTRA MIRYOKU_MAPPING
119#endif
120
121#if !defined(MIRYOKU_LAYER_TAP)
122 #if defined (MIRYOKU_LAYERS_FLIP)
123 #if defined (MIRYOKU_TAP_AZERTY)
124 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_AZERTY_FLIP
125 #elif defined (MIRYOKU_TAP_BEAKL15)
126 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_BEAKL15_FLIP
127 #elif defined (MIRYOKU_TAP_COLEMAK)
128 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAK_FLIP
129 #elif defined (MIRYOKU_TAP_COLEMAKDH)
130 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP
131 #elif defined (MIRYOKU_TAP_COLEMAKDHK)
132 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK_FLIP
133 #elif defined (MIRYOKU_TAP_DVORAK)
134 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_DVORAK_FLIP
135 #elif defined (MIRYOKU_TAP_HALMAK)
136 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_HALMAK_FLIP
137 #elif defined (MIRYOKU_TAP_WORKMAN)
138 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_WORKMAN_FLIP
139 #elif defined (MIRYOKU_TAP_QWERTY)
140 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTY_FLIP
141 #elif defined (MIRYOKU_TAP_QWERTZ)
142 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTZ_FLIP
143 #else
144 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP
145 #endif
146 #else
147 #if defined (MIRYOKU_TAP_AZERTY)
148 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_AZERTY
149 #elif defined (MIRYOKU_TAP_BEAKL15)
150 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_BEAKL15
151 #elif defined (MIRYOKU_TAP_COLEMAK)
152 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAK
153 #elif defined (MIRYOKU_TAP_COLEMAKDH)
154 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH
155 #elif defined (MIRYOKU_TAP_COLEMAKDHK)
156 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK
157 #elif defined (MIRYOKU_TAP_DVORAK)
158 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_DVORAK
159 #elif defined (MIRYOKU_TAP_HALMAK)
160 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_HALMAK
161 #elif defined (MIRYOKU_TAP_WORKMAN)
162 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_WORKMAN
163 #elif defined (MIRYOKU_TAP_QWERTY)
164 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTY
165 #elif defined (MIRYOKU_TAP_QWERTZ)
166 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTZ
167 #else
168 #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH
169 #endif
170 #endif
171#endif
172#if !defined(MIRYOKU_LAYERMAPPING_TAP)
173 #define MIRYOKU_LAYERMAPPING_TAP MIRYOKU_MAPPING
174#endif
175
176#if !defined(MIRYOKU_LAYER_BUTTON)
177 #define MIRYOKU_LAYER_BUTTON MIRYOKU_ALTERNATIVES_BUTTON
178#endif
179#if !defined(MIRYOKU_LAYERMAPPING_BUTTON)
180 #define MIRYOKU_LAYERMAPPING_BUTTON MIRYOKU_MAPPING
181#endif
182
183#if !defined(MIRYOKU_LAYER_NAV)
184 #if defined (MIRYOKU_LAYERS_FLIP)
185 #if defined (MIRYOKU_NAV_INVERTEDT)
186 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP
187 #else
188 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_FLIP
189 #endif
190 #else
191 #if defined (MIRYOKU_NAV_INVERTEDT)
192 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT
193 #elif defined (MIRYOKU_NAV_VI)
194 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_VI
195 #else
196 #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV
197 #endif
198 #endif
199#endif
200#if !defined(MIRYOKU_LAYERMAPPING_NAV)
201 #define MIRYOKU_LAYERMAPPING_NAV MIRYOKU_MAPPING
202#endif
203
204#if !defined(MIRYOKU_LAYER_MOUSE)
205 #if defined (MIRYOKU_LAYERS_FLIP)
206 #if defined (MIRYOKU_NAV_INVERTEDT)
207 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP
208 #else
209 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_FLIP
210 #endif
211 #else
212 #if defined (MIRYOKU_NAV_INVERTEDT)
213 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT
214 #elif defined (MIRYOKU_NAV_VI)
215 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_VI
216 #else
217 #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE
218 #endif
219 #endif
220#endif
221#if !defined(MIRYOKU_LAYERMAPPING_MOUSE)
222 #define MIRYOKU_LAYERMAPPING_MOUSE MIRYOKU_MAPPING
223#endif
224
225#if !defined(MIRYOKU_LAYER_MEDIA)
226 #if defined (MIRYOKU_LAYERS_FLIP)
227 #if defined (MIRYOKU_NAV_INVERTEDT)
228 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP
229 #else
230 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_FLIP
231 #endif
232 #else
233 #if defined (MIRYOKU_NAV_INVERTEDT)
234 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT
235 #elif defined (MIRYOKU_NAV_VI)
236 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_VI
237 #else
238 #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA
239 #endif
240 #endif
241#endif
242#if !defined(MIRYOKU_LAYERMAPPING_MEDIA)
243 #define MIRYOKU_LAYERMAPPING_MEDIA MIRYOKU_MAPPING
244#endif
245
246#if !defined(MIRYOKU_LAYER_NUM)
247 #if defined (MIRYOKU_LAYERS_FLIP)
248 #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM_FLIP
249 #else
250 #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM
251 #endif
252#endif
253#if !defined(MIRYOKU_LAYERMAPPING_NUM)
254 #define MIRYOKU_LAYERMAPPING_NUM MIRYOKU_MAPPING
255#endif
256
257#if !defined(MIRYOKU_LAYER_SYM)
258 #if defined (MIRYOKU_LAYERS_FLIP)
259 #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM_FLIP
260 #else
261 #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM
262 #endif
263#endif
264#if !defined(MIRYOKU_LAYERMAPPING_SYM)
265 #define MIRYOKU_LAYERMAPPING_SYM MIRYOKU_MAPPING
266#endif
267
268#if !defined(MIRYOKU_LAYER_FUN)
269 #if defined (MIRYOKU_LAYERS_FLIP)
270 #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN_FLIP
271 #else
272 #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN
273 #endif
274#endif
275#if !defined(MIRYOKU_LAYERMAPPING_FUN)
276 #define MIRYOKU_LAYERMAPPING_FUN MIRYOKU_MAPPING
277#endif
diff --git a/users/manna-harbour_miryoku/post_rules.mk b/users/manna-harbour_miryoku/post_rules.mk
index 8fece85e66..e4f1806bf5 100644
--- a/users/manna-harbour_miryoku/post_rules.mk
+++ b/users/manna-harbour_miryoku/post_rules.mk
@@ -1,34 +1,39 @@
1# Copyright 2019 Manna Harbour 1# Copyright 2022 Manna Harbour
2# https://github.com/manna-harbour/miryoku 2# https://github.com/manna-harbour/miryoku
3 3
4# alternative layouts: 4# alternative layout options
5 5
6# alphas
7ifneq ($(strip $(MIRYOKU_ALPHAS)),) 6ifneq ($(strip $(MIRYOKU_ALPHAS)),)
8 OPT_DEFS += -DMIRYOKU_ALPHAS_$(MIRYOKU_ALPHAS) 7 OPT_DEFS += -DMIRYOKU_ALPHAS_$(MIRYOKU_ALPHAS)
9endif 8endif
10 9
11# nav 10ifneq ($(strip $(MIRYOKU_EXTRA)),)
11 OPT_DEFS += -DMIRYOKU_EXTRA_$(MIRYOKU_EXTRA)
12endif
13
14ifneq ($(strip $(MIRYOKU_TAP)),)
15 OPT_DEFS += -DMIRYOKU_TAP_$(MIRYOKU_TAP)
16endif
17
12ifneq ($(strip $(MIRYOKU_NAV)),) 18ifneq ($(strip $(MIRYOKU_NAV)),)
13 OPT_DEFS += -DMIRYOKU_NAV_$(MIRYOKU_NAV) 19 OPT_DEFS += -DMIRYOKU_NAV_$(MIRYOKU_NAV)
14endif 20endif
15 21
16# clipboard
17ifneq ($(strip $(MIRYOKU_CLIPBOARD)),) 22ifneq ($(strip $(MIRYOKU_CLIPBOARD)),)
18 OPT_DEFS += -DMIRYOKU_CLIPBOARD_$(MIRYOKU_CLIPBOARD) 23 OPT_DEFS += -DMIRYOKU_CLIPBOARD_$(MIRYOKU_CLIPBOARD)
19endif 24endif
20 25
21# layers
22ifneq ($(strip $(MIRYOKU_LAYERS)),) 26ifneq ($(strip $(MIRYOKU_LAYERS)),)
23 OPT_DEFS += -DMIRYOKU_LAYERS_$(MIRYOKU_LAYERS) 27 OPT_DEFS += -DMIRYOKU_LAYERS_$(MIRYOKU_LAYERS)
24endif 28endif
25 29
26# subset mappings 30# subset mappings
31
27ifneq ($(strip $(MIRYOKU_MAPPING)),) 32ifneq ($(strip $(MIRYOKU_MAPPING)),)
28 OPT_DEFS += -DMIRYOKU_MAPPING_$(MIRYOKU_MAPPING) 33 OPT_DEFS += -DMIRYOKU_MAPPING_$(MIRYOKU_MAPPING)
29endif 34endif
30 35
31# kludges: 36# kludges
32 37
33# thumb combos 38# thumb combos
34ifeq ($(strip $(MIRYOKU_KLUDGE_THUMBCOMBOS)),yes) 39ifeq ($(strip $(MIRYOKU_KLUDGE_THUMBCOMBOS)),yes)
diff --git a/users/manna-harbour_miryoku/readme.org b/users/manna-harbour_miryoku/readme.org
index 9e3e587240..0adc414e36 100644
--- a/users/manna-harbour_miryoku/readme.org
+++ b/users/manna-harbour_miryoku/readme.org
@@ -3,36 +3,41 @@
3 3
4* Miryoku QMK [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]] 4* Miryoku QMK [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]]
5 5
6[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover.png]] 6[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover-miryoku_qmk.png]]
7 7
8[[https://github.com/manna-harbour/miryoku/][Miryoku]] is an ergonomic, minimal, orthogonal, and universal keyboard layout. [[https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku][Miryoku QMK]] is the Miryoku implementation for [[https://qmk.fm][QMK]]. 8[[https://github.com/manna-harbour/miryoku/][Miryoku]] is an ergonomic, minimal, orthogonal, and universal keyboard layout. [[https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku][Miryoku QMK]] is the Miryoku implementation for [[https://qmk.fm][QMK]].
9 9
10
10** Branches 11** Branches
11 12
12 13
13*** QMK master 14*** QMK master
14 15
15Miryoku QMK is periodically merged upstream into QMK master and it is generally recommended to build directly from QMK master. 16QMK master is the current version of QMK, but usually does not contain the current version of Miryoku QMK.
16 17
17QMK master is at https://github.com/qmk/qmk_firmware/tree/master, and the corresponding Miryoku QMK readme is at https://github.com/qmk/qmk_firmware/tree/master/users/manna-harbour_miryoku. 18QMK master is at https://github.com/qmk/qmk_firmware/tree/master. The corresponding Miryoku QMK readme is at https://github.com/qmk/qmk_firmware/tree/master/users/manna-harbour_miryoku and describes the version of Miryoku QMK in QMK master.
18 19
19 20
20*** Miryoku QMK development branch 21*** Miryoku QMK development branch
21 22
22The Miryoku QMK development branch is ~miryoku~ and may contain new commits not yet merged into QMK master. 23The Miryoku QMK development branch is the current version of Miryoku QMK, but usually does not contain the current version of QMK.
23 24
24~miryoku~ is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku, and the corresponding Miryoku QMK readme is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku. 25The Miryoku QMK development branch is named ~miryoku~ and is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku. The corresponding Miryoku QMK readme is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku.
25 26
26New commits can be seen at the top of the [[https://github.com/manna-harbour/miryoku_qmk/commits/miryoku][history]] with commit messages beginning ~[miryoku]~. After the new commits are squashed and merged upstream into QMK master by pull request the ~miryoku~ branch is renamed and a new ~miryoku~ branch is created from QMK master. 27New commits can be seen at the top of the [[https://github.com/manna-harbour/miryoku_qmk/commits/miryoku][history]] with commit messages beginning ~[miryoku]~ or ~[miryoku-github]~
27 28
28To checkout the ~miryoku~ branch in your existing QMK build environment: 29Periodically, the ~[miryoku]~ commits are squashed and merged upstream into QMK master by pull request, the ~miryoku~ branch is renamed, and a new ~miryoku~ branch is created from QMK master.
29#+BEGIN_SRC sh :tangle no 30
30git remote add miryoku_qmk git@github.com:manna-harbour/miryoku_qmk.git # if using SSH 31
31git remote add miryoku_qmk https://github.com/manna-harbour/miryoku_qmk.git # if using HTTPS 32**** Merge
32git fetch miryoku_qmk 33
33git checkout --track miryoku_qmk/miryoku 34To use both the current versions of QMK and Miryoku QMK together, the QMK master and ~miryoku~ branches need to be merged.
34#+END_SRC
35 35
36The ~[miryoku-github]~ commits relate to GitHub specific functions of the Miryoku QMK repository and forks, such as workflows. Directly merging ~miryoku~ with a branch based on QMK master will lead to conflicts due to those commits. To avoid conflicts, first drop or revert all ~[miryoku-github]~ commits from ~miryoku~ before merging.
37
38Merging branches can be performed automatically at build time for [[#workflow-builds][workflow builds]] using the ~merge~ option, which will automatically revert all ~[miryoku-github]~ commits before merging. For local builds, see [[#checkout-update-and-merge][Checkout, Update, and Merge]] below.
39
40Any local changes to existing workflow files should be made independently in commits with messages starting ~[miryoku-github]~ so that they can also be automatically excluded in workflow builds.
36 41
37** Building 42** Building
38 43
@@ -41,7 +46,52 @@ git checkout --track miryoku_qmk/miryoku
41 46
42First [[https://docs.qmk.fm/#/newbs_getting_started][set up the QMK build environment and build the default keymap for your keyboard]]. 47First [[https://docs.qmk.fm/#/newbs_getting_started][set up the QMK build environment and build the default keymap for your keyboard]].
43 48
44Build with ~manna-harbour_miryoku~ as the keymap name. Customised defaults for [[https://github.com/manna-harbour/miryoku/tree/master/docs/reference#alternative-layouts][alternative layout]] options can be set in [[#userspace][custom_rules.mk]]. Options can also be set or overridden at build time. 49Next choose the [[#branches][branch]]. If using ~miryoku~, [[#checkout-update-and-merge][checkout, update, or merge]] as needed.
50
51Build with ~manna-harbour_miryoku~ as the keymap name. Personalised defaults for [[https://github.com/manna-harbour/miryoku/tree/master/docs/reference#alternative-layouts][alternative layout]] options can be set in [[#userspace][custom_rules.mk]]. Options can also be set or overridden at build time. Build with [[#qmk][qmk]] or [[#make][make]].
52
53
54**** Checkout, Update, and Merge
55
56All of the following examples operate in your existing QMK build environment.
57#+BEGIN_SRC sh :tangle no
58cd qmk_firmware
59#+END_SRC
60
61To checkout the ~miryoku~ branch from Miryoku QMK:
62#+BEGIN_SRC sh :tangle no
63git remote add miryoku_qmk git@github.com:manna-harbour/miryoku_qmk.git # if using SSH
64git remote add miryoku_qmk https://github.com/manna-harbour/miryoku_qmk.git # if using HTTPS
65git fetch miryoku_qmk
66git checkout --track miryoku_qmk/miryoku
67make git-submodule
68#+END_SRC
69
70To update the ~miryoku~ branch from Miryoku QMK:
71#+BEGIN_SRC sh :tangle no
72git checkout miryoku
73git fetch miryoku_qmk
74git merge miryoku_qmk/miryoku
75#+END_SRC
76
77If a new ~miryoku~ branch has been created in Miryoku QMK you will see ~(forced update)~ after the fetch. To rename the existing ~miryoku~ branch and create a new ~miryoku~ branch from Miryoku QMK:
78#+BEGIN_SRC sh :tangle no
79git checkout miryoku
80git branch -m miryoku-`whoami`-`date --rfc-3339=date`
81git fetch miryoku_qmk
82git checkout --track miryoku_qmk/miryoku
83make git-submodule
84#+END_SRC
85
86To [[#merge][merge]] the ~miryoku~ branch with QMK master:
87#+BEGIN_SRC sh :tangle no
88git checkout miryoku
89git checkout -b miryoku-merge-master
90git revert --no-edit `git log --grep='^\[miryoku-github\]' --pretty='format:%H' | tr '\n' ' '`
91git fetch origin
92git merge origin/master
93make git-submodule
94#+END_SRC
45 95
46 96
47**** qmk 97**** qmk
@@ -51,7 +101,13 @@ Build with the ~qmk~ command. E.g.
51#+BEGIN_SRC sh :tangle no 101#+BEGIN_SRC sh :tangle no
52qmk compile -c -kb crkbd -km manna-harbour_miryoku # build for crkbd 102qmk compile -c -kb crkbd -km manna-harbour_miryoku # build for crkbd
53qmk flash -c -kb crkbd -km manna-harbour_miryoku # build for crkbd and flash 103qmk flash -c -kb crkbd -km manna-harbour_miryoku # build for crkbd and flash
54qmk compile -c -kb crkbd -km manna-harbour_miryoku -e MIRYOKU_ALPHAS=QWERTY -e MIRYOKU_NAV=INVERTEDT -e MIRYOKU_CLIPBOARD=WIN -e MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts 104qmk compile -c -kb crkbd -km manna-harbour_miryoku \
105 -e MIRYOKU_ALPHAS=QWERTY \
106 -e MIRYOKU_EXTRA=COLEMAKDH \
107 -e MIRYOKU_TAP=QWERTY \
108 -e MIRYOKU_NAV=INVERTEDT \
109 -e MIRYOKU_CLIPBOARD=WIN \
110 -e MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
55#+END_SRC 111#+END_SRC
56 112
57 113
@@ -62,7 +118,13 @@ First ~cd~ to the repository root. Then build with ~make~. E.g.
62#+BEGIN_SRC sh :tangle no 118#+BEGIN_SRC sh :tangle no
63make clean crkbd:manna-harbour_miryoku # build for crkbd 119make clean crkbd:manna-harbour_miryoku # build for crkbd
64make clean crkbd:manna-harbour_miryoku:flash # build for crkbd and flash 120make clean crkbd:manna-harbour_miryoku:flash # build for crkbd and flash
65make clean crkbd:manna-harbour_miryoku MIRYOKU_ALPHAS=QWERTY MIRYOKU_NAV=INVERTEDT MIRYOKU_CLIPBOARD=WIN MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts 121make clean crkbd:manna-harbour_miryoku \
122 MIRYOKU_ALPHAS=QWERTY \
123 MIRYOKU_EXTRA=COLEMAKDH \
124 MIRYOKU_TAP=QWERTY \
125 MIRYOKU_NAV=INVERTEDT \
126 MIRYOKU_CLIPBOARD=WIN \
127 MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
66#+END_SRC 128#+END_SRC
67 129
68 130
@@ -70,13 +132,22 @@ make clean crkbd:manna-harbour_miryoku MIRYOKU_ALPHAS=QWERTY MIRYOKU_NAV=INVERTE
70 132
71Firmware can be built via GitHub Actions workflows without use of a local build environment. Local tools are still required for [[https://docs.qmk.fm/#/newbs_flashing][flashing]]. 133Firmware can be built via GitHub Actions workflows without use of a local build environment. Local tools are still required for [[https://docs.qmk.fm/#/newbs_flashing][flashing]].
72 134
73First log in to GitHub, fork the [[#miryoku-qmk-development-branch][Miryoku QMK development branch]] repository, and enable workflows. 135First [[#fork-or-sync][fork the Miryoku QMK repository or sync the ~miryoku~ branch]]. Then use the [[#build-examples][Build Examples]] or [[#build-inputs][Build Inputs]] workflows.
74 136
75To access a workflow, visit the Actions tab and select the workflow. To download the firmware from a workflow run, select the workflow, select the workflow run, select the desired Artifacts, and unzip the downloaded zip file. 137To access a workflow, visit the Actions tab and select the workflow. To download the firmware from a workflow run, select the workflow, select the workflow run, select the desired Artifacts, and unzip the downloaded zip file.
76 138
77Workflow files are in [[../../.github/workflows]]. 139Workflow files are in [[../../.github/workflows]].
78 140
79 141
142**** Fork or Sync
143
144If you don't have a fork, first [[https://github.com/signup][create a GitHub account]], [[https://github.com/login][login to GitHub]], [[https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository][fork]] https://github.com/manna-harbour/miryoku_qmk, and visit the Actions tab and enable workflows.
145
146If you already have a fork, [[https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-branch-from-the-web-ui][sync]] the ~miryoku~ branch.
147
148If a new ~miryoku~ branch has been created in Miryoku QMK, there will be a warning about conflicts when trying to sync. If you have local changes, first create a copy of the branch by [[https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository#creating-a-branch][creating a new branch]] and specifying the ~miryoku~ branch in your fork as the source, then sync the ~miryoku~ branch again. Accept the prompt to discard commits.
149
150
80**** Build Examples 151**** Build Examples
81 152
82Copy one of the included Build Example workflow files, edit the ~name~ value, and edit and add options and values as desired. Select Run workflow, select the Branch if desired, and activate Run workflow. 153Copy one of the included Build Example workflow files, edit the ~name~ value, and edit and add options and values as desired. Select Run workflow, select the Branch if desired, and activate Run workflow.
@@ -91,7 +162,9 @@ The ~keyboard~ option specifies the keyboard and is required. All other options
91 162
92The ~alphas~, ~nav~, ~clipboard~, and ~layers~ options correspond to the [[https://github.com/manna-harbour/miryoku/tree/master/docs/reference#alternative-layouts][alternative layout]] options. The ~mapping~ option corresponds to the alternative [[#subset-mapping][mapping]] options. Alternative layout and mapping options are given in the documentation in the form ~MIRYOKU_OPTION=VALUE~. To use here, convert to the form specified above. Use ~default~ to represent the default value. Values for these five options are case-insensitive. See the [[../../.github/workflows/test-all-configs.yml][Test All Configs workflow file]] for all supported values. 163The ~alphas~, ~nav~, ~clipboard~, and ~layers~ options correspond to the [[https://github.com/manna-harbour/miryoku/tree/master/docs/reference#alternative-layouts][alternative layout]] options. The ~mapping~ option corresponds to the alternative [[#subset-mapping][mapping]] options. Alternative layout and mapping options are given in the documentation in the form ~MIRYOKU_OPTION=VALUE~. To use here, convert to the form specified above. Use ~default~ to represent the default value. Values for these five options are case-insensitive. See the [[../../.github/workflows/test-all-configs.yml][Test All Configs workflow file]] for all supported values.
93 164
94The ~rules~ and ~config~ options can be used to specify values to be appended to ~custom_rules.mk~ and ~custom_config.h~, respectively. Separate multiple lines with ~\n~. 165The ~rules~ and ~custom_config~ options can be used to specify values to be appended to ~custom_rules.mk~ and ~custom_config.h~, respectively. Separate multiple lines with ~\n~.
166
167The ~merge~ option can be used to merge branches at build time. Branches are specified in the form ~<user>/<repo>/<branch>~. E.g. QMK ~master~ and ~develop~ would be specified as ~qmk/qmk_firmware/master~ and ~qmk/qmk_firmware/develop~ respectively. Multiple space separated branches can be specified. For no merges, leave as ~default~.
95 168
96 169
97**** Build Inputs 170**** Build Inputs
@@ -106,6 +179,8 @@ The ~Miryoku Alphas~, ~Miryoku Nav~, ~Miryoku Clipboard~, and ~Miryoku Layers~ o
106 179
107The ~custom_rules.mk~ and ~custom_config.h~ options can be used to specify values to be appended to the corresponding files. Join multiple lines with ~\n~. 180The ~custom_rules.mk~ and ~custom_config.h~ options can be used to specify values to be appended to the corresponding files. Join multiple lines with ~\n~.
108 181
182The ~Merge QMK Branches~ option can be used to merge branches at build time. Branches are specified in the form ~<user>/<repo>/<branch>~. E.g. QMK ~master~ and ~develop~ would be specified as ~qmk/qmk_firmware/master~ and ~qmk/qmk_firmware/develop~ respectively. Multiple space separated branches can be specified. For no merges, leave as ~default~.
183
109 184
110** Subset Mapping 185** Subset Mapping
111 186
@@ -122,13 +197,13 @@ thumb keys.
122 197
123- [[./rules.mk]] :: Build options. Automatically included. 198- [[./rules.mk]] :: Build options. Automatically included.
124 199
125- [[./custom_rules.mk]] :: Custom ~make~ options including customised defaults for alternative layout options, for local builds. Included from ~rules.mk~. 200- [[./custom_rules.mk]] :: Custom ~make~ options including customised defaults for alternative layout and mapping options. Included from ~rules.mk~.
126 201
127- [[./post_rules.mk]] :: Handles Miryoku ~make~ options. Included from ~rules.mk~. 202- [[./post_rules.mk]] :: Handles Miryoku ~make~ options. Included from ~rules.mk~.
128 203
129- [[./config.h]] :: Config options. Automatically included. 204- [[./config.h]] :: Config options. Automatically included.
130 205
131- [[./custom_config.h]] :: Custom config options for local builds. Included from ~config.h~. 206- [[./custom_config.h]] :: Custom config options. Included from ~config.h~.
132 207
133- [[./manna-harbour_miryoku.h]] :: Keymap-related definitions. Included from ~manna-harbour_miryoku.c~. Layer data is generated by [[https://github.com/manna-harbour/miryoku_babel][Miryoku Babel]] and is included from files in the [[miryoku_babel]] directory. 208- [[./manna-harbour_miryoku.h]] :: Keymap-related definitions. Included from ~manna-harbour_miryoku.c~. Layer data is generated by [[https://github.com/manna-harbour/miryoku_babel][Miryoku Babel]] and is included from files in the [[miryoku_babel]] directory.
134 209
@@ -500,6 +575,17 @@ make handwired/dactyl_manuform/4x5:manna-harbour_miryoku:flash
500#+END_SRC 575#+END_SRC
501 576
502 577
578**** handwired/dactyl_manuform/4x6
579
580Only the main 5x3 alphas and the main 3 thumb keys are used.
581
582To build for this keyboard,
583
584#+BEGIN_SRC sh :tangle no
585make handwired/dactyl_manuform/4x6:manna-harbour_miryoku:flash
586#+END_SRC
587
588
503**** handwired/dactyl_manuform/5x6 589**** handwired/dactyl_manuform/5x6
504 590
505Only the main 5x3 alphas and the main 3 thumb keys are used. 591Only the main 5x3 alphas and the main 3 thumb keys are used.
@@ -542,6 +628,17 @@ make keyboardio/atreus:manna-harbour_miryoku:flash
542#+END_SRC 628#+END_SRC
543 629
544 630
631**** keyboardio/model01
632
633Only the main 5x3 alphas and the inner 3 thumb keys are used.
634
635To build for this keyboard,
636
637#+BEGIN_SRC sh :tangle no
638make keyboardio/model01:manna-harbour_miryoku:flash
639#+END_SRC
640
641
545**** lily58 642**** lily58
546 643
547Only the main 5x3 alphas and the inner 3 thumb keys are used. 644Only the main 5x3 alphas and the inner 3 thumb keys are used.
@@ -588,6 +685,15 @@ make redox_w:manna-harbour_miryoku:flash
588#+END_SRC 685#+END_SRC
589 686
590 687
688**** satt/vision
689
690To build for this keyboard,
691
692#+BEGIN_SRC sh :tangle no
693make satt/vision:manna-harbour_miryoku:flash
694#+END_SRC
695
696
591**** sofle 697**** sofle
592 698
593To build for this keyboard, 699To build for this keyboard,
@@ -647,6 +753,16 @@ Combo the primary and secondary thumb keys to emulate the tertiary thumb key. C
647- [[https://github.com/manna-harbour/qmk_firmware/issues/33][Retro Shift]] 753- [[https://github.com/manna-harbour/qmk_firmware/issues/33][Retro Shift]]
648 754
649 755
756*** 𝑥MK
757
758Use Miryoku QMK with any keyboard with [[https://github.com/manna-harbour/xmk][𝑥MK]].
759
760For [[#local-builds][local builds]], merge https://github.com/manna-harbour/qmk_firmware/tree/xmk and build for keyboard ~converter/xmk~.
761
762For [[#workflow-builds][workflow builds]], use the Build Inputs workflow and build with keyboard ~converter/xmk~ and merge ~manna-harbour/qmk_firmware/xmk~, or use the Build Example 𝑥MK workflow.
763
764Also see [[https://github.com/manna-harbour/miryoku_kmonad][Miryoku KMonad]].
765
650** 766**
651 767
652[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]] 768[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]]