Merge remote-tracking branch 'upstream/master' into develop
This commit is contained in:
		
						commit
						9d717c85dc
					
				
					 132 changed files with 4242 additions and 6082 deletions
				
			
		| 
						 | 
				
			
			@ -5,6 +5,8 @@
 | 
			
		|||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "custom_config.h"
 | 
			
		||||
 | 
			
		||||
// default but used in macros
 | 
			
		||||
#undef TAPPING_TERM
 | 
			
		||||
#define TAPPING_TERM 200
 | 
			
		||||
| 
						 | 
				
			
			@ -39,5 +41,3 @@
 | 
			
		|||
  #define EXTRA_SHORT_COMBOS
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "custom_config.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
// Copyright 2019 Manna Harbour
 | 
			
		||||
// Copyright 2022 Manna Harbour
 | 
			
		||||
// https://github.com/manna-harbour/miryoku
 | 
			
		||||
 | 
			
		||||
// 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 @@
 | 
			
		|||
 | 
			
		||||
#include "manna-harbour_miryoku.h"
 | 
			
		||||
 | 
			
		||||
enum layers { MIRYOKU_LAYER_NAMES };
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
  [BASE]   = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_BASE),
 | 
			
		||||
  [NAV]    = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_NAV),
 | 
			
		||||
  [MOUSE]  = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_MOUSE),
 | 
			
		||||
  [MEDIA]  = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_MEDIA),
 | 
			
		||||
  [NUM]    = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_NUM),
 | 
			
		||||
  [SYM]    = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_SYM),
 | 
			
		||||
  [FUN]    = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_FUN),
 | 
			
		||||
  [BUTTON] = U_MACRO_VA_ARGS(LAYOUT_miryoku, MIRYOKU_LAYER_BUTTON)
 | 
			
		||||
#define MIRYOKU_X(LAYER, STRING) [U_##LAYER] = U_MACRO_VA_ARGS(MIRYOKU_LAYERMAPPING_##LAYER, MIRYOKU_LAYER_##LAYER),
 | 
			
		||||
MIRYOKU_LAYER_LIST
 | 
			
		||||
#undef MIRYOKU_X
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#if defined (MIRYOKU_KLUDGE_THUMBCOMBOS)
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_base_right[] = {LT(SYM, KC_ENT), LT(NUM, KC_BSPC), COMBO_END};
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_base_left[] = {LT(NAV, KC_SPC), LT(MOUSE, KC_TAB), COMBO_END};
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_base_right[] = {LT(U_SYM, KC_ENT), LT(U_NUM, KC_BSPC), COMBO_END};
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_base_left[] = {LT(U_NAV, KC_SPC), LT(U_MOUSE, KC_TAB), COMBO_END};
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_nav[] = {KC_ENT, KC_BSPC, COMBO_END};
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_mouse[] = {KC_BTN1, KC_BTN3, COMBO_END};
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_mouse[] = {KC_BTN2, KC_BTN1, COMBO_END};
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_media[] = {KC_MSTP, KC_MPLY, COMBO_END};
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_num[] = {KC_0, KC_MINS, COMBO_END};
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
| 
						 | 
				
			
			@ -34,10 +27,10 @@ const uint16_t PROGMEM thumbcombos_sym[] = {KC_RPRN, KC_UNDS, COMBO_END};
 | 
			
		|||
  #endif
 | 
			
		||||
const uint16_t PROGMEM thumbcombos_fun[] = {KC_SPC, KC_TAB, COMBO_END};
 | 
			
		||||
combo_t key_combos[COMBO_COUNT] = {
 | 
			
		||||
  COMBO(thumbcombos_base_right, LT(FUN, KC_DEL)),
 | 
			
		||||
  COMBO(thumbcombos_base_left, LT(MEDIA, KC_ESC)),
 | 
			
		||||
  COMBO(thumbcombos_base_right, LT(U_FUN, KC_DEL)),
 | 
			
		||||
  COMBO(thumbcombos_base_left, LT(U_MEDIA, KC_ESC)),
 | 
			
		||||
  COMBO(thumbcombos_nav, KC_DEL),
 | 
			
		||||
  COMBO(thumbcombos_mouse, KC_BTN2),
 | 
			
		||||
  COMBO(thumbcombos_mouse, KC_BTN3),
 | 
			
		||||
  COMBO(thumbcombos_media, KC_MUTE),
 | 
			
		||||
  COMBO(thumbcombos_num, KC_DOT),
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,15 +1,25 @@
 | 
			
		|||
// Copyright 2019 Manna Harbour
 | 
			
		||||
// Copyright 2022 Manna Harbour
 | 
			
		||||
// https://github.com/manna-harbour/miryoku
 | 
			
		||||
 | 
			
		||||
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "miryoku_babel/miryoku_layer_names.h"
 | 
			
		||||
#include "miryoku_babel/miryoku_layer.h"
 | 
			
		||||
#include "miryoku_babel/miryoku_layer_selection.h"
 | 
			
		||||
#include "miryoku_babel/miryoku_layer_list.h"
 | 
			
		||||
 | 
			
		||||
enum miryoku_layers {
 | 
			
		||||
#define MIRYOKU_X(LAYER, STRING) U_##LAYER,
 | 
			
		||||
MIRYOKU_LAYER_LIST
 | 
			
		||||
#undef MIRYOKU_X
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define U_MACRO_VA_ARGS(macro, ...) macro(__VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
#if !defined (MIRYOKU_MAPPING)
 | 
			
		||||
  #define MIRYOKU_MAPPING LAYOUT_miryoku
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define U_NP KC_NO // key is not present
 | 
			
		||||
#define U_NA KC_NO // present but not available for use
 | 
			
		||||
#define U_NU KC_NO // available but not used
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,267 +0,0 @@
 | 
			
		|||
// Copyright 2019 Manna Harbour
 | 
			
		||||
// https://github.com/manna-harbour/miryoku
 | 
			
		||||
// generated -*- buffer-read-only: t -*-
 | 
			
		||||
// target: qmk
 | 
			
		||||
 | 
			
		||||
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP \
 | 
			
		||||
KC_A,              KC_Z,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_Q),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_M),      \
 | 
			
		||||
LT(BUTTON, KC_W),  ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_COMM,           KC_DOT,            ALGR_T(KC_SLSH),   LT(BUTTON, KC_QUOT), \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP \
 | 
			
		||||
KC_Q,              KC_H,              KC_O,              KC_U,              KC_X,              KC_G,              KC_C,              KC_R,              KC_F,              KC_Z,              \
 | 
			
		||||
LGUI_T(KC_Y),      LALT_T(KC_I),      LCTL_T(KC_E),      LSFT_T(KC_A),      KC_DOT,            KC_D,              LSFT_T(KC_S),      LCTL_T(KC_T),      LALT_T(KC_N),      LGUI_T(KC_B),      \
 | 
			
		||||
LT(BUTTON, KC_J),  ALGR_T(KC_SLSH),   KC_COMM,           KC_K,              KC_QUOT,           KC_W,              KC_M,              KC_L,              ALGR_T(KC_P),      LT(BUTTON, KC_V),  \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_G,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_D,              KC_H,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_K,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_G,              KC_M,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_G,              KC_K,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_M,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP \
 | 
			
		||||
KC_QUOT,           KC_COMM,           KC_DOT,            KC_P,              KC_Y,              KC_F,              KC_G,              KC_C,              KC_R,              KC_L,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_O),      LCTL_T(KC_E),      LSFT_T(KC_U),      KC_I,              KC_D,              LSFT_T(KC_H),      LCTL_T(KC_T),      LALT_T(KC_N),      LGUI_T(KC_S),      \
 | 
			
		||||
LT(BUTTON, KC_SLSH), ALGR_T(KC_Q),      KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              ALGR_T(KC_V),      LT(BUTTON, KC_Z),  \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP \
 | 
			
		||||
KC_W,              KC_L,              KC_R,              KC_B,              KC_Z,              KC_QUOT,           KC_Q,              KC_U,              KC_D,              KC_J,              \
 | 
			
		||||
LGUI_T(KC_S),      LALT_T(KC_H),      LCTL_T(KC_N),      LSFT_T(KC_T),      KC_COMM,           KC_DOT,            LSFT_T(KC_A),      LCTL_T(KC_E),      LALT_T(KC_O),      LGUI_T(KC_I),      \
 | 
			
		||||
LT(BUTTON, KC_F),  ALGR_T(KC_M),      KC_V,              KC_C,              KC_SLSH,           KC_G,              KC_P,              KC_X,              ALGR_T(KC_K),      LT(BUTTON, KC_Y),  \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP \
 | 
			
		||||
KC_Q,              KC_D,              KC_R,              KC_W,              KC_B,              KC_J,              KC_F,              KC_U,              KC_P,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_H),      LSFT_T(KC_T),      KC_G,              KC_Y,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_O),      LGUI_T(KC_I),      \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_M,              KC_C,              KC_V,              KC_K,              KC_L,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_QUOT),   \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Z,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_QUOT),   \
 | 
			
		||||
LT(BUTTON, KC_Y),  ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(FUN, KC_DEL),   LT(NUM, KC_BSPC),  LT(SYM, KC_ENT),   LT(MOUSE, KC_TAB), LT(NAV, KC_SPC),   LT(MEDIA, KC_ESC), U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_AZERTY \
 | 
			
		||||
KC_A,              KC_Z,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_Q),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_M),      \
 | 
			
		||||
LT(BUTTON, KC_W),  ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_COMM,           KC_DOT,            ALGR_T(KC_SLSH),   LT(BUTTON, KC_QUOT), \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15 \
 | 
			
		||||
KC_Q,              KC_H,              KC_O,              KC_U,              KC_X,              KC_G,              KC_C,              KC_R,              KC_F,              KC_Z,              \
 | 
			
		||||
LGUI_T(KC_Y),      LALT_T(KC_I),      LCTL_T(KC_E),      LSFT_T(KC_A),      KC_DOT,            KC_D,              LSFT_T(KC_S),      LCTL_T(KC_T),      LALT_T(KC_N),      LGUI_T(KC_B),      \
 | 
			
		||||
LT(BUTTON, KC_J),  ALGR_T(KC_SLSH),   KC_COMM,           KC_K,              KC_QUOT,           KC_W,              KC_M,              KC_L,              ALGR_T(KC_P),      LT(BUTTON, KC_V),  \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_G,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_D,              KC_H,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_K,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_G,              KC_M,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_G,              KC_K,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_M,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_DVORAK \
 | 
			
		||||
KC_QUOT,           KC_COMM,           KC_DOT,            KC_P,              KC_Y,              KC_F,              KC_G,              KC_C,              KC_R,              KC_L,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_O),      LCTL_T(KC_E),      LSFT_T(KC_U),      KC_I,              KC_D,              LSFT_T(KC_H),      LCTL_T(KC_T),      LALT_T(KC_N),      LGUI_T(KC_S),      \
 | 
			
		||||
LT(BUTTON, KC_SLSH), ALGR_T(KC_Q),      KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              ALGR_T(KC_V),      LT(BUTTON, KC_Z),  \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_HALMAK \
 | 
			
		||||
KC_W,              KC_L,              KC_R,              KC_B,              KC_Z,              KC_QUOT,           KC_Q,              KC_U,              KC_D,              KC_J,              \
 | 
			
		||||
LGUI_T(KC_S),      LALT_T(KC_H),      LCTL_T(KC_N),      LSFT_T(KC_T),      KC_COMM,           KC_DOT,            LSFT_T(KC_A),      LCTL_T(KC_E),      LALT_T(KC_O),      LGUI_T(KC_I),      \
 | 
			
		||||
LT(BUTTON, KC_F),  ALGR_T(KC_M),      KC_V,              KC_C,              KC_SLSH,           KC_G,              KC_P,              KC_X,              ALGR_T(KC_K),      LT(BUTTON, KC_Y),  \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN \
 | 
			
		||||
KC_Q,              KC_D,              KC_R,              KC_W,              KC_B,              KC_J,              KC_F,              KC_U,              KC_P,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_H),      LSFT_T(KC_T),      KC_G,              KC_Y,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_O),      LGUI_T(KC_I),      \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_M,              KC_C,              KC_V,              KC_K,              KC_L,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_QWERTY \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_QUOT),   \
 | 
			
		||||
LT(BUTTON, KC_Z),  ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Z,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_QUOT),   \
 | 
			
		||||
LT(BUTTON, KC_Y),  ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(BUTTON, KC_SLSH), \
 | 
			
		||||
U_NP,              U_NP,              LT(MEDIA, KC_ESC), LT(NAV, KC_SPC),   LT(MOUSE, KC_TAB), LT(SYM, KC_ENT),   LT(NUM, KC_BSPC),  LT(FUN, KC_DEL),   U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \
 | 
			
		||||
KC_PGUP,           KC_HOME,           KC_UP,             KC_END,            KC_INS,            U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
KC_PGDN,           KC_LEFT,           KC_DOWN,           KC_RGHT,           KC_CAPS,           U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV_FLIP \
 | 
			
		||||
KC_HOME,           KC_PGDN,           KC_PGUP,           KC_END,            KC_INS,            U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
KC_LEFT,           KC_DOWN,           KC_UP,             KC_RGHT,           KC_CAPS,           U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              KC_INS,            KC_HOME,           KC_UP,             KC_END,            KC_PGUP,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_CAPS,           KC_LEFT,           KC_DOWN,           KC_RGHT,           KC_PGDN,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV_VI \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_LEFT,           KC_DOWN,           KC_UP,             KC_RGHT,           KC_CAPS,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              KC_HOME,           KC_PGDN,           KC_PGUP,           KC_END,            KC_INS,            \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_CAPS,           KC_LEFT,           KC_DOWN,           KC_UP,             KC_RGHT,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              KC_INS,            KC_HOME,           KC_PGDN,           KC_PGUP,           KC_END,            \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \
 | 
			
		||||
KC_WH_U,           KC_WH_L,           KC_MS_U,           KC_WH_R,           U_NU,              U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
KC_WH_D,           KC_MS_L,           KC_MS_D,           KC_MS_R,           U_NU,              U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_BTN2,           KC_BTN3,           KC_BTN1,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \
 | 
			
		||||
KC_WH_L,           KC_WH_D,           KC_WH_U,           KC_WH_R,           U_NU,              U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
KC_MS_L,           KC_MS_D,           KC_MS_U,           KC_MS_R,           U_NU,              U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_BTN2,           KC_BTN3,           KC_BTN1,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              U_NU,              KC_WH_L,           KC_MS_U,           KC_WH_R,           KC_WH_U,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              U_NU,              KC_MS_L,           KC_MS_D,           KC_MS_R,           KC_WH_D,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_BTN1,           KC_BTN3,           KC_BTN2,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE_VI \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_MS_L,           KC_MS_D,           KC_MS_U,           KC_MS_R,           U_NU,              \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              KC_WH_L,           KC_WH_D,           KC_WH_U,           KC_WH_R,           U_NU,              \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_BTN1,           KC_BTN3,           KC_BTN2,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              U_NU,              KC_MS_L,           KC_MS_D,           KC_MS_U,           KC_MS_R,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              U_NU,              KC_WH_L,           KC_WH_D,           KC_WH_U,           KC_WH_R,           \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_BTN1,           KC_BTN3,           KC_BTN2,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \
 | 
			
		||||
RGB_SAI,           RGB_HUI,           KC_VOLU,           RGB_MOD,           RGB_TOG,           U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
RGB_VAI,           KC_MPRV,           KC_VOLD,           KC_MNXT,           OUT_AUTO,          U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_MUTE,           KC_MPLY,           KC_MSTP,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \
 | 
			
		||||
RGB_MOD,           RGB_HUI,           RGB_SAI,           RGB_VAI,           RGB_TOG,           U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
KC_MPRV,           KC_VOLD,           KC_VOLU,           KC_MNXT,           OUT_AUTO,          U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_MUTE,           KC_MPLY,           KC_MSTP,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              RGB_TOG,           RGB_MOD,           KC_VOLU,           RGB_HUI,           RGB_SAI,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              OUT_AUTO,          KC_MPRV,           KC_VOLD,           KC_MNXT,           RGB_VAI,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_MSTP,           KC_MPLY,           KC_MUTE,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA_VI \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              RGB_TOG,           RGB_MOD,           RGB_HUI,           RGB_SAI,           RGB_VAI,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_MPRV,           KC_VOLD,           KC_VOLU,           KC_MNXT,           OUT_AUTO,          \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_MSTP,           KC_MPLY,           KC_MUTE,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              RGB_TOG,           RGB_MOD,           RGB_HUI,           RGB_SAI,           RGB_VAI,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              OUT_AUTO,          KC_MPRV,           KC_VOLD,           KC_VOLU,           KC_MNXT,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_MSTP,           KC_MPLY,           KC_MUTE,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NUM_FLIP \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              KC_LBRC,           KC_7,              KC_8,              KC_9,              KC_RBRC,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_EQL,            KC_4,              KC_5,              KC_6,              KC_SCLN,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              KC_BSLS,           KC_1,              KC_2,              KC_3,              KC_GRV,            \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_MINS,           KC_0,              KC_DOT,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NUM \
 | 
			
		||||
KC_LBRC,           KC_7,              KC_8,              KC_9,              KC_RBRC,           U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
KC_SCLN,           KC_4,              KC_5,              KC_6,              KC_EQL,            U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
KC_GRV,            KC_1,              KC_2,              KC_3,              KC_BSLS,           U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DOT,            KC_0,              KC_MINS,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_SYM_FLIP \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              KC_LCBR,           KC_AMPR,           KC_ASTR,           KC_LPRN,           KC_RCBR,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_PLUS,           KC_DLR,            KC_PERC,           KC_CIRC,           KC_COLN,           \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              KC_PIPE,           KC_EXLM,           KC_AT,             KC_HASH,           KC_TILD,           \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_UNDS,           KC_LPRN,           KC_RPRN,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_SYM \
 | 
			
		||||
KC_LCBR,           KC_AMPR,           KC_ASTR,           KC_LPRN,           KC_RCBR,           U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
KC_COLN,           KC_DLR,            KC_PERC,           KC_CIRC,           KC_PLUS,           U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
KC_TILD,           KC_EXLM,           KC_AT,             KC_HASH,           KC_PIPE,           U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_LPRN,           KC_RPRN,           KC_UNDS,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_FUN_FLIP \
 | 
			
		||||
QK_BOOT,           U_NA,              U_NA,              U_NA,              U_NA,              KC_PSCR,           KC_F7,             KC_F8,             KC_F9,             KC_F12,            \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_SCRL,           KC_F4,             KC_F5,             KC_F6,             KC_F11,            \
 | 
			
		||||
U_NA,              KC_ALGR,           U_NA,              U_NA,              U_NA,              KC_PAUS,           KC_F1,             KC_F2,             KC_F3,             KC_F10,            \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_TAB,            KC_SPC,            KC_APP,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_FUN \
 | 
			
		||||
KC_F12,            KC_F7,             KC_F8,             KC_F9,             KC_PSCR,           U_NA,              U_NA,              U_NA,              U_NA,              QK_BOOT,           \
 | 
			
		||||
KC_F11,            KC_F4,             KC_F5,             KC_F6,             KC_SCRL,           U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
KC_F10,            KC_F1,             KC_F2,             KC_F3,             KC_PAUS,           U_NA,              U_NA,              U_NA,              KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_APP,            KC_SPC,            KC_TAB,            U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BUTTON \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           KC_NO,             KC_NO,             KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
U_NP,              U_NP,              KC_BTN2,           KC_BTN3,           KC_BTN1,           KC_BTN1,           KC_BTN3,           KC_BTN2,           U_NP,              U_NP
 | 
			
		||||
| 
						 | 
				
			
			@ -1,139 +0,0 @@
 | 
			
		|||
// Copyright 2019 Manna Harbour
 | 
			
		||||
// https://github.com/manna-harbour/miryoku
 | 
			
		||||
// generated -*- buffer-read-only: t -*-
 | 
			
		||||
 | 
			
		||||
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "miryoku_alternatives.h"
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_BASE)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_ALPHAS_AZERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_BEAKL15)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_DVORAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_HALMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_WORKMAN)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_QWERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_QWERTZ)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_ALPHAS_AZERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_BEAKL15)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_DVORAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_HALMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_WORKMAN)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_QWERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_QWERTZ)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_NAV)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT
 | 
			
		||||
    #elif defined (MIRYOKU_NAV_VI)
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_VI
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_MOUSE)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT
 | 
			
		||||
    #elif defined (MIRYOKU_NAV_VI)
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_VI
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_MEDIA)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT
 | 
			
		||||
    #elif defined (MIRYOKU_NAV_VI)
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_VI
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_NUM)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM_FLIP
 | 
			
		||||
  #else
 | 
			
		||||
    #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_SYM)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM_FLIP
 | 
			
		||||
  #else
 | 
			
		||||
    #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_FUN)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN_FLIP
 | 
			
		||||
  #else
 | 
			
		||||
    #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_BUTTON)
 | 
			
		||||
  #define MIRYOKU_LAYER_BUTTON MIRYOKU_ALTERNATIVES_BUTTON
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,389 @@
 | 
			
		|||
// Copyright 2022 Manna Harbour
 | 
			
		||||
// https://github.com/manna-harbour/miryoku
 | 
			
		||||
// generated -*- buffer-read-only: t -*-
 | 
			
		||||
// target: qmk
 | 
			
		||||
 | 
			
		||||
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP \
 | 
			
		||||
KC_A,              KC_Z,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_Q),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_M),      \
 | 
			
		||||
LT(U_BUTTON,KC_W), ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_COMM,           KC_DOT,            ALGR_T(KC_SLSH),   LT(U_BUTTON,KC_QUOT),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP \
 | 
			
		||||
KC_Q,              KC_H,              KC_O,              KC_U,              KC_X,              KC_G,              KC_C,              KC_R,              KC_F,              KC_Z,              \
 | 
			
		||||
LGUI_T(KC_Y),      LALT_T(KC_I),      LCTL_T(KC_E),      LSFT_T(KC_A),      KC_DOT,            KC_D,              LSFT_T(KC_S),      LCTL_T(KC_T),      LALT_T(KC_N),      LGUI_T(KC_B),      \
 | 
			
		||||
LT(U_BUTTON,KC_J), ALGR_T(KC_SLSH),   KC_COMM,           KC_K,              KC_QUOT,           KC_W,              KC_M,              KC_L,              ALGR_T(KC_P),      LT(U_BUTTON,KC_V), \
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_G,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_D,              KC_H,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_K,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_G,              KC_M,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_G,              KC_K,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_M,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP \
 | 
			
		||||
KC_QUOT,           KC_COMM,           KC_DOT,            KC_P,              KC_Y,              KC_F,              KC_G,              KC_C,              KC_R,              KC_L,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_O),      LCTL_T(KC_E),      LSFT_T(KC_U),      KC_I,              KC_D,              LSFT_T(KC_H),      LCTL_T(KC_T),      LALT_T(KC_N),      LGUI_T(KC_S),      \
 | 
			
		||||
LT(U_BUTTON,KC_SLSH),ALGR_T(KC_Q),      KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              ALGR_T(KC_V),      LT(U_BUTTON,KC_Z), \
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP \
 | 
			
		||||
KC_W,              KC_L,              KC_R,              KC_B,              KC_Z,              KC_QUOT,           KC_Q,              KC_U,              KC_D,              KC_J,              \
 | 
			
		||||
LGUI_T(KC_S),      LALT_T(KC_H),      LCTL_T(KC_N),      LSFT_T(KC_T),      KC_COMM,           KC_DOT,            LSFT_T(KC_A),      LCTL_T(KC_E),      LALT_T(KC_O),      LGUI_T(KC_I),      \
 | 
			
		||||
LT(U_BUTTON,KC_F), ALGR_T(KC_M),      KC_V,              KC_C,              KC_SLSH,           KC_G,              KC_P,              KC_X,              ALGR_T(KC_K),      LT(U_BUTTON,KC_Y), \
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP \
 | 
			
		||||
KC_Q,              KC_D,              KC_R,              KC_W,              KC_B,              KC_J,              KC_F,              KC_U,              KC_P,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_H),      LSFT_T(KC_T),      KC_G,              KC_Y,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_O),      LGUI_T(KC_I),      \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_M,              KC_C,              KC_V,              KC_K,              KC_L,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_QUOT),   \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Z,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_QUOT),   \
 | 
			
		||||
LT(U_BUTTON,KC_Y), ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_FUN,KC_DEL),  LT(U_NUM,KC_BSPC), LT(U_SYM,KC_ENT),  LT(U_MOUSE,KC_TAB),LT(U_NAV,KC_SPC),  LT(U_MEDIA,KC_ESC),U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_AZERTY \
 | 
			
		||||
KC_A,              KC_Z,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_Q),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_M),      \
 | 
			
		||||
LT(U_BUTTON,KC_W), ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_COMM,           KC_DOT,            ALGR_T(KC_SLSH),   LT(U_BUTTON,KC_QUOT),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15 \
 | 
			
		||||
KC_Q,              KC_H,              KC_O,              KC_U,              KC_X,              KC_G,              KC_C,              KC_R,              KC_F,              KC_Z,              \
 | 
			
		||||
LGUI_T(KC_Y),      LALT_T(KC_I),      LCTL_T(KC_E),      LSFT_T(KC_A),      KC_DOT,            KC_D,              LSFT_T(KC_S),      LCTL_T(KC_T),      LALT_T(KC_N),      LGUI_T(KC_B),      \
 | 
			
		||||
LT(U_BUTTON,KC_J), ALGR_T(KC_SLSH),   KC_COMM,           KC_K,              KC_QUOT,           KC_W,              KC_M,              KC_L,              ALGR_T(KC_P),      LT(U_BUTTON,KC_V), \
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_G,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_D,              KC_H,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_K,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_G,              KC_M,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_R),      LCTL_T(KC_S),      LSFT_T(KC_T),      KC_G,              KC_K,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_I),      LGUI_T(KC_O),      \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_M,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_DVORAK \
 | 
			
		||||
KC_QUOT,           KC_COMM,           KC_DOT,            KC_P,              KC_Y,              KC_F,              KC_G,              KC_C,              KC_R,              KC_L,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_O),      LCTL_T(KC_E),      LSFT_T(KC_U),      KC_I,              KC_D,              LSFT_T(KC_H),      LCTL_T(KC_T),      LALT_T(KC_N),      LGUI_T(KC_S),      \
 | 
			
		||||
LT(U_BUTTON,KC_SLSH),ALGR_T(KC_Q),      KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              ALGR_T(KC_V),      LT(U_BUTTON,KC_Z), \
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_HALMAK \
 | 
			
		||||
KC_W,              KC_L,              KC_R,              KC_B,              KC_Z,              KC_QUOT,           KC_Q,              KC_U,              KC_D,              KC_J,              \
 | 
			
		||||
LGUI_T(KC_S),      LALT_T(KC_H),      LCTL_T(KC_N),      LSFT_T(KC_T),      KC_COMM,           KC_DOT,            LSFT_T(KC_A),      LCTL_T(KC_E),      LALT_T(KC_O),      LGUI_T(KC_I),      \
 | 
			
		||||
LT(U_BUTTON,KC_F), ALGR_T(KC_M),      KC_V,              KC_C,              KC_SLSH,           KC_G,              KC_P,              KC_X,              ALGR_T(KC_K),      LT(U_BUTTON,KC_Y), \
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN \
 | 
			
		||||
KC_Q,              KC_D,              KC_R,              KC_W,              KC_B,              KC_J,              KC_F,              KC_U,              KC_P,              KC_QUOT,           \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_H),      LSFT_T(KC_T),      KC_G,              KC_Y,              LSFT_T(KC_N),      LCTL_T(KC_E),      LALT_T(KC_O),      LGUI_T(KC_I),      \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_M,              KC_C,              KC_V,              KC_K,              KC_L,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_QWERTY \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_QUOT),   \
 | 
			
		||||
LT(U_BUTTON,KC_Z), ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Z,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
LGUI_T(KC_A),      LALT_T(KC_S),      LCTL_T(KC_D),      LSFT_T(KC_F),      KC_G,              KC_H,              LSFT_T(KC_J),      LCTL_T(KC_K),      LALT_T(KC_L),      LGUI_T(KC_QUOT),   \
 | 
			
		||||
LT(U_BUTTON,KC_Y), ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    LT(U_BUTTON,KC_SLSH),\
 | 
			
		||||
U_NP,              U_NP,              LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC),  LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT),  LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL),  U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_AZERTY_FLIP \
 | 
			
		||||
KC_A,              KC_Z,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
KC_Q,              KC_S,              KC_D,              KC_F,              KC_G,              KC_H,              KC_J,              KC_K,              KC_L,              KC_M,              \
 | 
			
		||||
KC_W,              KC_X,              KC_C,              KC_V,              KC_B,              KC_N,              KC_COMM,           KC_DOT,            KC_SLSH,           KC_QUOT,           \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_BEAKL15_FLIP \
 | 
			
		||||
KC_Q,              KC_H,              KC_O,              KC_U,              KC_X,              KC_G,              KC_C,              KC_R,              KC_F,              KC_Z,              \
 | 
			
		||||
KC_Y,              KC_I,              KC_E,              KC_A,              KC_DOT,            KC_D,              KC_S,              KC_T,              KC_N,              KC_B,              \
 | 
			
		||||
KC_J,              KC_SLSH,           KC_COMM,           KC_K,              KC_QUOT,           KC_W,              KC_M,              KC_L,              KC_P,              KC_V,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_COLEMAK_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_G,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
KC_A,              KC_R,              KC_S,              KC_T,              KC_D,              KC_H,              KC_N,              KC_E,              KC_I,              KC_O,              \
 | 
			
		||||
KC_Z,              KC_X,              KC_C,              KC_V,              KC_B,              KC_K,              KC_M,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
KC_A,              KC_R,              KC_S,              KC_T,              KC_G,              KC_M,              KC_N,              KC_E,              KC_I,              KC_O,              \
 | 
			
		||||
KC_Z,              KC_X,              KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
KC_A,              KC_R,              KC_S,              KC_T,              KC_G,              KC_K,              KC_N,              KC_E,              KC_I,              KC_O,              \
 | 
			
		||||
KC_Z,              KC_X,              KC_C,              KC_D,              KC_V,              KC_M,              KC_H,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_DVORAK_FLIP \
 | 
			
		||||
KC_QUOT,           KC_COMM,           KC_DOT,            KC_P,              KC_Y,              KC_F,              KC_G,              KC_C,              KC_R,              KC_L,              \
 | 
			
		||||
KC_A,              KC_O,              KC_E,              KC_U,              KC_I,              KC_D,              KC_H,              KC_T,              KC_N,              KC_S,              \
 | 
			
		||||
KC_SLSH,           KC_Q,              KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              KC_V,              KC_Z,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_HALMAK_FLIP \
 | 
			
		||||
KC_W,              KC_L,              KC_R,              KC_B,              KC_Z,              KC_QUOT,           KC_Q,              KC_U,              KC_D,              KC_J,              \
 | 
			
		||||
KC_S,              KC_H,              KC_N,              KC_T,              KC_COMM,           KC_DOT,            KC_A,              KC_E,              KC_O,              KC_I,              \
 | 
			
		||||
KC_F,              KC_M,              KC_V,              KC_C,              KC_SLSH,           KC_G,              KC_P,              KC_X,              KC_K,              KC_Y,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_WORKMAN_FLIP \
 | 
			
		||||
KC_Q,              KC_D,              KC_R,              KC_W,              KC_B,              KC_J,              KC_F,              KC_U,              KC_P,              KC_QUOT,           \
 | 
			
		||||
KC_A,              KC_S,              KC_H,              KC_T,              KC_G,              KC_Y,              KC_N,              KC_E,              KC_O,              KC_I,              \
 | 
			
		||||
KC_Z,              KC_X,              KC_M,              KC_C,              KC_V,              KC_K,              KC_L,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_QWERTY_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
KC_A,              KC_S,              KC_D,              KC_F,              KC_G,              KC_H,              KC_J,              KC_K,              KC_L,              KC_QUOT,           \
 | 
			
		||||
KC_Z,              KC_X,              KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_QWERTZ_FLIP \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Z,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
KC_A,              KC_S,              KC_D,              KC_F,              KC_G,              KC_H,              KC_J,              KC_K,              KC_L,              KC_QUOT,           \
 | 
			
		||||
KC_Y,              KC_X,              KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            KC_TAB,            KC_SPC,            KC_ESC,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_AZERTY \
 | 
			
		||||
KC_A,              KC_Z,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
KC_Q,              KC_S,              KC_D,              KC_F,              KC_G,              KC_H,              KC_J,              KC_K,              KC_L,              KC_M,              \
 | 
			
		||||
KC_W,              KC_X,              KC_C,              KC_V,              KC_B,              KC_N,              KC_COMM,           KC_DOT,            KC_SLSH,           KC_QUOT,           \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_BEAKL15 \
 | 
			
		||||
KC_Q,              KC_H,              KC_O,              KC_U,              KC_X,              KC_G,              KC_C,              KC_R,              KC_F,              KC_Z,              \
 | 
			
		||||
KC_Y,              KC_I,              KC_E,              KC_A,              KC_DOT,            KC_D,              KC_S,              KC_T,              KC_N,              KC_B,              \
 | 
			
		||||
KC_J,              KC_SLSH,           KC_COMM,           KC_K,              KC_QUOT,           KC_W,              KC_M,              KC_L,              KC_P,              KC_V,              \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_COLEMAK \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_G,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
KC_A,              KC_R,              KC_S,              KC_T,              KC_D,              KC_H,              KC_N,              KC_E,              KC_I,              KC_O,              \
 | 
			
		||||
KC_Z,              KC_X,              KC_C,              KC_V,              KC_B,              KC_K,              KC_M,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
KC_A,              KC_R,              KC_S,              KC_T,              KC_G,              KC_M,              KC_N,              KC_E,              KC_I,              KC_O,              \
 | 
			
		||||
KC_Z,              KC_X,              KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK \
 | 
			
		||||
KC_Q,              KC_W,              KC_F,              KC_P,              KC_B,              KC_J,              KC_L,              KC_U,              KC_Y,              KC_QUOT,           \
 | 
			
		||||
KC_A,              KC_R,              KC_S,              KC_T,              KC_G,              KC_K,              KC_N,              KC_E,              KC_I,              KC_O,              \
 | 
			
		||||
KC_Z,              KC_X,              KC_C,              KC_D,              KC_V,              KC_M,              KC_H,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_DVORAK \
 | 
			
		||||
KC_QUOT,           KC_COMM,           KC_DOT,            KC_P,              KC_Y,              KC_F,              KC_G,              KC_C,              KC_R,              KC_L,              \
 | 
			
		||||
KC_A,              KC_O,              KC_E,              KC_U,              KC_I,              KC_D,              KC_H,              KC_T,              KC_N,              KC_S,              \
 | 
			
		||||
KC_SLSH,           KC_Q,              KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              KC_V,              KC_Z,              \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_HALMAK \
 | 
			
		||||
KC_W,              KC_L,              KC_R,              KC_B,              KC_Z,              KC_QUOT,           KC_Q,              KC_U,              KC_D,              KC_J,              \
 | 
			
		||||
KC_S,              KC_H,              KC_N,              KC_T,              KC_COMM,           KC_DOT,            KC_A,              KC_E,              KC_O,              KC_I,              \
 | 
			
		||||
KC_F,              KC_M,              KC_V,              KC_C,              KC_SLSH,           KC_G,              KC_P,              KC_X,              KC_K,              KC_Y,              \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_WORKMAN \
 | 
			
		||||
KC_Q,              KC_D,              KC_R,              KC_W,              KC_B,              KC_J,              KC_F,              KC_U,              KC_P,              KC_QUOT,           \
 | 
			
		||||
KC_A,              KC_S,              KC_H,              KC_T,              KC_G,              KC_Y,              KC_N,              KC_E,              KC_O,              KC_I,              \
 | 
			
		||||
KC_Z,              KC_X,              KC_M,              KC_C,              KC_V,              KC_K,              KC_L,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_QWERTY \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Y,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
KC_A,              KC_S,              KC_D,              KC_F,              KC_G,              KC_H,              KC_J,              KC_K,              KC_L,              KC_QUOT,           \
 | 
			
		||||
KC_Z,              KC_X,              KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_TAP_QWERTZ \
 | 
			
		||||
KC_Q,              KC_W,              KC_E,              KC_R,              KC_T,              KC_Z,              KC_U,              KC_I,              KC_O,              KC_P,              \
 | 
			
		||||
KC_A,              KC_S,              KC_D,              KC_F,              KC_G,              KC_H,              KC_J,              KC_K,              KC_L,              KC_QUOT,           \
 | 
			
		||||
KC_Y,              KC_X,              KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           KC_DOT,            KC_SLSH,           \
 | 
			
		||||
U_NP,              U_NP,              KC_ESC,            KC_SPC,            KC_TAB,            KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \
 | 
			
		||||
KC_PGUP,           KC_HOME,           KC_UP,             KC_END,            KC_INS,            U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
KC_PGDN,           KC_LEFT,           KC_DOWN,           KC_RGHT,           KC_CAPS,           U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              DF(U_NAV),         DF(U_NUM),         KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV_FLIP \
 | 
			
		||||
KC_HOME,           KC_PGDN,           KC_PGUP,           KC_END,            KC_INS,            U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
KC_LEFT,           KC_DOWN,           KC_UP,             KC_RGHT,           KC_CAPS,           U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              DF(U_NAV),         DF(U_NUM),         KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DEL,            KC_BSPC,           KC_ENT,            U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              KC_INS,            KC_HOME,           KC_UP,             KC_END,            KC_PGUP,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_CAPS,           KC_LEFT,           KC_DOWN,           KC_RGHT,           KC_PGDN,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_NUM),         DF(U_NAV),         U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV_VI \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_LEFT,           KC_DOWN,           KC_UP,             KC_RGHT,           KC_CAPS,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_NUM),         DF(U_NAV),         U_NA,              KC_HOME,           KC_PGDN,           KC_PGUP,           KC_END,            KC_INS,            \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NAV \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_CAPS,           KC_LEFT,           KC_DOWN,           KC_UP,             KC_RGHT,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_NUM),         DF(U_NAV),         U_NA,              KC_INS,            KC_HOME,           KC_PGDN,           KC_PGUP,           KC_END,            \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_ENT,            KC_BSPC,           KC_DEL,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \
 | 
			
		||||
KC_WH_U,           KC_WH_L,           KC_MS_U,           KC_WH_R,           U_NU,              U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
KC_WH_D,           KC_MS_L,           KC_MS_D,           KC_MS_R,           U_NU,              U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              DF(U_MOUSE),       DF(U_SYM),         KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_BTN3,           KC_BTN1,           KC_BTN2,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \
 | 
			
		||||
KC_WH_L,           KC_WH_D,           KC_WH_U,           KC_WH_R,           U_NU,              U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
KC_MS_L,           KC_MS_D,           KC_MS_U,           KC_MS_R,           U_NU,              U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              DF(U_MOUSE),       DF(U_SYM),         KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_BTN3,           KC_BTN1,           KC_BTN2,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              U_NU,              KC_WH_L,           KC_MS_U,           KC_WH_R,           KC_WH_U,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              U_NU,              KC_MS_L,           KC_MS_D,           KC_MS_R,           KC_WH_D,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_SYM),         DF(U_MOUSE),       U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_BTN2,           KC_BTN1,           KC_BTN3,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE_VI \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_MS_L,           KC_MS_D,           KC_MS_U,           KC_MS_R,           U_NU,              \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_SYM),         DF(U_MOUSE),       U_NA,              KC_WH_L,           KC_WH_D,           KC_WH_U,           KC_WH_R,           U_NU,              \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_BTN2,           KC_BTN1,           KC_BTN3,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MOUSE \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              U_NU,              KC_MS_L,           KC_MS_D,           KC_MS_U,           KC_MS_R,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_SYM),         DF(U_MOUSE),       U_NA,              U_NU,              KC_WH_L,           KC_WH_D,           KC_WH_U,           KC_WH_R,           \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_BTN2,           KC_BTN1,           KC_BTN3,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \
 | 
			
		||||
RGB_HUI,           RGB_SAI,           KC_VOLU,           RGB_VAI,           RGB_TOG,           U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
RGB_MOD,           KC_MPRV,           KC_VOLD,           KC_MNXT,           U_NU,              U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_NU,              U_NU,              U_NU,              U_NU,              OUT_AUTO,          U_NA,              DF(U_MEDIA),       DF(U_FUN),         KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_MUTE,           KC_MPLY,           KC_MSTP,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \
 | 
			
		||||
RGB_MOD,           RGB_HUI,           RGB_SAI,           RGB_VAI,           RGB_TOG,           U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
KC_MPRV,           KC_VOLD,           KC_VOLU,           KC_MNXT,           U_NU,              U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_NU,              U_NU,              U_NU,              U_NU,              OUT_AUTO,          U_NA,              DF(U_MEDIA),       DF(U_FUN),         KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_MUTE,           KC_MPLY,           KC_MSTP,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              RGB_TOG,           RGB_MOD,           KC_VOLU,           RGB_HUI,           RGB_SAI,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              U_NU,              KC_MPRV,           KC_VOLD,           KC_MNXT,           RGB_VAI,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_FUN),         DF(U_MEDIA),       U_NA,              OUT_AUTO,          U_NU,              U_NU,              U_NU,              U_NU,              \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_MSTP,           KC_MPLY,           KC_MUTE,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA_VI \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              RGB_MOD,           RGB_HUI,           RGB_SAI,           RGB_VAI,           RGB_TOG,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_MPRV,           KC_VOLD,           KC_VOLU,           KC_MNXT,           U_NU,              \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_FUN),         DF(U_MEDIA),       U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              OUT_AUTO,          \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_MSTP,           KC_MPLY,           KC_MUTE,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_MEDIA \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              RGB_TOG,           RGB_MOD,           RGB_HUI,           RGB_SAI,           RGB_VAI,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              U_NU,              KC_MPRV,           KC_VOLD,           KC_VOLU,           KC_MNXT,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_FUN),         DF(U_MEDIA),       U_NA,              OUT_AUTO,          U_NU,              U_NU,              U_NU,              U_NU,              \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_MSTP,           KC_MPLY,           KC_MUTE,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NUM_FLIP \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              KC_LBRC,           KC_7,              KC_8,              KC_9,              KC_RBRC,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_EQL,            KC_4,              KC_5,              KC_6,              KC_SCLN,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_NAV),         DF(U_NUM),         U_NA,              KC_BSLS,           KC_1,              KC_2,              KC_3,              KC_GRV,            \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_MINS,           KC_0,              KC_DOT,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_NUM \
 | 
			
		||||
KC_LBRC,           KC_7,              KC_8,              KC_9,              KC_RBRC,           U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
KC_SCLN,           KC_4,              KC_5,              KC_6,              KC_EQL,            U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
KC_GRV,            KC_1,              KC_2,              KC_3,              KC_BSLS,           U_NA,              DF(U_NUM),         DF(U_NAV),         KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_DOT,            KC_0,              KC_MINS,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_SYM_FLIP \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              KC_LCBR,           KC_AMPR,           KC_ASTR,           KC_LPRN,           KC_RCBR,           \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_PLUS,           KC_DLR,            KC_PERC,           KC_CIRC,           KC_COLN,           \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_MOUSE),       DF(U_SYM),         U_NA,              KC_PIPE,           KC_EXLM,           KC_AT,             KC_HASH,           KC_TILD,           \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_UNDS,           KC_LPRN,           KC_RPRN,           U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_SYM \
 | 
			
		||||
KC_LCBR,           KC_AMPR,           KC_ASTR,           KC_LPRN,           KC_RCBR,           U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
KC_COLN,           KC_DLR,            KC_PERC,           KC_CIRC,           KC_PLUS,           U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
KC_TILD,           KC_EXLM,           KC_AT,             KC_HASH,           KC_PIPE,           U_NA,              DF(U_SYM),         DF(U_MOUSE),       KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_LPRN,           KC_RPRN,           KC_UNDS,           U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_FUN_FLIP \
 | 
			
		||||
QK_BOOT,           DF(U_TAP),         DF(U_EXTRA),       DF(U_BASE),        U_NA,              KC_PSCR,           KC_F7,             KC_F8,             KC_F9,             KC_F12,            \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NA,              KC_SLCK,           KC_F4,             KC_F5,             KC_F6,             KC_F11,            \
 | 
			
		||||
U_NA,              KC_ALGR,           DF(U_MEDIA),       DF(U_FUN),         U_NA,              KC_PAUS,           KC_F1,             KC_F2,             KC_F3,             KC_F10,            \
 | 
			
		||||
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              KC_TAB,            KC_SPC,            KC_APP,            U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_FUN \
 | 
			
		||||
KC_F12,            KC_F7,             KC_F8,             KC_F9,             KC_PSCR,           U_NA,              DF(U_BASE),        DF(U_EXTRA),       DF(U_TAP),         QK_BOOT,           \
 | 
			
		||||
KC_F11,            KC_F4,             KC_F5,             KC_F6,             KC_SLCK,           U_NA,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
KC_F10,            KC_F1,             KC_F2,             KC_F3,             KC_PAUS,           U_NA,              DF(U_FUN),         DF(U_MEDIA),       KC_ALGR,           U_NA,              \
 | 
			
		||||
U_NP,              U_NP,              KC_APP,            KC_SPC,            KC_TAB,            U_NA,              U_NA,              U_NA,              U_NP,              U_NP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_ALTERNATIVES_BUTTON \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
KC_LGUI,           KC_LALT,           KC_LCTL,           KC_LSFT,           U_NU,              U_NU,              KC_LSFT,           KC_LCTL,           KC_LALT,           KC_LGUI,           \
 | 
			
		||||
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
 | 
			
		||||
U_NP,              U_NP,              KC_BTN3,           KC_BTN1,           KC_BTN2,           KC_BTN2,           KC_BTN1,           KC_BTN3,           U_NP,              U_NP
 | 
			
		||||
| 
						 | 
				
			
			@ -1,9 +1,23 @@
 | 
			
		|||
// Copyright 2019 Manna Harbour
 | 
			
		||||
// Copyright 2022 Manna Harbour
 | 
			
		||||
// https://github.com/manna-harbour/miryoku
 | 
			
		||||
// generated -*- buffer-read-only: t -*-
 | 
			
		||||
 | 
			
		||||
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#if !defined (MIRYOKU_LAYER_NAMES)
 | 
			
		||||
  #define MIRYOKU_LAYER_NAMES BASE, BUTTON, NAV, MOUSE, MEDIA, NUM, SYM, FUN
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#if !defined (MIRYOKU_LAYER_LIST)
 | 
			
		||||
 | 
			
		||||
#define MIRYOKU_LAYER_LIST \
 | 
			
		||||
MIRYOKU_X(BASE,   "Base") \
 | 
			
		||||
MIRYOKU_X(EXTRA,  "Extra") \
 | 
			
		||||
MIRYOKU_X(TAP,    "Tap") \
 | 
			
		||||
MIRYOKU_X(BUTTON, "Button") \
 | 
			
		||||
MIRYOKU_X(NAV,    "Nav") \
 | 
			
		||||
MIRYOKU_X(MOUSE,  "Mouse") \
 | 
			
		||||
MIRYOKU_X(MEDIA,  "Media") \
 | 
			
		||||
MIRYOKU_X(NUM,    "Num") \
 | 
			
		||||
MIRYOKU_X(SYM,    "Sym") \
 | 
			
		||||
MIRYOKU_X(FUN,    "Fun")
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,277 @@
 | 
			
		|||
// Copyright 2019 Manna Harbour
 | 
			
		||||
// https://github.com/manna-harbour/miryoku
 | 
			
		||||
// generated -*- buffer-read-only: t -*-
 | 
			
		||||
 | 
			
		||||
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "miryoku_layer_alternatives.h"
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_BASE)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_ALPHAS_AZERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_BEAKL15)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAKDH)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_DVORAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_HALMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_WORKMAN)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_QWERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_QWERTZ)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_ALPHAS_AZERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_BEAKL15)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAKDH)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_DVORAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_HALMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_WORKMAN)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_QWERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY
 | 
			
		||||
    #elif defined (MIRYOKU_ALPHAS_QWERTZ)
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_BASE)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_BASE MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_EXTRA)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_EXTRA_AZERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_BEAKL15)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_COLEMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_COLEMAKDH)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_COLEMAKDHK)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_DVORAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_HALMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_WORKMAN)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_QWERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_QWERTZ)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_EXTRA_AZERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_AZERTY
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_BEAKL15)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_BEAKL15
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_COLEMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAK
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_COLEMAKDH)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_COLEMAKDHK)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_DVORAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_DVORAK
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_HALMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_HALMAK
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_WORKMAN)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_WORKMAN
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_QWERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY
 | 
			
		||||
    #elif defined (MIRYOKU_EXTRA_QWERTZ)
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTZ
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_EXTRA)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_EXTRA MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_TAP)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_TAP_AZERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_AZERTY_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_BEAKL15)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_BEAKL15_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_COLEMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_COLEMAKDH)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_COLEMAKDHK)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_DVORAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_DVORAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_HALMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_HALMAK_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_WORKMAN)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_WORKMAN_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_QWERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTY_FLIP
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_QWERTZ)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTZ_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_TAP_AZERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_AZERTY
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_BEAKL15)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_BEAKL15
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_COLEMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAK
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_COLEMAKDH)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_COLEMAKDHK)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_DVORAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_DVORAK
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_HALMAK)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_HALMAK
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_WORKMAN)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_WORKMAN
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_QWERTY)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTY
 | 
			
		||||
    #elif defined (MIRYOKU_TAP_QWERTZ)
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTZ
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_TAP)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_TAP MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_BUTTON)
 | 
			
		||||
  #define MIRYOKU_LAYER_BUTTON MIRYOKU_ALTERNATIVES_BUTTON
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_BUTTON)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_BUTTON MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_NAV)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT
 | 
			
		||||
    #elif defined (MIRYOKU_NAV_VI)
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_VI
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_NAV)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_NAV MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_MOUSE)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT
 | 
			
		||||
    #elif defined (MIRYOKU_NAV_VI)
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_VI
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_MOUSE)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_MOUSE MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_MEDIA)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_FLIP
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
    #if defined (MIRYOKU_NAV_INVERTEDT)
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT
 | 
			
		||||
    #elif defined (MIRYOKU_NAV_VI)
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_VI
 | 
			
		||||
    #else
 | 
			
		||||
      #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_MEDIA)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_MEDIA MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_NUM)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM_FLIP
 | 
			
		||||
  #else
 | 
			
		||||
    #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_NUM)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_NUM MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_SYM)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM_FLIP
 | 
			
		||||
  #else
 | 
			
		||||
    #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_SYM)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_SYM MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !defined(MIRYOKU_LAYER_FUN)
 | 
			
		||||
  #if defined (MIRYOKU_LAYERS_FLIP)
 | 
			
		||||
    #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN_FLIP
 | 
			
		||||
  #else
 | 
			
		||||
    #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
#if !defined(MIRYOKU_LAYERMAPPING_FUN)
 | 
			
		||||
  #define MIRYOKU_LAYERMAPPING_FUN MIRYOKU_MAPPING
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,34 +1,39 @@
 | 
			
		|||
# Copyright 2019 Manna Harbour
 | 
			
		||||
# Copyright 2022 Manna Harbour
 | 
			
		||||
# https://github.com/manna-harbour/miryoku
 | 
			
		||||
 | 
			
		||||
# alternative layouts:
 | 
			
		||||
# alternative layout options
 | 
			
		||||
 | 
			
		||||
# alphas
 | 
			
		||||
ifneq ($(strip $(MIRYOKU_ALPHAS)),)
 | 
			
		||||
  OPT_DEFS += -DMIRYOKU_ALPHAS_$(MIRYOKU_ALPHAS)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# nav
 | 
			
		||||
ifneq ($(strip $(MIRYOKU_EXTRA)),)
 | 
			
		||||
  OPT_DEFS += -DMIRYOKU_EXTRA_$(MIRYOKU_EXTRA)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifneq ($(strip $(MIRYOKU_TAP)),)
 | 
			
		||||
  OPT_DEFS += -DMIRYOKU_TAP_$(MIRYOKU_TAP)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifneq ($(strip $(MIRYOKU_NAV)),)
 | 
			
		||||
  OPT_DEFS += -DMIRYOKU_NAV_$(MIRYOKU_NAV)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# clipboard
 | 
			
		||||
ifneq ($(strip $(MIRYOKU_CLIPBOARD)),)
 | 
			
		||||
  OPT_DEFS += -DMIRYOKU_CLIPBOARD_$(MIRYOKU_CLIPBOARD)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# layers
 | 
			
		||||
ifneq ($(strip $(MIRYOKU_LAYERS)),)
 | 
			
		||||
  OPT_DEFS += -DMIRYOKU_LAYERS_$(MIRYOKU_LAYERS)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# subset mappings
 | 
			
		||||
 | 
			
		||||
ifneq ($(strip $(MIRYOKU_MAPPING)),)
 | 
			
		||||
  OPT_DEFS += -DMIRYOKU_MAPPING_$(MIRYOKU_MAPPING)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# kludges:
 | 
			
		||||
# kludges
 | 
			
		||||
 | 
			
		||||
# thumb combos
 | 
			
		||||
ifeq ($(strip $(MIRYOKU_KLUDGE_THUMBCOMBOS)),yes)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,37 +3,42 @@
 | 
			
		|||
 | 
			
		||||
* Miryoku QMK [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]]
 | 
			
		||||
 | 
			
		||||
[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover.png]]
 | 
			
		||||
[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover-miryoku_qmk.png]]
 | 
			
		||||
 | 
			
		||||
[[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]].
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
** Branches
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
*** QMK master
 | 
			
		||||
 | 
			
		||||
Miryoku QMK is periodically merged upstream into QMK master and it is generally recommended to build directly from QMK master.
 | 
			
		||||
QMK master is the current version of QMK, but usually does not contain the current version of Miryoku QMK.
 | 
			
		||||
 | 
			
		||||
QMK 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.
 | 
			
		||||
QMK 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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
*** Miryoku QMK development branch
 | 
			
		||||
 | 
			
		||||
The Miryoku QMK development branch is ~miryoku~ and may contain new commits not yet merged into QMK master.
 | 
			
		||||
The Miryoku QMK development branch is the current version of Miryoku QMK, but usually does not contain the current version of QMK.
 | 
			
		||||
 | 
			
		||||
~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.
 | 
			
		||||
The 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.
 | 
			
		||||
 | 
			
		||||
New 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.
 | 
			
		||||
New 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]~
 | 
			
		||||
 | 
			
		||||
To checkout the ~miryoku~ branch in your existing QMK build environment:
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
git remote add miryoku_qmk git@github.com:manna-harbour/miryoku_qmk.git # if using SSH
 | 
			
		||||
git remote add miryoku_qmk https://github.com/manna-harbour/miryoku_qmk.git # if using HTTPS
 | 
			
		||||
git fetch miryoku_qmk
 | 
			
		||||
git checkout --track miryoku_qmk/miryoku
 | 
			
		||||
#+END_SRC
 | 
			
		||||
Periodically, 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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** Merge
 | 
			
		||||
 | 
			
		||||
To use both the current versions of QMK and Miryoku QMK together, the QMK master and ~miryoku~ branches need to be merged.
 | 
			
		||||
 | 
			
		||||
The ~[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.
 | 
			
		||||
 | 
			
		||||
Merging 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.
 | 
			
		||||
 | 
			
		||||
Any 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.
 | 
			
		||||
 | 
			
		||||
** Building
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +46,52 @@ git checkout --track miryoku_qmk/miryoku
 | 
			
		|||
 | 
			
		||||
First [[https://docs.qmk.fm/#/newbs_getting_started][set up the QMK build environment and build the default keymap for your keyboard]].
 | 
			
		||||
 | 
			
		||||
Build 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.
 | 
			
		||||
Next choose the [[#branches][branch]]. If using ~miryoku~, [[#checkout-update-and-merge][checkout, update, or merge]] as needed.
 | 
			
		||||
 | 
			
		||||
Build 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]].
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** Checkout, Update, and Merge
 | 
			
		||||
 | 
			
		||||
All of the following examples operate in your existing QMK build environment.
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
cd qmk_firmware
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
To checkout the ~miryoku~ branch from Miryoku QMK:
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
git remote add miryoku_qmk git@github.com:manna-harbour/miryoku_qmk.git # if using SSH
 | 
			
		||||
git remote add miryoku_qmk https://github.com/manna-harbour/miryoku_qmk.git # if using HTTPS
 | 
			
		||||
git fetch miryoku_qmk
 | 
			
		||||
git checkout --track miryoku_qmk/miryoku
 | 
			
		||||
make git-submodule
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
To update the ~miryoku~ branch from Miryoku QMK:
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
git checkout miryoku
 | 
			
		||||
git fetch miryoku_qmk
 | 
			
		||||
git merge miryoku_qmk/miryoku
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
If 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:
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
git checkout miryoku
 | 
			
		||||
git branch -m miryoku-`whoami`-`date --rfc-3339=date`
 | 
			
		||||
git fetch miryoku_qmk
 | 
			
		||||
git checkout --track miryoku_qmk/miryoku
 | 
			
		||||
make git-submodule
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
To [[#merge][merge]] the ~miryoku~ branch with QMK master:
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
git checkout miryoku
 | 
			
		||||
git checkout -b miryoku-merge-master
 | 
			
		||||
git revert --no-edit `git log --grep='^\[miryoku-github\]' --pretty='format:%H' | tr '\n' ' '`
 | 
			
		||||
git fetch origin
 | 
			
		||||
git merge origin/master
 | 
			
		||||
make git-submodule
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** qmk
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +101,13 @@ Build with the ~qmk~ command.  E.g.
 | 
			
		|||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
qmk compile -c -kb crkbd -km manna-harbour_miryoku # build for crkbd
 | 
			
		||||
qmk flash -c -kb crkbd -km manna-harbour_miryoku # build for crkbd and flash
 | 
			
		||||
qmk 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
 | 
			
		||||
qmk compile -c -kb crkbd -km manna-harbour_miryoku \
 | 
			
		||||
  -e MIRYOKU_ALPHAS=QWERTY \
 | 
			
		||||
  -e MIRYOKU_EXTRA=COLEMAKDH \
 | 
			
		||||
  -e MIRYOKU_TAP=QWERTY \
 | 
			
		||||
  -e MIRYOKU_NAV=INVERTEDT \
 | 
			
		||||
  -e MIRYOKU_CLIPBOARD=WIN \
 | 
			
		||||
  -e MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +118,13 @@ First ~cd~ to the repository root.  Then build with ~make~. E.g.
 | 
			
		|||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
make clean crkbd:manna-harbour_miryoku # build for crkbd
 | 
			
		||||
make clean crkbd:manna-harbour_miryoku:flash # build for crkbd and flash
 | 
			
		||||
make clean crkbd:manna-harbour_miryoku MIRYOKU_ALPHAS=QWERTY MIRYOKU_NAV=INVERTEDT MIRYOKU_CLIPBOARD=WIN MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
 | 
			
		||||
make clean crkbd:manna-harbour_miryoku \
 | 
			
		||||
  MIRYOKU_ALPHAS=QWERTY \
 | 
			
		||||
  MIRYOKU_EXTRA=COLEMAKDH \
 | 
			
		||||
  MIRYOKU_TAP=QWERTY \
 | 
			
		||||
  MIRYOKU_NAV=INVERTEDT \
 | 
			
		||||
  MIRYOKU_CLIPBOARD=WIN \
 | 
			
		||||
  MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -70,13 +132,22 @@ make clean crkbd:manna-harbour_miryoku MIRYOKU_ALPHAS=QWERTY MIRYOKU_NAV=INVERTE
 | 
			
		|||
 | 
			
		||||
Firmware 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]].
 | 
			
		||||
 | 
			
		||||
First log in to GitHub, fork the [[#miryoku-qmk-development-branch][Miryoku QMK development branch]] repository, and enable workflows.
 | 
			
		||||
First [[#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.
 | 
			
		||||
 | 
			
		||||
To 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.
 | 
			
		||||
 | 
			
		||||
Workflow files are in [[../../.github/workflows]].
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** Fork or Sync
 | 
			
		||||
 | 
			
		||||
If 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.
 | 
			
		||||
 | 
			
		||||
If 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.
 | 
			
		||||
 | 
			
		||||
If 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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** Build Examples
 | 
			
		||||
 | 
			
		||||
Copy 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
 | 
			
		|||
 | 
			
		||||
The ~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.
 | 
			
		||||
 | 
			
		||||
The ~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~.
 | 
			
		||||
The ~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~.
 | 
			
		||||
 | 
			
		||||
The ~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~.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** Build Inputs
 | 
			
		||||
| 
						 | 
				
			
			@ -106,6 +179,8 @@ The ~Miryoku Alphas~, ~Miryoku Nav~, ~Miryoku Clipboard~, and ~Miryoku Layers~ o
 | 
			
		|||
 | 
			
		||||
The ~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~.
 | 
			
		||||
 | 
			
		||||
The ~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~.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
** Subset Mapping
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -122,13 +197,13 @@ thumb keys.
 | 
			
		|||
 | 
			
		||||
- [[./rules.mk]] :: Build options.  Automatically included.
 | 
			
		||||
 | 
			
		||||
- [[./custom_rules.mk]] :: Custom ~make~ options including customised defaults for alternative layout options, for local builds.  Included from ~rules.mk~.
 | 
			
		||||
- [[./custom_rules.mk]] :: Custom ~make~ options including customised defaults for alternative layout and mapping options.  Included from ~rules.mk~.
 | 
			
		||||
 | 
			
		||||
- [[./post_rules.mk]] :: Handles Miryoku ~make~ options.  Included from ~rules.mk~.
 | 
			
		||||
 | 
			
		||||
- [[./config.h]] :: Config options.  Automatically included.
 | 
			
		||||
 | 
			
		||||
- [[./custom_config.h]] :: Custom config options for local builds.  Included from ~config.h~.
 | 
			
		||||
- [[./custom_config.h]] :: Custom config options.  Included from ~config.h~.
 | 
			
		||||
 | 
			
		||||
- [[./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.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -500,6 +575,17 @@ make handwired/dactyl_manuform/4x5:manna-harbour_miryoku:flash
 | 
			
		|||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** handwired/dactyl_manuform/4x6
 | 
			
		||||
 | 
			
		||||
Only the main 5x3 alphas and the main 3 thumb keys are used.
 | 
			
		||||
 | 
			
		||||
To build for this keyboard,
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
make handwired/dactyl_manuform/4x6:manna-harbour_miryoku:flash
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** handwired/dactyl_manuform/5x6
 | 
			
		||||
 | 
			
		||||
Only the main 5x3 alphas and the main 3 thumb keys are used.
 | 
			
		||||
| 
						 | 
				
			
			@ -542,6 +628,17 @@ make keyboardio/atreus:manna-harbour_miryoku:flash
 | 
			
		|||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** keyboardio/model01
 | 
			
		||||
 | 
			
		||||
Only the main 5x3 alphas and the inner 3 thumb keys are used.
 | 
			
		||||
 | 
			
		||||
To build for this keyboard,
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
make keyboardio/model01:manna-harbour_miryoku:flash
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** lily58
 | 
			
		||||
 | 
			
		||||
Only the main 5x3 alphas and the inner 3 thumb keys are used.
 | 
			
		||||
| 
						 | 
				
			
			@ -588,6 +685,15 @@ make redox_w:manna-harbour_miryoku:flash
 | 
			
		|||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** satt/vision
 | 
			
		||||
 | 
			
		||||
To build for this keyboard,
 | 
			
		||||
 | 
			
		||||
#+BEGIN_SRC sh :tangle no
 | 
			
		||||
make satt/vision:manna-harbour_miryoku:flash
 | 
			
		||||
#+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**** sofle
 | 
			
		||||
 | 
			
		||||
To build for this keyboard,
 | 
			
		||||
| 
						 | 
				
			
			@ -647,6 +753,16 @@ Combo the primary and secondary thumb keys to emulate the tertiary thumb key.  C
 | 
			
		|||
- [[https://github.com/manna-harbour/qmk_firmware/issues/33][Retro Shift]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
*** 𝑥MK
 | 
			
		||||
 | 
			
		||||
Use Miryoku QMK with any keyboard with [[https://github.com/manna-harbour/xmk][𝑥MK]].
 | 
			
		||||
 | 
			
		||||
For [[#local-builds][local builds]], merge https://github.com/manna-harbour/qmk_firmware/tree/xmk and build for keyboard ~converter/xmk~.
 | 
			
		||||
 | 
			
		||||
For [[#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.
 | 
			
		||||
 | 
			
		||||
Also see [[https://github.com/manna-harbour/miryoku_kmonad][Miryoku KMonad]].
 | 
			
		||||
 | 
			
		||||
** 
 | 
			
		||||
 | 
			
		||||
[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,52 +1,57 @@
 | 
			
		|||
 /* Copyright 2021 SethBarberee <seth.barberee@gmail.com>
 | 
			
		||||
  *
 | 
			
		||||
  * 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/>.
 | 
			
		||||
  */
 | 
			
		||||
/* Copyright 2021 SethBarberee <seth.barberee@gmail.com>
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
#   define RGBLIGHT_SLEEP
 | 
			
		||||
# ifndef RGBLIGHT_HUE_STEP
 | 
			
		||||
#   define RGBLIGHT_HUE_STEP 8
 | 
			
		||||
#endif
 | 
			
		||||
# ifndef RGBLIGHT_SAT_STEPT
 | 
			
		||||
#   define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
#endif
 | 
			
		||||
# ifndef RGBLIGHT_VAL_STEP
 | 
			
		||||
#   define RGBLIGHT_VAL_STEP 8
 | 
			
		||||
#endif
 | 
			
		||||
 // Trim animations I don't use/like
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_SNAKE
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_KNIGHT
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_CHRISTMAS
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_RGB_TEST
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_ALTERNATING
 | 
			
		||||
#    undef RGBLIGHT_EFFECT_TWINKLE
 | 
			
		||||
#    define RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
#    define RGBLIGHT_EFFECT_TWINKLE
 | 
			
		||||
#    define RGBLIGHT_SLEEP
 | 
			
		||||
#    ifndef RGBLIGHT_HUE_STEP
 | 
			
		||||
#        define RGBLIGHT_HUE_STEP 8
 | 
			
		||||
#    endif
 | 
			
		||||
#    ifndef RGBLIGHT_SAT_STEPT
 | 
			
		||||
#        define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
#    endif
 | 
			
		||||
#    ifndef RGBLIGHT_VAL_STEP
 | 
			
		||||
#        define RGBLIGHT_VAL_STEP 8
 | 
			
		||||
#    endif
 | 
			
		||||
 | 
			
		||||
// Trim animations I don't use/like
 | 
			
		||||
#    ifdef RGBLIGHT_ANIMATIONS
 | 
			
		||||
#        undef RGBLIGHT_ANIMATIONS
 | 
			
		||||
#    endif
 | 
			
		||||
#    ifndef RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#        define RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#    endif
 | 
			
		||||
#    ifndef RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
#        define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
#    endif
 | 
			
		||||
#    ifndef RGBLIGHT_EFFECT_TWINKLE
 | 
			
		||||
#        define RGBLIGHT_EFFECT_TWINKLE
 | 
			
		||||
#    endif
 | 
			
		||||
#    ifdef RGBLIGHT_DEFAULT_MODE
 | 
			
		||||
#        undef RGBLIGHT_DEFAULT_MODE
 | 
			
		||||
#        define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_TWINKLE
 | 
			
		||||
#    endif
 | 
			
		||||
 | 
			
		||||
#    ifndef CAPS_LOCK_MODE
 | 
			
		||||
#        define CAPS_LOCK_MODE RGBLIGHT_MODE_STATIC_LIGHT
 | 
			
		||||
#    endif
 | 
			
		||||
#endif // RGBLIGHT_ENABLE
 | 
			
		||||
 | 
			
		||||
#ifndef AUDIO_ENABLE
 | 
			
		||||
#       define NO_MUSIC_MODE
 | 
			
		||||
#    define NO_MUSIC_MODE
 | 
			
		||||
#endif // AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
#define FORCE_NKRO // Force NKRO on by default
 | 
			
		||||
| 
						 | 
				
			
			@ -54,7 +59,7 @@
 | 
			
		|||
// Totally taken from @drashna's userspace
 | 
			
		||||
#ifdef TAPPING_TERM
 | 
			
		||||
#    undef TAPPING_TERM
 | 
			
		||||
#endif  // TAPPING_TERM
 | 
			
		||||
#endif // TAPPING_TERM
 | 
			
		||||
//
 | 
			
		||||
// Keeping these commented for examples when I want to tweak per keyboard
 | 
			
		||||
// but setting a default across my boards for now
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue