summary refs log tree commit diff
diff options
context:
space:
mode:
authorManna Harbour <51143715+manna-harbour@users.noreply.github.com>2021-07-04 02:09:02 +1000
committerGitHub <noreply@github.com>2021-07-03 09:09:02 -0700
commit65f8da3034c0bc854aa23e0b8e78cbfc8a14ff19 (patch)
tree5d25526a9a241ae73f9cefb586329c0437a10c3a
parent3b1506b74119cf45927fcd25a230e79fbf7531b3 (diff)
[Keymap] Update Miryoku (#13307)
Fix reddit link

Duplicate open parenthesis next to close parenthesis on NSSL

Add customisation instructions

Add lily58

Add gergo
Co-authored-by: Jonathan Dayton <jonathandayton23@gmail.com>

Clean up LAYOUT macro formatting

Add alternative vi-style navigation layout

Add kyria

Add minidox

Change order of keyboards

Add iris

Expand TOC

Re-order userspace subheadings

Add atreus

Add customisation section

Add split_3x5_3 and split_3x6_3 layouts

Add for_science

Fix wrong paths in keyboard config.h and keymap.c headings

Fix keyboard ordering

Fix blank lines around headings

Add compatibility with new org-mode version.

Remove keyboards/crkbd now covered by layouts/split_3x6_3

Add Halmak

Alphabetise alternative alpha arrangements

Move build options out of base layer alphas headings

Add list of keyboards supporting split_3x5_3 layout

Enable Auto Shift and Retro Shift

Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping)

Change kyria thumb key mapping

Add planck_mit layout

Remove alternative bottom row support from ortho_4x12

Remove minidox
 - Covered by split_3x5_3 layout

Add moonlander

Remove KC_ macros

Add 60_ansi layout

Add ortho_5x15 layout
Closes manna-harbour/qmk_firmware#5
Co-authored-by: Rob <rob@debank.tv>

Fix typo (manna-harbour/qmk_firmware#7)
Author: sonnius <sonnius@users.noreply.github.com>

Add redox_w (manna-harbour/qmk_firmware#8)
Author: Brian Romanko <hello@bromanko.com>
Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com>

Add AUTO_SHIFT_NO_SETUP to reduce firmware size

Update image paths

Add instructions to checkout development branch

Add kyria extended thumbs option, change default, add KLE

Change clipboard keys
 - Change order to be mirror of windows bindings
 - Change default to use CUA bindings for Cut, Copy, and Paste, and Fun Cluster
bindings for Undo and Redo
 - Add alternative bindings
   - Fun Cluster (original miryoku bindings)
   - Mac
   - Windows
 - Change prefix for local macros from X_ to U_

Disable Retro Shift, enable Auto Shift for non-alphas

Revert "Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping)"

Add Experimental Features section

Update miryoku image link

Update cover image link

Add dactyl_manuform/4x5

Add cutomisation examples

Add https to remote example

Fix dactyl_manuform/4x5 subset mapping

Add extended thumbs to ortho_4x12

Update Colemak Mod-DH naming
Closes manna-harbour/qmk_firmware#13

Add dactyl_manuform/5x6
Resolves manna-harbour/qmk_firmware#14
Co-authored-by: Sebastian Morales <sebastian.moralesd@gmail.com>

Add note on FORCE_LAYOUT
 - Needed to use EXTENDED_THUMBS on planck

Add parent directories to keyboard headings and re-order

Add keyboardio/atreus
Resolves manna-harbour/qmk_firmware#15

Add torn
Resolves manna-harbour/qmk_firmware#16
Author: Brian Romanko <hello@bromanko.com>
Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com>

Change map to zip
 - Adds support for python3, still compatible with python2.
Resolves manna-harbour/qmk_firmware#10
Resolves manna-harbour/qmk_firmware#19
Co-authored-by: Ori <ori@oribarbut.com>

Add python-version

Add sofle

Add ergotravel

Add ortho_5x12

Add ortho_4x10

Add :main no header argument to C code blocks
resolves manna-harbour/qmk_firmware#11
resolves manna-harbour/qmk_firmware#12
Co-authored-by: RubioJr9 <u0893472@utah.edu>

Add flipped layers and inverted-T nav alternative layouts
 - Separate tap_table into alphas_table and thumbs_table
 - Add mode argument to table-layout-half
 - Remove layer_name
 - Rename layers
 - Add mods and clipboard to MBO and mirror
 - Add MIRYOKU_LAYERS=FLIP
 - Add MIRYOKU_NAV=INVERTEDT

Add layer diagrams

Update contact section

Update links for Bilateral Combinations and Retro Shift

Add description and no reverse angle option to 60_ansi layout

Update list of keyboards supporting community layouts
 - and example build command lines

Change moonlander thumb keys

Update list of keyboards supporting split_3x5_3

Add license to tangled C source files
-rw-r--r--keyboards/atreus/keymaps/manna-harbour_miryoku/config.h22
-rw-r--r--keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h16
-rw-r--r--keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h22
-rw-r--r--keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/for_science/keymaps/manna-harbour_miryoku/config.h23
-rw-r--r--keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/gergo/keymaps/manna-harbour_miryoku/config.h22
-rw-r--r--keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h25
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h26
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h23
-rw-r--r--keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h22
-rw-r--r--keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/kyria/keymaps/manna-harbour_miryoku/config.h37
-rw-r--r--keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/lily58/keymaps/manna-harbour_miryoku/config.h23
-rw-r--r--keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h24
-rw-r--r--keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h23
-rw-r--r--keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/sofle/keymaps/manna-harbour_miryoku/config.h23
-rw-r--r--keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/torn/keymaps/manna-harbour_miryoku/config.h20
-rw-r--r--keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--layouts/community/60_ansi/manna-harbour_miryoku/config.h39
-rw-r--r--layouts/community/60_ansi/manna-harbour_miryoku/keymap.c5
-rw-r--r--layouts/community/ergodox/manna-harbour_miryoku/config.h32
-rw-r--r--layouts/community/ergodox/manna-harbour_miryoku/keymap.c4
-rw-r--r--layouts/community/ortho_4x10/manna-harbour_miryoku/config.h20
-rw-r--r--layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c5
-rw-r--r--layouts/community/ortho_4x12/manna-harbour_miryoku/config.h35
-rw-r--r--layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c4
-rw-r--r--layouts/community/ortho_5x12/manna-harbour_miryoku/config.h51
-rw-r--r--layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c5
-rw-r--r--layouts/community/ortho_5x15/manna-harbour_miryoku/config.h39
-rw-r--r--layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c5
-rw-r--r--layouts/community/planck_mit/manna-harbour_miryoku/config.h20
-rw-r--r--layouts/community/planck_mit/manna-harbour_miryoku/keymap.c5
-rw-r--r--layouts/community/split_3x5_3/manna-harbour_miryoku/config.h20
-rw-r--r--layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c5
-rw-r--r--layouts/community/split_3x6_3/manna-harbour_miryoku/config.h20
-rw-r--r--layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c5
-rw-r--r--users/manna-harbour_miryoku/config.h12
-rw-r--r--users/manna-harbour_miryoku/manna-harbour_miryoku.c247
-rw-r--r--users/manna-harbour_miryoku/manna-harbour_miryoku.h44
-rw-r--r--users/manna-harbour_miryoku/miryoku.org2399
-rw-r--r--users/manna-harbour_miryoku/rules.mk24
53 files changed, 3026 insertions, 441 deletions
diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..5084aa5b9f
--- /dev/null
+++ b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,22 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+XXX, XXX, XXX, K32, K33, K34,      K35, K36, K37, XXX, XXX, XXX\
+)
diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h b/keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h
deleted file mode 100644
index 3f28d1323f..0000000000
--- a/keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-
-
-#pragma once
-
-#define LAYOUT_miryoku( \
-       K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09, \
-       K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19, \
-       K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29, \
-       N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39 \
-) \
-LAYOUT_split_3x6_3( \
-KC_NO, K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   KC_NO, \
-KC_NO, K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   KC_NO, \
-KC_NO, K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   KC_NO, \
-                     K32,   K33,   K34,   K35,   K36,   K37 \
-)
diff --git a/keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c
deleted file mode 100644
index a852ddd05c..0000000000
--- a/keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c
+++ /dev/null
@@ -1 +0,0 @@
-// generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-
diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..087fa5852e
--- /dev/null
+++ b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,22 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku( \
+     K00, K01, K02, K03, K04,                 K05, K06, K07, K08, K09, \
+     K10, K11, K12, K13, K14,                 K15, K16, K17, K18, K19, \
+     K20, K21, K22, K23, K24,                 K25, K26, K27, K28, K29, \
+     N30, N31, K32, K33, K34,                 K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04, XXX,       XXX, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, XXX,       XXX, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX,       XXX, K25, K26, K27, K28, K29, XXX, \
+XXX, XXX, XXX, K32,      K33, K34,       K35, K36,      K37, XXX, XXX, XXX  \
+)
diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..a297605096
--- /dev/null
+++ b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,23 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,     K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,     K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,     K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,     K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX,     XXX, XXX, XXX, XXX, XXX,\
+K00, K01, K02, K03, K04,     K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,     K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,     K25, K26, K27, K28, K29,\
+          K32, K33, K34,     K35, K36, K37\
+)
diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h b/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..b1438e94ef
--- /dev/null
+++ b/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,22 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39\
+)\
+LAYOUT_gergo(\
+XXX, K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14, XXX,                XXX, K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX, XXX,      XXX, XXX, K25, K26, K27, K28, K29, XXX,\
+                    K32, K33, K34, XXX,      XXX, K35, K36, K37\
+)
diff --git a/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..6348254503
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,25 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,                         K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                         K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                         K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,                         K35, K36, K37, N38, N39\
+)\
+LAYOUT( \
+K00, K01, K02, K03, K04,                         K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                         K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                         K25, K26, K27, K28, K29,\
+     XXX, XXX,                                             XXX, XXX, \
+               K32, K33,                         K36, K37, \
+                         K34, XXX,     XXX, K35, \
+                         XXX, XXX,     XXX, XXX \
+)
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..232b3930bf
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,26 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                         K05, K06, K07, K08, K09, \
+     K10, K11, K12, K13, K14,                         K15, K16, K17, K18, K19, \
+     K20, K21, K22, K23, K24,                         K25, K26, K27, K28, K29, \
+     N30, N31, K32, K33, K34,                         K35, K36, K37, N38, N39 \
+) \
+LAYOUT_5x6( \
+XXX, XXX, XXX, XXX, XXX, XXX,                         XXX, XXX, XXX, XXX, XXX, XXX, \
+XXX, K00, K01, K02, K03, K04,                         K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14,                         K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24,                         K25, K26, K27, K28, K29, XXX, \
+          XXX, XXX,                                             XXX, XXX, \
+                    K32, K33,                         K36, K37, \
+                              K34, XXX,     XXX, K35, \
+                              XXX, XXX,     XXX, XXX \
+)
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..0e9415edeb
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,23 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX,                XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, XXX,\
+                    K32, K33, K34,      K35, K36, K37\
+)
diff --git a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..97e4d23d8a
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,22 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku( \
+K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29, \
+N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, \
+XXX, XXX, XXX, K32, K33, K34,      K35, K36, K37, XXX, XXX, XXX \
+)
diff --git a/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h b/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..c04bee9b4f
--- /dev/null
+++ b/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,37 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku( \
+     K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, \
+     K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19, \
+     K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29, \
+     N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX,      XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+               XXX, XXX, K32, K33, K34,      K35, K36, K37, XXX, XXX \
+)
+#else
+#define LAYOUT_miryoku( \
+     K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, \
+     K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19, \
+     K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29, \
+     N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX,      XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+               XXX, K32, K33, K34, XXX,      XXX, K35, K36, K37, XXX \
+)
+#endif
diff --git a/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h b/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..14a0afbfee
--- /dev/null
+++ b/keyboards/lily58/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,23 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX,                XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, XXX,\
+               XXX, K32, K33, K34,      K35, K36, K37, XXX\
+)
diff --git a/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h b/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..ad6eee3682
--- /dev/null
+++ b/keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,24 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,               K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,               K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,               K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,               K35, K36, K37, N38, N39\
+)\
+LAYOUT_moonlander(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX,     XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04, XXX,     XXX, K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14, XXX,     XXX, K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24,               K25, K26, K27, K28, K29, XXX,\
+XXX, XXX, XXX, XXX, K32,      XXX,     XXX,      K37, XXX, XXX, XXX, XXX,\
+                    K33, K34, XXX,     XXX, K35, K36\
+)
diff --git a/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h b/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..f426e2f79f
--- /dev/null
+++ b/keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,23 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX,                          XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04, XXX,                XXX, K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14, XXX,                XXX, K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX, XXX,      XXX, XXX, K25, K26, K27, K28, K29, XXX,\
+XXX, XXX, XXX, XXX,    K32,   K33, K34,      K35, K36,    K37,   XXX, XXX, XXX, XXX\
+)
diff --git a/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h b/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..53825775cc
--- /dev/null
+++ b/keyboards/sofle/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,23 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX,                XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, XXX,\
+          XXX, XXX, K32, K33, K34,      K35, K36, K37, XXX, XXX\
+)
diff --git a/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/keyboards/torn/keymaps/manna-harbour_miryoku/config.h b/keyboards/torn/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..60ae65d505
--- /dev/null
+++ b/keyboards/torn/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,20 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define LAYOUT_miryoku( \
+       K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09, \
+       K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19, \
+       K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29, \
+       N30,   N31,   K32,   K33,   K34,          K35,   K36,   K37,   N38,   N39 \
+) \
+LAYOUT_split_3x6_4( \
+KC_NO, K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,   KC_NO, \
+KC_NO, K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,   KC_NO, \
+KC_NO, K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,   KC_NO, \
+              KC_NO, K32,   K33,   K34,          K35,   K36,   K37,   KC_NO \
+)
diff --git a/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/60_ansi/manna-harbour_miryoku/config.h b/layouts/community/60_ansi/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..14bf842165
--- /dev/null
+++ b/layouts/community/60_ansi/manna-harbour_miryoku/config.h
@@ -0,0 +1,39 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#if defined MIRYOKU_MAPPING_NOREVERSEANGLE
+#define LAYOUT_miryoku(\
+K00,  K01,  K02,  K03,  K04,                    K05,  K06,  K07,  K08,  K09,\
+K10,  K11,  K12,  K13,  K14,                    K15,  K16,  K17,  K18,  K19,\
+K20,  K21,  K22,  K23,  K24,                    K25,  K26,  K27,  K28,  K29,\
+N30,  N31,  K32,  K33,  K34,                    K35,  K36,  K37,  N38,  N39\
+)\
+LAYOUT_60_ansi(\
+K00,  K01,  K02,  K03,  K04,  XXX,  XXX,  XXX,  K05,  K06,  K07,  K08,  K09,  XXX,\
+   K10,  K11,  K12,  K13,  K14,  XXX,  XXX,  XXX,  K15,  K16,  K17,  K18,  K19,  XXX,\
+     K20,  K21,  K22,  K23,  K24,  XXX,  XXX,  XXX,  K25,  K26,  K27,  K28,  K29,\
+  XXX,        K32,  K33,  K34,  XXX,  XXX,  XXX,  XXX,  K35,  K36,  K37,  XXX,\
+  XXX,  XXX,  XXX,              XXX,              XXX,  XXX,        XXX,  XXX\
+)
+#else
+#define LAYOUT_miryoku(\
+            K00,  K01,  K02,  K03,  K04,        K05,  K06,  K07,  K08,  K09,\
+            K10,  K11,  K12,  K13,  K14,        K15,  K16,  K17,  K18,  K19,\
+            K20,  K21,  K22,  K23,  K24,        K25,  K26,  K27,  K28,  K29,\
+            N30,  N31,  K32,  K33,  K34,        K35,  K36,  K37,  N38,  N39\
+)\
+LAYOUT_60_ansi(\
+XXX,  XXX,  K00,  K01,  K02,  K03,  K04,  XXX,  K05,  K06,  K07,  K08,  K09,  XXX,\
+   XXX,  K10,  K11,  K12,  K13,  K14,  XXX,  XXX,  K15,  K16,  K17,  K18,  K19,  XXX,\
+     K20,  K21,  K22,  K23,  K24,  XXX,  XXX,  XXX,  K25,  K26,  K27,  K28,  K29,\
+  XXX,        XXX,  K32,  K33,  K34,  XXX,  XXX,  XXX,  K35,  K36,  K37,  XXX,\
+  XXX,  XXX,  XXX,              XXX,              XXX,  XXX,        XXX,  XXX\
+)
+#endif
diff --git a/layouts/community/60_ansi/manna-harbour_miryoku/keymap.c b/layouts/community/60_ansi/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/layouts/community/60_ansi/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/ergodox/manna-harbour_miryoku/config.h b/layouts/community/ergodox/manna-harbour_miryoku/config.h
index 0f20409c2e..836193ddce 100644
--- a/layouts/community/ergodox/manna-harbour_miryoku/config.h
+++ b/layouts/community/ergodox/manna-harbour_miryoku/config.h
@@ -1,20 +1,26 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
 // generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
 
+#define XXX KC_NO
+
 #define LAYOUT_miryoku(\
-K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,\
-K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
-K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
-N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39\
+     K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
 )\
-LAYOUT_ergodox_pretty( \
-KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
-KC_NO, K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,   KC_NO, \
-KC_NO, K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,   KC_NO, \
-KC_NO, K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,   KC_NO, \
-KC_NO, KC_NO, KC_NO, KC_NO, K32,                               K37,   KC_NO, KC_NO, KC_NO, KC_NO, \
-                                   KC_NO, KC_NO, KC_NO, KC_NO, \
-                                          KC_NO, KC_NO, \
-                            K33,   K34,   KC_NO, KC_NO, K35,   K36 \
+LAYOUT_ergodox_pretty(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX,      XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04, XXX,      XXX, K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, XXX,\
+XXX, XXX, XXX, XXX, K32,                          K37, XXX, XXX, XXX, XXX,\
+                         XXX, XXX,      XXX, XXX,\
+                              XXX,      XXX,\
+                    K33, K34, XXX,      XXX, K35, K36\
 )
diff --git a/layouts/community/ergodox/manna-harbour_miryoku/keymap.c b/layouts/community/ergodox/manna-harbour_miryoku/keymap.c
index a852ddd05c..1520387e88 100644
--- a/layouts/community/ergodox/manna-harbour_miryoku/keymap.c
+++ b/layouts/community/ergodox/manna-harbour_miryoku/keymap.c
@@ -1 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
 // generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/ortho_4x10/manna-harbour_miryoku/config.h b/layouts/community/ortho_4x10/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..7142f2960d
--- /dev/null
+++ b/layouts/community/ortho_4x10/manna-harbour_miryoku/config.h
@@ -0,0 +1,20 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_4x10(\
+K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO\
+)
diff --git a/layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c b/layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/ortho_4x12/manna-harbour_miryoku/config.h b/layouts/community/ortho_4x12/manna-harbour_miryoku/config.h
index 772b510ef6..8ccab4da9f 100644
--- a/layouts/community/ortho_4x12/manna-harbour_miryoku/config.h
+++ b/layouts/community/ortho_4x12/manna-harbour_miryoku/config.h
@@ -1,13 +1,17 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
 // generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
 
 #if defined MIRYOKU_MAPPING_SPLIT
 #define LAYOUT_miryoku(\
-K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,\
-K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
-K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
-N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
 )\
 LAYOUT_ortho_4x12(\
 KC_NO, K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   KC_NO,\
@@ -15,17 +19,30 @@ K00,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K09
 K10,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K19,\
 K20,   KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO, K29\
 )
+#elif defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_4x12(\
+K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO, KC_NO\
+)
 #else
 #define LAYOUT_miryoku(\
-K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,\
-K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
-K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
-N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
 )\
 LAYOUT_ortho_4x12(\
 K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
 K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
 K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
-KC_NO, KC_NO, K32,   K33,   K34,   K34,   K35,   K35,   K36,   K37,   KC_NO, KC_NO\
+KC_NO, KC_NO, K32,   K33,   K34,   KC_NO, KC_NO, K35,   K36,   K37,   KC_NO, KC_NO\
 )
 #endif
diff --git a/layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c b/layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c
index a852ddd05c..1520387e88 100644
--- a/layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c
+++ b/layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c
@@ -1 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
 // generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/ortho_5x12/manna-harbour_miryoku/config.h b/layouts/community/ortho_5x12/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..86b854db5c
--- /dev/null
+++ b/layouts/community/ortho_5x12/manna-harbour_miryoku/config.h
@@ -0,0 +1,51 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#if defined MIRYOKU_MAPPING_SPLIT
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_5x12(\
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
+KC_NO, K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   KC_NO,\
+K00,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K09,\
+K10,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K19,\
+K20,   KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO, K29\
+)
+#elif defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_5x12(\
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
+K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO, KC_NO\
+)
+#else
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_5x12(\
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
+K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, K32,   K33,   K34,   KC_NO, KC_NO, K35,   K36,   K37,   KC_NO, KC_NO\
+)
+#endif
diff --git a/layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c b/layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/ortho_5x15/manna-harbour_miryoku/config.h b/layouts/community/ortho_5x15/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..f9ccbdf2df
--- /dev/null
+++ b/layouts/community/ortho_5x15/manna-harbour_miryoku/config.h
@@ -0,0 +1,39 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define XXX KC_NO
+
+#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39\
+)\
+LAYOUT_ortho_5x15(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+K00, K01, K02, K03, K04, XXX, XXX, XXX, XXX, XXX, K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14, XXX, XXX, XXX, XXX, XXX, K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29,\
+XXX, XXX, XXX, K32, K33, K34, XXX, XXX, XXX, K35, K36, K37, XXX, XXX, XXX\
+)
+#else
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39\
+)\
+LAYOUT_ortho_5x15(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+K00, K01, K02, K03, K04, XXX, XXX, XXX, XXX, XXX, K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14, XXX, XXX, XXX, XXX, XXX, K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29,\
+XXX, XXX, K32, K33, K34, XXX, XXX, XXX, XXX, XXX, K35, K36, K37, XXX, XXX\
+)
+#endif
diff --git a/layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c b/layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/planck_mit/manna-harbour_miryoku/config.h b/layouts/community/planck_mit/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..c1024d8012
--- /dev/null
+++ b/layouts/community/planck_mit/manna-harbour_miryoku/config.h
@@ -0,0 +1,20 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_planck_mit(\
+K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, K32,   K33,   K34,      KC_NO,     K35,   K36,   K37,   KC_NO, KC_NO\
+)
diff --git a/layouts/community/planck_mit/manna-harbour_miryoku/keymap.c b/layouts/community/planck_mit/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/layouts/community/planck_mit/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/split_3x5_3/manna-harbour_miryoku/config.h b/layouts/community/split_3x5_3/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..ad9495a934
--- /dev/null
+++ b/layouts/community/split_3x5_3/manna-harbour_miryoku/config.h
@@ -0,0 +1,20 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,          K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_split_3x5_3(\
+K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,\
+              K32,   K33,   K34,          K35,   K36,   K37\
+)
diff --git a/layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c b/layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/layouts/community/split_3x6_3/manna-harbour_miryoku/config.h b/layouts/community/split_3x6_3/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..f21188f333
--- /dev/null
+++ b/layouts/community/split_3x6_3/manna-harbour_miryoku/config.h
@@ -0,0 +1,20 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
+
+#define LAYOUT_miryoku(\
+       K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,\
+       K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,\
+       K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,\
+       N30,   N31,   K32,   K33,   K34,          K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_split_3x6_3(\
+KC_NO, K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,   KC_NO,\
+KC_NO, K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,   KC_NO,\
+KC_NO, K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,   KC_NO,\
+                     K32,   K33,   K34,          K35,   K36,   K37\
+)
diff --git a/layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c b/layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..1520387e88
--- /dev/null
+++ b/layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c
@@ -0,0 +1,5 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
+// generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
diff --git a/users/manna-harbour_miryoku/config.h b/users/manna-harbour_miryoku/config.h
index db16088158..38d363299e 100644
--- a/users/manna-harbour_miryoku/config.h
+++ b/users/manna-harbour_miryoku/config.h
@@ -1,8 +1,13 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
 // generated from users/manna-harbour_miryoku/miryoku.org  -*- 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
 
-// default but important
+// default but used in macros
+#undef TAPPING_TERM
 #define TAPPING_TERM 200
 
 // Prevent normal rollover on alphas from accidentally triggering mods.
@@ -11,6 +16,11 @@
 // Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
 #define TAPPING_FORCE_HOLD
 
+// Auto Shift
+#define NO_AUTO_SHIFT_ALPHA
+#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
+#define AUTO_SHIFT_NO_SETUP
+
 // Recommended for heavy chording.
 #define QMK_KEYS_PER_SCAN 4
 
diff --git a/users/manna-harbour_miryoku/manna-harbour_miryoku.c b/users/manna-harbour_miryoku/manna-harbour_miryoku.c
index 9bc0f17e63..ff25b77934 100644
--- a/users/manna-harbour_miryoku/manna-harbour_miryoku.c
+++ b/users/manna-harbour_miryoku/manna-harbour_miryoku.c
@@ -1,91 +1,216 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
 // generated from users/manna-harbour_miryoku/miryoku.org  -*- 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/>.
+
 #include "manna-harbour_miryoku.h"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-#if defined MIRYOKU_ALPHAS_QWERTY
+#if defined MIRYOKU_LAYERS_FLIP
   [BASE] = LAYOUT_miryoku(
+  #if defined MIRYOKU_ALPHAS_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),
+    KC_Z,              ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_K,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    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
+  #elif defined MIRYOKU_ALPHAS_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),
+    KC_Z,              ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_M,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    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
+  #elif defined MIRYOKU_ALPHAS_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),
+    KC_SLSH,           ALGR_T(KC_Q),      KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              ALGR_T(KC_V),      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
+  #elif defined MIRYOKU_ALPHAS_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),
+    KC_F,              ALGR_T(KC_M),      KC_V,              KC_C,              KC_SLSH,           KC_G,              KC_P,              KC_X,              ALGR_T(KC_K),      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
+  #elif defined MIRYOKU_ALPHAS_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),
+    KC_Z,              ALGR_T(KC_X),      KC_M,              KC_C,              KC_V,              KC_K,              KC_L,              KC_COMM,           ALGR_T(KC_DOT),    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
+  #elif defined MIRYOKU_ALPHAS_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),
     KC_Z,              ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    KC_SLSH,
-    KC_NP,             KC_NP,             LT(MEDR, KC_ESC),  LT(NAVR, KC_SPC),  LT(MOUR, KC_TAB),  LT(NSSL, KC_ENT),  LT(NSL, KC_BSPC),  LT(FUNL, KC_DEL),  KC_NP,             KC_NP
+    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
+  #else
+    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),
+    KC_Z,              ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    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
+  #endif
   ),
-#elif defined MIRYOKU_ALPHAS_DVORAK
-  [BASE] = LAYOUT_miryoku(
-    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),
-    KC_SLSH,           ALGR_T(KC_Q),      KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              ALGR_T(KC_V),      KC_Z,
-    KC_NP,             KC_NP,             LT(MEDR, KC_ESC),  LT(NAVR, KC_SPC),  LT(MOUR, KC_TAB),  LT(NSSL, KC_ENT),  LT(NSL, KC_BSPC),  LT(FUNL, KC_DEL),  KC_NP,             KC_NP
+  #if defined MIRYOKU_NAV_INVERTEDT
+  [NAV] = LAYOUT_miryoku(
+    KC_PGUP, KC_HOME, KC_UP,   KC_END,  KC_INS,  U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    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
+  ),
+  [MOUSE] = LAYOUT_miryoku(
+    KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, U_NU,    U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    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
+  ),
+  [MEDIA] = LAYOUT_miryoku(
+    U_NU,    U_NU,    KC_VOLU, U_NU,    U_NU,    U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    U_NU,    KC_MPRV, KC_VOLD, KC_MNXT, U_NU,    U_NA,    KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+    RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, 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
+  ),
+  #else
+  [NAV] = LAYOUT_miryoku(
+    KC_HOME, KC_PGDN, KC_PGUP, KC_END,  KC_INS,  U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    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
+  ),
+  [MOUSE] = LAYOUT_miryoku(
+    KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU,    U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    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
+  ),
+  [MEDIA] = LAYOUT_miryoku(
+    RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    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,    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
+  ),
+  #endif
+  [MBO] = LAYOUT_miryoku(
+    U_RDO,   U_PST,   U_CPY,   U_CUT,   U_UND,   U_RDO,   U_PST,   U_CPY,   U_CUT,   U_UND,
+    KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_TRNS, KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    U_NP,    U_NP,    KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_BTN3, KC_BTN2, U_NP,    U_NP
+  ),
+  [NUM] = LAYOUT_miryoku(
+    RESET,   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
   ),
-#elif defined MIRYOKU_ALPHAS_COLEMAK
+  [SYM] = LAYOUT_miryoku(
+    RESET,   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
+  ),
+  [FUN] = LAYOUT_miryoku(
+    RESET,   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_SLCK, 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
+  )
+,
+#else
   [BASE] = LAYOUT_miryoku(
+  #if defined MIRYOKU_ALPHAS_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),
     KC_Z,              ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_K,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    KC_SLSH,
-    KC_NP,             KC_NP,             LT(MEDR, KC_ESC),  LT(NAVR, KC_SPC),  LT(MOUR, KC_TAB),  LT(NSSL, KC_ENT),  LT(NSL, KC_BSPC),  LT(FUNL, KC_DEL),  KC_NP,             KC_NP
-  ),
-#elif defined MIRYOKU_ALPHAS_COLEMAKDH
-  [BASE] = LAYOUT_miryoku(
+    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
+  #elif defined MIRYOKU_ALPHAS_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),
     KC_Z,              ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_M,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    KC_SLSH,
-    KC_NP,             KC_NP,             LT(MEDR, KC_ESC),  LT(NAVR, KC_SPC),  LT(MOUR, KC_TAB),  LT(NSSL, KC_ENT),  LT(NSL, KC_BSPC),  LT(FUNL, KC_DEL),  KC_NP,             KC_NP
-  ),
-#elif defined MIRYOKU_ALPHAS_WORKMAN
-  [BASE] = LAYOUT_miryoku(
+    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
+  #elif defined MIRYOKU_ALPHAS_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),
+    KC_SLSH,           ALGR_T(KC_Q),      KC_J,              KC_K,              KC_X,              KC_B,              KC_M,              KC_W,              ALGR_T(KC_V),      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
+  #elif defined MIRYOKU_ALPHAS_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),
+    KC_F,              ALGR_T(KC_M),      KC_V,              KC_C,              KC_SLSH,           KC_G,              KC_P,              KC_X,              ALGR_T(KC_K),      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
+  #elif defined MIRYOKU_ALPHAS_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),
     KC_Z,              ALGR_T(KC_X),      KC_M,              KC_C,              KC_V,              KC_K,              KC_L,              KC_COMM,           ALGR_T(KC_DOT),    KC_SLSH,
-    KC_NP,             KC_NP,             LT(MEDR, KC_ESC),  LT(NAVR, KC_SPC),  LT(MOUR, KC_TAB),  LT(NSSL, KC_ENT),  LT(NSL, KC_BSPC),  LT(FUNL, KC_DEL),  KC_NP,             KC_NP
-  ),
-#else
-  [BASE] = LAYOUT_miryoku(
+    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
+  #elif defined MIRYOKU_ALPHAS_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),
+    KC_Z,              ALGR_T(KC_X),      KC_C,              KC_V,              KC_B,              KC_N,              KC_M,              KC_COMM,           ALGR_T(KC_DOT),    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
+  #else
     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),
     KC_Z,              ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    KC_SLSH,
-    KC_NP,             KC_NP,             LT(MEDR, KC_ESC),  LT(NAVR, KC_SPC),  LT(MOUR, KC_TAB),  LT(NSSL, KC_ENT),  LT(NSL, KC_BSPC),  LT(FUNL, KC_DEL),  KC_NP,             KC_NP
+    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
+  #endif
   ),
-#endif
-  [NAVR] = LAYOUT_miryoku(
-    KC_RST,  KC_NA,   KC_NA,   KC_NA,   KC_NA,   KC_AGIN, KC_UNDO, KC_CUT,  KC_COPY, KC_PSTE,
-    KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NA,   KC_CAPS, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT,
-    KC_NA,   KC_ALGR, KC_NA,   KC_NA,   KC_NA,   KC_INS,  KC_HOME, KC_PGDN, KC_PGUP, KC_END,
-    KC_NP,   KC_NP,   KC_NA,   KC_NA,   KC_NA,   KC_ENT,  KC_BSPC, KC_DEL,  KC_NP,   KC_NP
-  ),
-  [MOUR] = LAYOUT_miryoku(
-    KC_RST,  KC_NA,   KC_NA,   KC_NA,   KC_NA,   KC_NU,   KC_NU,   KC_NU,   KC_NU,   KC_NU,
-    KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NA,   KC_NU,   KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R,
-    KC_NA,   KC_ALGR, KC_NA,   KC_NA,   KC_NA,   KC_NU,   KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R,
-    KC_NP,   KC_NP,   KC_NA,   KC_NA,   KC_NA,   KC_BTN1, KC_BTN3, KC_BTN2, KC_NP,   KC_NP
+  #if defined MIRYOKU_NAV_VI
+  [NAV] = LAYOUT_miryoku(
+    RESET,   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
+  ),
+  [MOUSE] = LAYOUT_miryoku(
+    RESET,   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
+  ),
+  [MEDIA] = LAYOUT_miryoku(
+    RESET,   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, U_NU,
+    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
+  ),
+  #else
+  [NAV] = LAYOUT_miryoku(
+    RESET,   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
+  ),
+  [MOUSE] = LAYOUT_miryoku(
+    RESET,   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
   ),
+  [MEDIA] = LAYOUT_miryoku(
+    RESET,   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,    U_NU,    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
+  ),
+  #endif
   [MBO] = LAYOUT_miryoku(
     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-    KC_NP,   KC_NP,   KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN3, KC_BTN2, KC_NP,   KC_NP
-  ),
-  [MEDR] = LAYOUT_miryoku(
-    KC_RST,  KC_NA,   KC_NA,   KC_NA,   KC_NA,   KC_TOG,  KC_MOD,  KC_HUI,  KC_SAI,  KC_VAI,
-    KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_NA,   KC_NU,   KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT,
-    KC_NA,   KC_ALGR, KC_NA,   KC_NA,   KC_NA,   KC_NU,   KC_NU,   KC_NU,   KC_NU,   KC_NU,
-    KC_NP,   KC_NP,   KC_NA,   KC_NA,   KC_NA,   KC_MSTP, KC_MPLY, KC_MUTE, KC_NP,   KC_NP
-  ),
-  [FUNL] = LAYOUT_miryoku(
-    KC_F12,  KC_F7,   KC_F8,   KC_F9,   KC_PSCR, KC_NA,   KC_NA,   KC_NA,   KC_NA,   KC_RST,
-    KC_F11,  KC_F4,   KC_F5,   KC_F6,   KC_SLCK, KC_NA,   KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
-    KC_F10,  KC_F1,   KC_F2,   KC_F3,   KC_PAUS, KC_NA,   KC_NA,   KC_NA,   KC_ALGR, KC_NA,
-    KC_NP,   KC_NP,   KC_APP,  KC_SPC,  KC_TAB,  KC_NA,   KC_NA,   KC_NA,   KC_NP,   KC_NP
-  ),
-  [NSL] = LAYOUT_miryoku(
-    KC_LBRC, KC_7,    KC_8,    KC_9,    KC_RBRC, KC_NA,   KC_NA,   KC_NA,   KC_NA,   KC_RST,
-    KC_SCLN, KC_4,    KC_5,    KC_6,    KC_EQL,  KC_NA,   KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
-    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_BSLS, KC_NA,   KC_NA,   KC_NA,   KC_ALGR, KC_NA,
-    KC_NP,   KC_NP,   KC_DOT,  KC_0,    KC_MINS, KC_NA,   KC_NA,   KC_NA,   KC_NP,   KC_NP
-  ),
-  [NSSL] = LAYOUT_miryoku(
-    KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NA,   KC_NA,   KC_NA,   KC_NA,   KC_RST,
-    KC_COLN, KC_DLR,  KC_PERC, KC_CIRC, KC_PLUS, KC_NA,   KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
-    KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_PIPE, KC_NA,   KC_NA,   KC_NA,   KC_ALGR, KC_NA,
-    KC_NP,   KC_NP,   KC_GT,   KC_RPRN, KC_UNDS, KC_NA,   KC_NA,   KC_NA,   KC_NP,   KC_NP
+    KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_TRNS, KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+    U_RDO,   U_PST,   U_CPY,   U_CUT,   U_UND,   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
+  ),
+  [NUM] = LAYOUT_miryoku(
+    KC_LBRC, KC_7,    KC_8,    KC_9,    KC_RBRC, U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    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
+  ),
+  [SYM] = LAYOUT_miryoku(
+    KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    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
+  ),
+  [FUN] = LAYOUT_miryoku(
+    KC_F12,  KC_F7,   KC_F8,   KC_F9,   KC_PSCR, U_NA,    U_NA,    U_NA,    U_NA,    RESET,
+    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,    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
   )
+#endif
 };
diff --git a/users/manna-harbour_miryoku/manna-harbour_miryoku.h b/users/manna-harbour_miryoku/manna-harbour_miryoku.h
index 5f543cb0f6..4d62c17079 100644
--- a/users/manna-harbour_miryoku/manna-harbour_miryoku.h
+++ b/users/manna-harbour_miryoku/manna-harbour_miryoku.h
@@ -1,19 +1,41 @@
+// Copyright 2019 Manna Harbour
+// https://github.com/manna-harbour/miryoku
 // generated from users/manna-harbour_miryoku/miryoku.org  -*- 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 QMK_KEYBOARD_H
 
-#define KC_NP KC_NO // key is not present
-#define KC_NA KC_NO // present but not available for use
-#define KC_NU KC_NO // available but not used
+#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
 
-// non-KC_ keycodes
-#define KC_RST RESET
-#define KC_TOG RGB_TOG
-#define KC_MOD RGB_MOD
-#define KC_HUI RGB_HUI
-#define KC_SAI RGB_SAI
-#define KC_VAI RGB_VAI
+enum layers { BASE, MBO, MEDIA, NAV, MOUSE, SYM, NUM, FUN };
 
-enum layers { BASE, MBO, MEDR, NAVR, MOUR, NSSL, NSL, FUNL };
+#if defined MIRYOKU_CLIPBOARD_FUN
+#define U_RDO KC_AGIN
+#define U_PST KC_PSTE
+#define U_CPY KC_COPY
+#define U_CUT KC_CUT
+#define U_UND KC_UNDO
+#elif defined MIRYOKU_CLIPBOARD_MAC
+#define U_RDO SCMD(KC_Z)
+#define U_PST LCMD(KC_V)
+#define U_CPY LCMD(KC_C)
+#define U_CUT LCMD(KC_X)
+#define U_UND LCMD(KC_Z)
+#elif defined MIRYOKU_CLIPBOARD_WIN
+#define U_RDO C(KC_Y)
+#define U_PST C(KC_V)
+#define U_CPY C(KC_C)
+#define U_CUT C(KC_X)
+#define U_UND C(KC_Z)
+#else
+#define U_RDO KC_AGIN
+#define U_PST S(KC_INS)
+#define U_CPY C(KC_INS)
+#define U_CUT S(KC_DEL)
+#define U_UND KC_UNDO
+#endif
diff --git a/users/manna-harbour_miryoku/miryoku.org b/users/manna-harbour_miryoku/miryoku.org
index 011e43455a..2f6b1d5a88 100644
--- a/users/manna-harbour_miryoku/miryoku.org
+++ b/users/manna-harbour_miryoku/miryoku.org
@@ -1,8 +1,8 @@
 # After making changes to code or tables call org-babel-tangle (C-c C-v t).
 
-#+Title: Miryoku [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/miryoku-roa-32.png]]
+#+Title: Miryoku [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]]
 
-[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/kle-miryoku-keycodes.png]]
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover.png]]
 
 Miryoku is an ergonomic, minimal, orthogonal layout for ergo or ortho keyboards,
 implemented as part of the QMK firmware.
@@ -13,23 +13,83 @@ different physical layouts as a subset without code duplication using the QMK
 userspace feature and C macros.
 
 Please see the [[https://github.com/manna-harbour/qmk_firmware/blob/miryoku/users/manna-harbour_miryoku/miryoku.org][development branch]] for any [[https://github.com/qmk/qmk_firmware/compare/master...manna-harbour:miryoku][updates not yet merged into QMK]].
-Additional visualisations are provided outside QMK in the [[https://github.com/manna-harbour/miryoku/blob/master/README.org][Miryoku (Extras) repository]].
 
-* Contents                                                              :TOC:
+To checkout the development branch in your existing QMK build environment:
+#+BEGIN_SRC sh :tangle no
+git remote add manna-harbour git@github.com:manna-harbour/qmk_firmware.git # ssh
+git remote add manna-harbour https://github.com/manna-harbour/qmk_firmware.git # https
+git fetch manna-harbour
+git checkout --track manna-harbour/miryoku
+#+END_SRC
+
+Additional implementations and visualisations are provided outside QMK in the
+[[https://github.com/manna-harbour/miryoku/blob/master/README.org][Miryoku (Extras) repository]].
+
+
+* Contents                                                              :TOC_3:
 - [[#layout][Layout]]
   - [[#general-principles][General Principles]]
   - [[#details][Details]]
   - [[#layers][Layers]]
+    - [[#base][Base]]
+    - [[#nav][Nav]]
+    - [[#mouse][Mouse]]
+    - [[#mouse-buttons-overlay][Mouse Buttons Overlay]]
+    - [[#media][Media]]
+    - [[#num][Num]]
+    - [[#sym][Sym]]
+    - [[#fun][Fun]]
+    - [[#alternative-layouts][Alternative Layouts]]
 - [[#code-generation][Code Generation]]
   - [[#table-conversion-scripts][Table Conversion Scripts]]
+    - [[#table-layout-taphold][table-layout-taphold]]
+    - [[#table-layout-half][table-layout-half]]
+    - [[#table-layout-full][table-layout-full]]
+    - [[#table-enums][table-enums]]
+    - [[#table-keycode-mappings][table-keycode-mappings]]
   - [[#data][Data]]
+    - [[#symbol-names][symbol-names]]
+    - [[#mods][mods]]
+    - [[#nonkc][nonkc]]
+    - [[#header][header]]
+    - [[#license-qmk][license-qmk]]
 - [[#subset-mapping][Subset Mapping]]
   - [[#userspace][Userspace]]
+    - [[#usersmanna-harbour_miryokurulesmk][users/manna-harbour_miryoku/rules.mk]]
+    - [[#usersmanna-harbour_miryokuconfigh][users/manna-harbour_miryoku/config.h]]
+    - [[#usersmanna-harbour_miryokumanna-harbour_miryokuh][users/manna-harbour_miryoku/manna-harbour_miryoku.h]]
+    - [[#usersmanna-harbour_miryokumanna-harbour_miryokuc][users/manna-harbour_miryoku/manna-harbour_miryoku.c]]
   - [[#layouts][Layouts]]
+    - [[#60_ansi][60_ansi]]
+    - [[#ergodox][ergodox]]
+    - [[#ortho_4x10][ortho_4x10]]
+    - [[#ortho_4x12][ortho_4x12]]
+    - [[#ortho_5x12][ortho_5x12]]
+    - [[#ortho_5x15][ortho_5x15]]
+    - [[#planck_mit][planck_mit]]
+    - [[#split_3x5_3][split_3x5_3]]
+    - [[#split_3x6_3][split_3x6_3]]
   - [[#keyboards][Keyboards]]
+    - [[#atreus][atreus]]
+    - [[#ergotravel][ergotravel]]
+    - [[#for_science][for_science]]
+    - [[#gergo][gergo]]
+    - [[#handwireddactyl_manuform4x5][handwired/dactyl_manuform/4x5]]
+    - [[#handwireddactyl_manuform5x6][handwired/dactyl_manuform/5x6]]
+    - [[#keebioiris][keebio/iris]]
+    - [[#keyboardioatreus][keyboardio/atreus]]
+    - [[#kyria][kyria]]
+    - [[#lily58][lily58]]
+    - [[#moonlander][moonlander]]
+    - [[#redox_w][redox_w]]
+    - [[#sofle][sofle]]
+    - [[#torn][torn]]
+  - [[#customisation][Customisation]]
+    - [[#examples][Examples]]
+- [[#experimental-features][Experimental Features]]
+  - [[#bilateral-combinations][Bilateral Combinations]]
+  - [[#retro-shift][Retro Shift]]
 - [[#documentation][Documentation]]
-  - [[#qmk][QMK]]
-  - [[#org-mode][Org Mode]]
 - [[#contact][Contact]]
 
 * Layout
@@ -70,184 +130,465 @@ Additional visualisations are provided outside QMK in the [[https://github.com/m
   thumbs, but thumb tap keys are mirrored onto some layers for use with
   auto-repeat.  On other layers thumb keys are redefined with important
   functions for that layer.
+- Auto Shift for numbers and symbols.
 
 
 ** Layers
 
-The layers are maintained in tables, with the thumb keys on the bottom row.  NP
-indicates the key is not present and is used to fill in the table around the
-thumb keys.  The grid arrangement of the tables does not imply a particular
-physical layout.
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-reference.png]]
+
+The layers are maintained in tables.  ~U_NP~ indicates the key is not present
+and is used to fill in the table around the thumb keys.  The grid arrangement of
+the tables does not imply a particular physical layout.
+
+Basic keycodes are entered without the ~KC_~ prefix.  Symbols can be entered
+as-is, except for '-' (~MINS~), '.' (~DOT~), '|' (~PIPE~), and '"' (~DQUO~).
+Empty cells are unused.
+
+The base layer is maintained as separate tables for tap alphas, tap thumbs, and
+hold.  Other layers are specified as a single hand including thumbs.  Tables are
+combined to produce the keymap for each layer.
 
-Basic keycodes are entered without the KC_ prefix.  Symbols can be entered as-is
-(excepting '"' (DQUO) and '|' (PIPE)).  Empty cells are unused.
+Mods (and reset) will be available on sub layers on the same hand as the layer
+change thumb key.  Unknown names are considered to be layer names.
 
-The base layer has both halves of the layout joined for convenience.  Other
-layers are specified as a single hand.
 
-*** Base (BASE)
+*** Base
 
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-base.png]]
 
-The base layer is maintained as separate tap and hold tables and are combined
-into the corresponding tap-hold keycodes for mods and layer change.  RST and
-mods will be available on sub layers on the same hand as the layer change thumb
-key.  Unknown names are considered to be layer names.
+The base layer alphas are Colemak Mod-DH.  Dot, comma, slash, and apostrophe are
+included with the alphas.  The primary, secondary, and tertiary thumb keys are
+backspace, enter, delete on the right and space, tab, escape on the left.
+
+Alternative alpha arrangements are also available.
 
-Base layer alphas are Colemak-DHm.  Thumb keys are backspace, enter, delete on
-the right and space, tab, escape on the left.  Dot, comma and apostrophe are
-included for prose, dot and slash for file and directory names.
 
 **** Tap
 
-#+NAME: colemakdhm
-| Q    | W    | F    | P    | B    | J    | L    | U    | Y    | '    |
-| A    | R    | S    | T    | G    | M    | N    | E    | I    | O    |
-| Z    | X    | C    | D    | V    | K    | H    | ,    | .    | /    |
-| NP   | NP   | ESC  | SPC  | TAB  | ENT  | BSPC | DEL  | NP   | NP   |
+
+***** Alphas
+
+#+NAME: colemakdh
+| Q     | W     | F     | P     | B     | J     | L     | U     | Y     | '     |
+| A     | R     | S     | T     | G     | M     | N     | E     | I     | O     |
+| Z     | X     | C     | D     | V     | K     | H     | ,     | DOT   | /     |
+
+
+***** Thumbs
+
+#+NAME: thumbs
+| U_NP  | U_NP  | ESC   | SPC   | TAB   | ENT   | BSPC  | DEL   | U_NP  | U_NP  |
 
 
 **** Hold
 
 #+NAME: hold
-| RST  |      |      |      |      |      |      |      |      | RST  |
-| LGUI | LALT | LCTL | LSFT |      |      | LSFT | LCTL | LALT | LGUI |
-|      | ALGR |      |      |      |      |      |      | ALGR |      |
-| NP   | NP   | MEDR | NAVR | MOUR | NSSL | NSL  | FUNL | NP   | NP   |
+| RESET |       |       |       |       |       |       |       |       | RESET |
+| LGUI  | LALT  | LCTL  | LSFT  |       |       | LSFT  | LCTL  | LALT  | LGUI  |
+|       | ALGR  |       |       |       |       |       |       | ALGR  |       |
+| U_NP  | U_NP  | MEDIA | NAV   | MOUSE | SYM   | NUM   | FUN   | U_NP  | U_NP  |
 
 
-**** Alternative Base Layer Alphas
+*** Nav
 
-Alternative base layer alphas are provided. To select, append
-e.g. ~MIRYOKU_ALPHAS=QWERTY~ to the make command line when building.
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-nav.png]]
 
-***** QWERTY (QWERTY)
-#+NAME: qwerty
-| Q    | W    | E    | R    | T    | Y    | U    | I    | O    | P    |
-| A    | S    | D    | F    | G    | H    | J    | K    | L    | '    |
-| Z    | X    | C    | V    | B    | N    | M    | ,    | .    | /    |
-| NP   | NP   | ESC  | SPC  | TAB  | ENT  | BSPC | DEL  | NP   | NP   |
+Primary right-hand layer (left home thumb) is navigation and editing.  Cursor
+keys are on the home position, line and page movement below, clipboard above,
+caps lock and insert on the inner column.  Thumb keys are duplicated from the
+base layer to avoid having to layer change mid edit and to enable auto-repeat.
 
+Alternative clipboard key mappings and navigation key arrangements are
+available.
 
-***** Dvorak (DVORAK)
-#+NAME: dvorak
-| '    | ,    | .    | P    | Y    | F    | G    | C    | R    | L    |
-| A    | O    | E    | U    | I    | D    | H    | T    | N    | S    |
-| /    | Q    | J    | K    | X    | B    | M    | W    | V    | Z    |
-| NP   | NP   | ESC  | SPC  | TAB  | ENT  | BSPC | DEL  | NP   | NP   |
+#+NAME: nav-r
+| U_RDO | U_PST | U_CPY | U_CUT | U_UND |
+| CAPS  | LEFT  | DOWN  | UP    | RGHT  |
+| INS   | HOME  | PGDN  | PGUP  | END   |
+| ENT   | BSPC  | DEL   | U_NP  | U_NP  |
 
 
-***** Colemak (COLEMAK)
+*** Mouse
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-mouse.png]]
+
+Secondary right-hand layer is mouse emulation.  Mouse movement mirrors cursor
+navigation on home and wheel mirrors line / page movement below.  Buttons are on
+the thumbs (L, M, R).  Mouse movement, click, and drag, with modifiers, can be
+performed from the home position.  Clipboard keys are duplicated from the Nav
+layer.
+
+#+NAME: mouse-r
+| U_RDO | U_PST | U_CPY | U_CUT | U_UND |
+|       | MS_L  | MS_D  | MS_U  | MS_R  |
+|       | WH_L  | WH_D  | WH_U  | WH_R  |
+| BTN1  | BTN3  | BTN2  | U_NP  | U_NP  |
+
+
+*** Mouse Buttons Overlay
+
+Available for automatic activation depending on keyboard hardware and
+configuration.  Not activated manually.
+
+#+NAME: mbo
+| U_RDO | U_PST | U_CPY | U_CUT | U_UND | U_RDO | U_PST | U_CPY | U_CUT | U_UND |
+| LGUI  | LALT  | LCTL  | LSFT  |       |       | LSFT  | LCTL  | LALT  | LGUI  |
+|       |       |       |       |       |       |       |       |       |       |
+| U_NP  | U_NP  | BTN2  | BTN3  | BTN1  | BTN1  | BTN3  | BTN2  | U_NP  | U_NP  |
+
+
+*** Media
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-media.png]]
+
+Tertiary right-hand layer is media control, with volume up / down and next /
+prev mirroring the navigation keys.  Pause, stop and mute are on thumbs.  RGB
+control is on the top row (combine with shift to invert).  Unused keys are
+available for other related functions.
+
+#+NAME: media-r
+| RGB_TOG | RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI |
+|         | MPRV    | VOLD    | VOLU    | MNXT    |
+|         |         |         |         |         |
+| MSTP    | MPLY    | MUTE    | U_NP    | U_NP    |
+
+
+*** Num
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-num.png]]
+
+Primary left-hand layer (right home thumb) is numerals and symbols.  Numerals
+are in the standard numpad locations with symbols in the remaining positions.
+Dot is duplicated from the base layer.
+
+#+NAME: num-l
+| [    | 7    | 8    | 9    | ]    |
+| ;    | 4    | 5    | 6    | =    |
+| `    | 1    | 2    | 3    | \    |
+| U_NP | U_NP | DOT  | 0    | MINS |
+
+
+*** Sym
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-sym.png]]
+
+Secondary left-hand layer has shifted symbols in the same locations to reduce
+chording when using mods with shifted symbols.  Open parenthesis is duplicated
+next to close parenthesis.
+
+#+NAME: sym-l
+| {    | &    | *    | (    | }    |
+| :    | $    | %    | ^    | +    |
+| ~    | !    | @    | #    | PIPE |
+| U_NP | U_NP | (    | )    | _    |
+
+
+*** Fun
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-fun.png]]
+
+Tertiary left-hand layer has function keys mirroring the numerals on the primary
+layer with extras on the pinkie column, plus system keys on the inner column.
+App (menu) is on the tertiary thumb key and other thumb keys are duplicated from
+the base layer to enable auto-repeat.
+
+
+#+NAME: fun-l
+| F12  | F7   | F8   | F9   | PSCR |
+| F11  | F4   | F5   | F6   | SLCK |
+| F10  | F1   | F2   | F3   | PAUS |
+| U_NP | U_NP | APP  | SPC  | TAB  |
+
+
+*** Alternative Layouts
+
+The defaults are recommended, but alternative layouts are provided to
+accommodate existing muscle memory and platform differences.
+
+
+**** Alphas
+
+To select, append the corresponding option to the ~make~ command line when
+building, e.g. ~MIRYOKU_ALPHAS=QWERTY~.
+
+
+***** Colemak
+
+~MIRYOKU_ALPHAS=COLEMAK~
+
 #+NAME: colemak
 | Q    | W    | F    | P    | G    | J    | L    | U    | Y    | '    |
 | A    | R    | S    | T    | D    | H    | N    | E    | I    | O    |
-| Z    | X    | C    | V    | B    | K    | M    | ,    | .    | /    |
-| NP   | NP   | ESC  | SPC  | TAB  | ENT  | BSPC | DEL  | NP   | NP   |
+| Z    | X    | C    | V    | B    | K    | M    | ,    | DOT  | /    |
 
 
-***** Colemak Mod-DH (COLEMAKDH)
-#+NAME: colemakdh
+***** Colemak Mod-DHk
+
+~MIRYOKU_ALPHAS=COLEMAKDHK~
+
+#+NAME: colemakdhk
 | Q    | W    | F    | P    | B    | J    | L    | U    | Y    | '    |
 | A    | R    | S    | T    | G    | K    | N    | E    | I    | O    |
-| Z    | X    | C    | D    | V    | M    | H    | ,    | .    | /    |
-| NP   | NP   | ESC  | SPC  | TAB  | ENT  | BSPC | DEL  | NP   | NP   |
+| Z    | X    | C    | D    | V    | M    | H    | ,    | DOT  | /    |
+
 
+***** Dvorak
+
+~MIRYOKU_ALPHAS=DVORAK~
+
+#+NAME: dvorak
+| '    | ,    | DOT  | P    | Y    | F    | G    | C    | R    | L    |
+| A    | O    | E    | U    | I    | D    | H    | T    | N    | S    |
+| /    | Q    | J    | K    | X    | B    | M    | W    | V    | Z    |
+
+
+***** Halmak
+
+~MIRYOKU_ALPHAS=HALMAK~
+
+#+NAME: halmak
+| W    | L    | R    | B    | Z    | '    | Q    | U    | D    | J    |
+| S    | H    | N    | T    | ,    | DOT  | A    | E    | O    | I    |
+| F    | M    | V    | C    | /    | G    | P    | X    | K    | Y    |
+
+
+***** Workman
+
+~MIRYOKU_ALPHAS=WORKMAN~
 
-***** Workman (WORKMAN)
 #+NAME: workman
 | Q    | D    | R    | W    | B    | J    | F    | U    | P    | '    |
 | A    | S    | H    | T    | G    | Y    | N    | E    | O    | I    |
-| Z    | X    | M    | C    | V    | K    | L    | ,    | .    | /    |
-| NP   | NP   | ESC  | SPC  | TAB  | ENT  | BSPC | DEL  | NP   | NP   |
+| Z    | X    | M    | C    | V    | K    | L    | ,    | DOT  | /    |
 
 
+***** QWERTY
 
-*** Navigation (NAVR)
+~MIRYOKU_ALPHAS=QWERTY~
 
-Primary right-hand layer (left home thumb) is navigation and editing.  Cursor
-keys are on the home position, line and page movement below, clipboard above,
-caps and insert on the inner column.  Thumb keys are duplicated from the base
-layer to avoid having to layer change mid edit and to enable auto-repeat.
+#+NAME: qwerty
+| Q    | W    | E    | R    | T    | Y    | U    | I    | O    | P    |
+| A    | S    | D    | F    | G    | H    | J    | K    | L    | '    |
+| Z    | X    | C    | V    | B    | N    | M    | ,    | DOT  | /    |
 
-#+NAME: navr
-| AGIN | UNDO | CUT  | COPY | PSTE |
-| CAPS | LEFT | DOWN | UP   | RGHT |
-| INS  | HOME | PGDN | PGUP | END  |
-| ENT  | BSPC | DEL  | NP   | NP   |
 
+**** Nav
 
-*** Mouse (MOUR)
 
-Secondary RH layer is mouse emulation.  Mouse movement mirrors cursor navigation
-on home and wheel mirrors line / page movement below.  Buttons are on the thumbs
-(L, M, R).  Mouse movement, click, and drag with modifiers can be performed from
-the home position.  Unused keys are available for other related functions.
+***** vi-Style
 
-#+NAME: mour
-|      |      |      |      |      |
-|      | MS_L | MS_D | MS_U | MS_R |
-|      | WH_L | WH_D | WH_U | WH_R |
-| BTN1 | BTN3 | BTN2 | NP   | NP   |
+To select, append ~MIRYOKU_NAV=VI~ to the ~make~ command line when building.
+Not available with ~MIRYOKU_LAYERS=FLIP~.
 
 
-**** Mouse Buttons Overlay (MBO)
+****** Nav
 
-Available for automatic activation depending on keyboard hardware and
-configuration.  Not activated manually.
+#+NAME: nav-r-vi
+| U_RDO | U_PST | U_CPY | U_CUT | U_UND |
+| LEFT  | DOWN  | UP    | RGHT  | CAPS  |
+| HOME  | PGDN  | PGUP  | END   | INS   |
+| ENT   | BSPC  | DEL   | U_NP  | U_NP  |
 
-#+NAME: mbo
-|      |      |      |      |      |      |      |      |      |      |
-|      |      |      |      |      |      |      |      |      |      |
-|      |      |      |      |      |      |      |      |      |      |
-| NP   | NP   |      |      |      | BTN1 | BTN3 | BTN2 | NP   | NP   |
 
+****** Mouse
 
-*** Media (MEDR)
+#+NAME: mouse-r-vi
+| U_RDO | U_PST | U_CPY | U_CUT | U_UND |
+| MS_L  | MS_D  | MS_U  | MS_R  |       |
+| WH_L  | WH_D  | WH_U  | WH_R  |       |
+| BTN1  | BTN3  | BTN2  | U_NP  | U_NP  |
 
-Tertiary RH layer is media control, with volume up / down and next / prev
-mirroring the navigation keys.  Pause, stop and mute are on thumbs.  RGB control
-is on the top row (combine with shift to invert). Unused keys are available for
-other related functions.
 
-#+NAME: medr
-| TOG  | MOD  | HUI  | SAI  | VAI  |
-|      | MPRV | VOLD | VOLU | MNXT |
-|      |      |      |      |      |
-| MSTP | MPLY | MUTE | NP   | NP   |
+****** Media
 
+#+NAME: media-r-vi
+| RGB_TOG | RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI |
+| MPRV    | VOLD    | VOLU    | MNXT    |         |
+|         |         |         |         |         |
+| MSTP    | MPLY    | MUTE    | U_NP    | U_NP    |
 
-*** Numerals and Symbols (NSL)
 
-Primary left-hand layer (right home thumb) is numerals and symbols.  Numerals
-are in the standard numpad locations with symbols in the remaining positions.
-Dot is duplicated from the base layer for convenience.
+***** Inverted-T
 
-#+NAME: nsl
-| [    | 7    | 8    | 9    | ]    |
-| ;    | 4    | 5    | 6    | =    |
-| `    | 1    | 2    | 3    | \    |
-| NP   | NP   | .    | 0    | -    |
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/layers/miryoku-kle-reference-flip-invertedt.png]]
 
+To select, append ~MIRYOKU_NAV=INVERTEDT~ to the ~make~ command line when
+building.  Only available with ~MIRYOKU_LAYERS=FLIP~.
 
-*** Shifted Numerals and Symbols (NSSL)
 
-Secondary LH layer has shifted symbols in the same locations to reduce chording
-when using mods with shifted symbols.  Automatically generated from unshifted
-table.
+****** Nav
 
+#+NAME: nav-l-invertedt
+| PGUP  | HOME  | UP    | END   | INS   |
+| PGDN  | LEFT  | DOWN  | RGHT  | CAPS  |
+| U_UND | U_CUT | U_CPY | U_PST | U_RDO |
+| U_NP  | U_NP  | DEL   | BSPC  | ENT   |
 
-*** Function and System (FUNL)
 
-Tertiary LH layer has function keys mirroring the numerals on the primary layer
-with extras on the pinkie column, plus system keys on the inner column.  App
-(menu) is on the tertiary thumb key and other thumb keys are duplicated from the
-base layer to enable auto-repeat.
+****** Mouse
 
+#+NAME: mouse-l-invertedt
+| WH_U  | WH_L  | MS_U  | WH_R  |       |
+| WH_D  | MS_L  | MS_D  | MS_R  |       |
+| U_UND | U_CUT | U_CPY | U_PST | U_RDO |
+| U_NP  | U_NP  | BTN2  | BTN3  | BTN1  |
+
+
+****** Media
+
+#+NAME: media-l-invertedt
+|         |         | VOLU    |         |         |
+|         | MPRV    | VOLD    | MNXT    |         |
+| RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI | RGB_TOG |
+| U_NP    | U_NP    | MUTE    | MPLY    | MSTP    |
+
+
+**** Clipboard
+
+Keycodes are translated according to the following tables.
+
+By default, the main clipboard keys (cut, copy, and paste) use the CUA bindings
+and should work in general unix and windows applications, emacs, and terminal
+emulators.  The additional keys (undo, redo) usually require rebinding in the
+application.
+
+To select, append the corresponding option to the ~make~ command line when
+building, e.g. ~MIRYOKU_CLIPBOARD=WIN~.
+
+
+***** Default
+
+#+NAME: clipboard
+| U_RDO | AGIN      |
+| U_PST | S(KC_INS) |
+| U_CPY | C(KC_INS) |
+| U_CUT | S(KC_DEL) |
+| U_UND | UNDO   |
+
+
+***** Fun Cluster
+
+~MIRYOKU_CLIPBOARD=FUN~
+
+#+NAME: clipboard-fun
+| U_RDO | AGIN |
+| U_PST | PSTE |
+| U_CPY | COPY |
+| U_CUT | CUT  |
+| U_UND | UNDO |
 
-#+NAME: funl
-| F12  | F7   | F8   | F9   | PSCR |
-| F11  | F4   | F5   | F6   | SLCK |
-| F10  | F1   | F2   | F3   | PAUS |
-| NP   | NP   | APP  | SPC  | TAB  |
+
+***** Mac
+
+~MIRYOKU_CLIPBOARD=MAC~
+
+#+NAME: clipboard-mac
+| U_RDO | SCMD(KC_Z) |
+| U_PST | LCMD(KC_V) |
+| U_CPY | LCMD(KC_C) |
+| U_CUT | LCMD(KC_X) |
+| U_UND | LCMD(KC_Z) |
+
+
+***** Windows
+
+~MIRYOKU_CLIPBOARD=WIN~
+
+#+NAME: clipboard-win
+| U_RDO | C(KC_Y) |
+| U_PST | C(KC_V) |
+| U_CPY | C(KC_C) |
+| U_CUT | C(KC_X) |
+| U_UND | C(KC_Z) |
+
+
+**** Layers
+
+
+***** Flip
+
+Flip base layer thumb keys and sub layers between right and left hands.
+
+To select, append ~MIRYOKU_LAYERS=FLIP~ to the ~make~ command line when building.
+
+
+****** Thumbs
+
+#+NAME: thumbs-flip
+| U_NP | U_NP | DEL  | BSPC | ENT  | TAB  | SPC  | ESC  | U_NP | U_NP |
+
+
+****** Hold
+
+#+NAME: hold-flip
+| RESET |       |       |       |       |       |       |       |       | RESET |
+| LGUI  | LALT  | LCTL  | LSFT  |       |       | LSFT  | LCTL  | LALT  | LGUI  |
+|       | ALGR  |       |       |       |       |       |       | ALGR  |       |
+| U_NP  | U_NP  | FUN   | NUM   | SYM   | MOUSE | NAV   | MEDIA | U_NP  | U_NP  |
+
+
+****** Nav
+
+#+NAME: nav-l
+| HOME  | PGDN  | PGUP  | END   | INS   |
+| LEFT  | DOWN  | UP    | RGHT  | CAPS  |
+| U_UND | U_CUT | U_CPY | U_PST | U_RDO |
+| U_NP  | U_NP  | DEL   | BSPC  | ENT   |
+
+
+****** Mouse
+
+#+NAME: mouse-l
+| WH_L  | WH_D  | WH_U  | WH_R  |       |
+| MS_L  | MS_D  | MS_U  | MS_R  |       |
+| U_UND | U_CUT | U_CPY | U_PST | U_RDO |
+| U_NP  | U_NP  | BTN2  | BTN3  | BTN1  |
+
+
+****** Mouse Buttons Overlay
+
+#+NAME: mbo-flip
+|       |       |       |       |       |       |       |       |       |       |
+| LGUI  | LALT  | LCTL  | LSFT  |       |       | LSFT  | LCTL  | LALT  | LGUI  |
+| U_RDO | U_PST | U_CPY | U_CUT | U_UND | U_RDO | U_PST | U_CPY | U_CUT | U_UND |
+| U_NP  | U_NP  | BTN2  | BTN3  | BTN1  | BTN1  | BTN3  | BTN2  | U_NP  | U_NP  |
+
+
+****** Media
+
+#+NAME: media-l
+| RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI | RGB_TOG |
+| MPRV    | VOLD    | VOLU    | MNXT    |         |
+|         |         |         |         |         |
+| U_NP    | U_NP    | MUTE    | MPLY    | MSTP    |
+
+
+****** Num
+
+#+NAME: num-r
+| [    | 7    | 8    | 9    | ]    |
+| =    | 4    | 5    | 6    | ;    |
+| \    | 1    | 2    | 3    | `    |
+| MINS | 0    | DOT  | U_NP | U_NP |
+
+
+****** Sym
+
+#+NAME: sym-r
+| {    | &    | *    | (    | }    |
+| +    | $    | %    | ^    | :    |
+| PIPE | !    | @    | #    | ~    |
+| _    | (    | )    | U_NP | U_NP |
+
+
+****** Fun
+
+#+NAME: fun-r
+| PSCR | F7   | F8   | F9   | F12  |
+| SLCK | F4   | F5   | F6   | F11  |
+| PAUS | F1   | F2   | F3   | F10  |
+| TAB  | SPC  | APP  | U_NP | U_NP |
 
 
 *** COMMENT Templates
@@ -258,84 +599,87 @@ base layer to enable auto-repeat.
 |      |      |      |      |      |      |      |      |      |      |
 |      |      |      |      |      |      |      |      |      |      |
 |      |      |      |      |      |      |      |      |      |      |
-| NP   | NP   |      |      |      |      |      |      | NP   | NP   |
+| U_NP | U_NP |      |      |      |      |      |      | U_NP | U_NP |
 
 
 Duplicate base layer tap keys on thumbs rather than trans to enable auto-repeat.
 
-#+NAME: temr
+#+NAME: tem-r
 | <l4> | <l4> | <l4> | <l4> | <l4> |
 |------+------+------+------+------|
 |      |      |      |      |      |
 |      |      |      |      |      |
 |      |      |      |      |      |
-| ENT  | BSPC | DEL  | NP   | NP   |
+| ENT  | BSPC | DEL  | U_NP | U_NP |
 
-#+NAME: teml
+#+NAME: tem-l
 | <l4> | <l4> | <l4> | <l4> | <l4> |
 |------+------+------+------+------|
 |      |      |      |      |      |
 |      |      |      |      |      |
 |      |      |      |      |      |
-| NP   | NP   | ESC  | SPC  | TAB  |
+| U_NP | U_NP | ESC  | SPC  | TAB  |
 
 
 * Code Generation
 
+
 ** Table Conversion Scripts
 
+
 *** table-layout-taphold
 
 Produce base layer from separate tap and hold tables.
 
 #+NAME: table-layout-taphold
-#+BEGIN_SRC python :var layer_name="BASE" :var tap_table=colemakdhm :var hold_table=hold :var symbol_names_table=symbol-names :var mods_list=mods :tangle no :results verbatim
+#+BEGIN_SRC python :var alphas_table=colemakdh :var thumbs_table=thumbs :var hold_table=hold :var symbol_names_table=symbol-names :var mods_table=mods :var nonkc_table=nonkc :tangle no :results verbatim
 width = 19
-mods_dict = dict.fromkeys(mods_list)
+mods_dict = dict.fromkeys(mods_table[0])
+nonkc_tuple = tuple(nonkc_table[0])
 symbol_names_dict = {}
 for symbol, name, shifted_symbol, shifted_name in symbol_names_table:
   symbol_names_dict[symbol] = name
   symbol_names_dict[shifted_symbol] = shifted_name
-results = '  [' + layer_name + '] = LAYOUT_miryoku(\n'
-for tap_row, hold_row in map(None, tap_table, hold_table):
+results = ''
+for tap_row, hold_row in zip(alphas_table + thumbs_table, hold_table):
   results += '    '
-  for tap, hold in map(None, tap_row, hold_row):
+  for tap, hold in zip(tap_row, hold_row):
     if tap == '':
-      code = 'NU'
+      code = 'U_NU'
     elif tap in symbol_names_dict:
       code = symbol_names_dict[tap]
     else:
       code = tap
-    code = 'KC_' + str(code)
+    if not str(code).startswith(nonkc_tuple):
+      code = 'KC_' + str(code)
     if hold in mods_dict:
       code = str(hold) + '_T(' + code + ')'
-    elif hold != '' and hold != 'NP' and hold != 'RST':
+    elif hold != '' and hold != 'U_NP' and hold != 'RESET':
       code = 'LT(' + str(hold) + ', ' + code + ')'
     results += (code + ', ').ljust(width)
   results = results.rstrip(' ') + '\n'
-results = results.rstrip('\n, ') + '\n  )'
+results = results.rstrip('\n, ')
 return results
 #+END_SRC
 
 #+RESULTS: table-layout-taphold
-:   [BASE] = LAYOUT_miryoku(
 :     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),
 :     KC_Z,              ALGR_T(KC_X),      KC_C,              KC_D,              KC_V,              KC_K,              KC_H,              KC_COMM,           ALGR_T(KC_DOT),    KC_SLSH,
-:     KC_NP,             KC_NP,             LT(MEDR, KC_ESC),  LT(NAVR, KC_SPC),  LT(MOUR, KC_TAB),  LT(NSSL, KC_ENT),  LT(NSL, KC_BSPC),  LT(FUNL, KC_DEL),  KC_NP,             KC_NP
-:   )
+:     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
 
 
 *** table-layout-half
 
 Produce sub layers given layer name and corresponding table for single hand and
-incorporating mods and reset from base layer.  Layer names must end with R or L.
-A layer with shifted symbols can also be generated.
+incorporating mods and reset from base layer.  Layer names must end with 'R' or
+'L'.  A layer with shifted symbols can also be generated.
 
 #+NAME: table-layout-half
-#+BEGIN_SRC python :var hold_table=hold :var layer_name="NSL" :var half_table=nsl :var symbol_names_table=symbol-names :var mods_list=mods :var shift="false" :tangle no :results verbatim
+#+BEGIN_SRC python :var hold_table=hold :var mode="r" :var half_table=nav-r :var symbol_names_table=symbol-names :var mods_table=mods :var nonkc_table=nonkc :var shift="false" :tangle no :results verbatim
 width = 9
-mods_dict = dict.fromkeys(mods_list)
+mods_dict = dict.fromkeys(mods_table[0])
+nonkc_tuple = tuple(nonkc_table[0])
 symbol_names_dict = {}
 shifted_symbol_names_dict = {}
 for symbol, name, shifted_symbol, shifted_name in symbol_names_table:
@@ -343,42 +687,43 @@ for symbol, name, shifted_symbol, shifted_name in symbol_names_table:
   symbol_names_dict[shifted_symbol] = shifted_name
   shifted_symbol_names_dict[symbol] = shifted_name
 length = len(half_table[0])
-mode = layer_name[-1:].lower()
-results = '  [' + layer_name + '] = LAYOUT_miryoku(\n'
-for half_row, hold_row in map(None, half_table, hold_table):
+results = ''
+for half_row, hold_row in zip(half_table, hold_table):
   results += '    '
   hold_row_l, hold_row_r = hold_row[:length], hold_row[length:]
   for lr, hold_row_lr in ('l', hold_row_l), ('r', hold_row_r):
     if lr == mode:
       for half in half_row:
         if half == '':
-          code = 'NU'
+          code = 'U_NU'
         elif shift == "true" and half in shifted_symbol_names_dict:
           code = shifted_symbol_names_dict[half]
         elif half in symbol_names_dict:
           code = symbol_names_dict[half]
         else:
           code = half
-        results += ('KC_' + str(code) + ', ').ljust(width)
+        if not str(code).startswith(nonkc_tuple):
+          code = 'KC_' + str(code)
+        results += (str(code) + ', ').ljust(width)
     else:
       for hold in hold_row_lr:
-        if hold == '' or hold != 'NP' and hold != 'RST' and hold not in mods_dict:
-          code = 'NA'
+        if hold == '' or hold != 'U_NP' and hold != 'RESET' and hold not in mods_dict:
+          code = 'U_NA'
         else:
           code = hold
-        results += ('KC_' + str(code) + ', ').ljust(width)
+        if not str(code).startswith(nonkc_tuple):
+          code = 'KC_' + str(code)
+        results += (str(code) + ', ').ljust(width)
   results = results.rstrip(' ') + '\n'
-results = results.rstrip('\n, ') + '\n  )'
+results = results.rstrip('\n, ')
 return results
 #+END_SRC
 
 #+RESULTS: table-layout-half
-:   [NSL] = LAYOUT_miryoku(
-:     KC_LBRC, KC_7,    KC_8,    KC_9,    KC_RBRC, KC_NA,   KC_NA,   KC_NA,   KC_NA,   KC_RST,
-:     KC_SCLN, KC_4,    KC_5,    KC_6,    KC_EQL,  KC_NA,   KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
-:     KC_GRV,  KC_1,    KC_2,    KC_3,    KC_BSLS, KC_NA,   KC_NA,   KC_NA,   KC_NA,   KC_NA,
-:     KC_NP,   KC_NP,   KC_DOT,  KC_0,    KC_MINS, KC_NA,   KC_NA,   KC_NA,   KC_NP,   KC_NP
-:   )
+:     RESET,   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
 
 
 *** table-layout-full
@@ -386,13 +731,14 @@ return results
 Produce full layer from single table.  Fill for unused keys is configurable.
 
 #+NAME: table-layout-full
-#+BEGIN_SRC python :var table=mbo :var layer_name="MBO" :var fill="TRNS" :var symbol_names_table=symbol-names :tangle no :results verbatim
+#+BEGIN_SRC python :var table=mbo :var fill="TRNS" :var symbol_names_table=symbol-names :var nonkc_table=nonkc :tangle no :results verbatim
 width = 9
 symbol_names_dict = {}
+nonkc_tuple = tuple(nonkc_table[0])
 for symbol, name, shifted_symbol, shifted_name in symbol_names_table:
   symbol_names_dict[symbol] = name
   symbol_names_dict[shifted_symbol] = shifted_name
-results = '  [' + layer_name + '] = LAYOUT_miryoku(\n'
+results = ''
 for row in table:
   results += '    '
   for key in row:
@@ -402,20 +748,19 @@ for row in table:
       code = symbol_names_dict[key]
     else:
       code = key
-    code = 'KC_' + str(code)
+    if not str(code).startswith(nonkc_tuple):
+      code = 'KC_' + str(code)
     results += (code + ', ').ljust(width)
   results = results.rstrip(' ') + '\n'
-results = results.rstrip('\n, ') + '\n  )'
+results = results.rstrip('\n, ')
 return results
 #+END_SRC
 
 #+RESULTS: table-layout-full
-:   [MBO] = LAYOUT_miryoku(
-:     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+:     U_RDO,   U_PST,   U_CPY,   U_CUT,   U_UND,   U_RDO,   U_PST,   U_CPY,   U_CUT,   U_UND,
+:     KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_TRNS, KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
 :     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-:     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-:     KC_NP,   KC_NP,   KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN3, KC_BTN2, KC_NP,   KC_NP
-:   )
+:     U_NP,    U_NP,    KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_BTN3, KC_BTN2, U_NP,    U_NP
 
 
 *** table-enums
@@ -423,30 +768,79 @@ return results
 Produce layer enums from layer names in hold table.
 
 #+NAME: table-enums
-#+BEGIN_SRC python :var hold_table=hold :var mods_list=mods :tangle no
-mods_dict = dict.fromkeys(mods_list)
+#+BEGIN_SRC python :var hold_table=hold :var mods_table=mods :tangle no
+mods_dict = dict.fromkeys(mods_table[0])
 results = 'enum layers { BASE, MBO, '
 for hold_row in hold_table:
   for hold in hold_row:
-    if hold not in mods_dict and hold != '' and hold != 'NP' and hold != 'RST':
+    if hold not in mods_dict and hold != '' and hold != 'U_NP' and hold != 'RESET':
       results += hold + ', '
 results = results.rstrip(', ') + ' };'
 return results
 #+END_SRC
 
 #+RESULTS: table-enums
-: enum layers { BASE, MBO, MEDR, NAVR, MOUR, NSSL, NSL, FUNL };
+: enum layers { BASE, MBO, MEDIA, NAV, MOUSE, SYM, NUM, FUN };
+
+
+*** table-keycode-mappings
+
+Produce keycode mappings according to the provided table.
+
+#+NAME: table-keycode-mappings
+#+BEGIN_SRC python :var table=clipboard :var symbol_names_table=symbol-names :var nonkc_table=nonkc :tangle no
+nonkc_tuple = tuple(nonkc_table[0])
+symbol_names_dict = {}
+for symbol, name, shifted_symbol, shifted_name in symbol_names_table:
+  symbol_names_dict[symbol] = name
+  symbol_names_dict[shifted_symbol] = shifted_name
+results = ''
+for f,t in table:
+  if t == '':
+    code = 'U_NU'
+  elif t in symbol_names_dict:
+    code = symbol_names_dict[t]
+  else:
+    code = t
+  if not str(code).startswith(nonkc_tuple):
+    code = 'KC_' + str(code)
+  results += '#define ' + f + ' ' + code + '\n'
+return results
+#+END_SRC
+
+#+RESULTS: table-keycode-mappings
+: #define U_RDO KC_AGIN
+: #define U_PST S(KC_INS)
+: #define U_CPY C(KC_INS)
+: #define U_CUT S(KC_DEL)
+: #define U_UND KC_UNDO
+
+
+*** COMMENT python-version
+
+C-c C-c in code block to update
+
+#+NAME: python-version
+#+BEGIN_SRC python :tangle no
+import sys
+return sys.version
+#+END_SRC
+
+#+RESULTS: python-version
+: 3.9.4 (default, Apr  9 2021, 01:15:05) 
+: [GCC 5.4.0 20160609]
 
 
 ** Data
 
+
 *** symbol-names
 
 Symbol, name, and shifted symbol mappings for use in tables.
 
 #+NAME: symbol-names
 | `    | GRV  | ~    | TILD |
-| -    | MINS | _    | UNDS |
+| "-"  | MINS | _    | UNDS |
 | =    | EQL  | +    | PLUS |
 | [    | LBRC | {    | LCBR |
 | ]    | RBRC | }    | RCBR |
@@ -454,7 +848,7 @@ Symbol, name, and shifted symbol mappings for use in tables.
 | ;    | SCLN | :    | COLN |
 | '    | QUOT | DQUO | DQUO |
 | ,    | COMM | <    | LT   |
-| .    | DOT  | >    | GT   |
+| "."  | DOT  | >    | GT   |
 | /    | SLSH | ?    | QUES |
 | 1    | 1    | !    | EXLM |
 | 2    | 2    | @    | AT   |
@@ -470,112 +864,112 @@ Symbol, name, and shifted symbol mappings for use in tables.
 
 *** mods
 
-Modifiers usable in hold table.  Need to have the same name for KC_ and _T versions.
+Modifiers usable in hold table.  Need to have the same name for ~KC_~ and ~_T~
+versions.
 
 #+NAME: mods
-- LSFT
-- LCTL
-- LALT
-- LGUI
-- ALGR
+| LSFT | LCTL | LALT | LGUI | ALGR |
+
+
+*** nonkc
+
+Keycodes that match any of these prefixes will not have ~KC_~ automatically
+prepended.
+
+#+NAME: nonkc
+| U_ | RGB_ | RESET | S( | C( | SCMD( | LCMD( |
 
 
 *** header
 
-Header for tangled src files.
+Header for tangled files.
 
 #+NAME: header
-#+BEGIN_SRC C :tangle no
+#+BEGIN_SRC C :main no :tangle no
+Copyright 2019 Manna Harbour
+https://github.com/manna-harbour/miryoku
 generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-
 #+END_SRC
 
 
+*** license-qmk
+
+License for tangled QMK C source files.
+
+#+NAME: license-qmk
+#+BEGIN_SRC C :main no :tangle no
+// 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/>.
+#+END_SRC
+
+
 * Subset Mapping
 
 The keymap, build options, and configuration are shared between keyboards.  The
 layout is mapped onto keyboards with different physical layouts as a subset.
 
+
 ** Userspace
 
-The keymap is defined for LAYOUT_miryoku which is 10x4, with the outer 2
+The keymap is defined for ~LAYOUT_miryoku~ which is 10x4, with the outer 2
 positions on the bottom row unused and the rest of the bottom row being the
 thumb keys.
 
-*** manna-harbour_miryoku.h
-
-Keymap-related definitions.  Included from manna-harbour_miryoku.c.  Can be
-included from keymap or layout keymap.c if needed.
 
-[[./manna-harbour_miryoku.h][users/manna-harbour_miryoku/manna-harbour_miryoku.h]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle manna-harbour_miryoku.h
-// <<header>>
+*** [[./rules.mk][users/manna-harbour_miryoku/rules.mk]]
 
-#pragma once
-
-#include QMK_KEYBOARD_H
+Build options.  Automatically included.
 
-#define KC_NP KC_NO // key is not present
-#define KC_NA KC_NO // present but not available for use
-#define KC_NU KC_NO // available but not used
+#+BEGIN_SRC makefile :noweb yes :padline no :tangle rules.mk
+# <<header>>
 
-// non-KC_ keycodes
-#define KC_RST RESET
-#define KC_TOG RGB_TOG
-#define KC_MOD RGB_MOD
-#define KC_HUI RGB_HUI
-#define KC_SAI RGB_SAI
-#define KC_VAI RGB_VAI
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+AUTO_SHIFT_ENABLE = yes # Auto Shift
 
-<<table-enums()>>
-#+END_SRC
+SRC += manna-harbour_miryoku.c # keymap
 
+# alternative layouts:
 
-*** manna-harbour_miryoku.c
+# alphas
+ifneq ($(strip $(MIRYOKU_ALPHAS)),)
+  OPT_DEFS += -DMIRYOKU_ALPHAS_$(MIRYOKU_ALPHAS)
+endif
 
-Contains the keymap.  Added from rules.mk.
+# nav
+ifneq ($(strip $(MIRYOKU_NAV)),)
+  OPT_DEFS += -DMIRYOKU_NAV_$(MIRYOKU_NAV)
+endif
 
-[[./manna-harbour_miryoku.c][users/manna-harbour_miryoku/manna-harbour_miryoku.c]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle manna-harbour_miryoku.c
-// <<header>>
+# clipboard
+ifneq ($(strip $(MIRYOKU_CLIPBOARD)),)
+  OPT_DEFS += -DMIRYOKU_CLIPBOARD_$(MIRYOKU_CLIPBOARD)
+endif
 
-#include "manna-harbour_miryoku.h"
+# layers
+ifneq ($(strip $(MIRYOKU_LAYERS)),)
+  OPT_DEFS += -DMIRYOKU_LAYERS_$(MIRYOKU_LAYERS)
+endif
 
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-#if defined MIRYOKU_ALPHAS_QWERTY
-<<table-layout-taphold(layer_name="BASE", tap_table=qwerty, hold_table=hold)>>,
-#elif defined MIRYOKU_ALPHAS_DVORAK
-<<table-layout-taphold(layer_name="BASE", tap_table=dvorak, hold_table=hold)>>,
-#elif defined MIRYOKU_ALPHAS_COLEMAK
-<<table-layout-taphold(layer_name="BASE", tap_table=colemak, hold_table=hold)>>,
-#elif defined MIRYOKU_ALPHAS_COLEMAKDH
-<<table-layout-taphold(layer_name="BASE", tap_table=colemakdh, hold_table=hold)>>,
-#elif defined MIRYOKU_ALPHAS_WORKMAN
-<<table-layout-taphold(layer_name="BASE", tap_table=workman, hold_table=hold)>>,
-#else
-<<table-layout-taphold(layer_name="BASE", tap_table=colemakdhm, hold_table=hold)>>,
-#endif
-<<table-layout-half(layer_name="NAVR", half_table=navr)>>,
-<<table-layout-half(layer_name="MOUR", half_table=mour)>>,
-<<table-layout-full(layer_name="MBO", table=mbo, fill="TRNS")>>,
-<<table-layout-half(layer_name="MEDR", half_table=medr)>>,
-<<table-layout-half(layer_name="FUNL", half_table=funl)>>,
-<<table-layout-half(layer_name="NSL", half_table=nsl)>>,
-<<table-layout-half(layer_name="NSSL", half_table=nsl, shift="true")>>
-};
+# subset mappings
+ifneq ($(strip $(MIRYOKU_MAPPING)),)
+  OPT_DEFS += -DMIRYOKU_MAPPING_$(MIRYOKU_MAPPING)
+endif
 #+END_SRC
 
 
-*** config.h
+*** [[./config.h][users/manna-harbour_miryoku/config.h]]
 
 Config options.  Automatically included.
 
-[[./config.h][users/manna-harbour_miryoku/config.h]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle config.h
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle config.h
 // <<header>>
 
+<<license-qmk>>
+
 #pragma once
 
-// default but important
+// default but used in macros
+#undef TAPPING_TERM
 #define TAPPING_TERM 200
 
 // Prevent normal rollover on alphas from accidentally triggering mods.
@@ -584,6 +978,11 @@ Config options.  Automatically included.
 // Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
 #define TAPPING_FORCE_HOLD
 
+// Auto Shift
+#define NO_AUTO_SHIFT_ALPHA
+#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
+#define AUTO_SHIFT_NO_SETUP
+
 // Recommended for heavy chording.
 #define QMK_KEYS_PER_SCAN 4
 
@@ -598,42 +997,259 @@ Config options.  Automatically included.
 #define MOUSEKEY_MAX_SPEED      6
 #undef MOUSEKEY_TIME_TO_MAX
 #define MOUSEKEY_TIME_TO_MAX    64
-
 #+END_SRC
 
 
-*** rules.mk
+*** [[./manna-harbour_miryoku.h][users/manna-harbour_miryoku/manna-harbour_miryoku.h]]
 
-Build options.  Automatically included.
+Keymap-related definitions.  Included from ~manna-harbour_miryoku.c~.  Can be
+included from keymap or layout ~keymap.c~ if needed.
 
-[[./rules.mk][users/manna-harbour_miryoku/rules.mk]]
-#+BEGIN_SRC makefile :noweb yes :padline no :tangle rules.mk
-# <<header>>
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle manna-harbour_miryoku.h
+// <<header>>
 
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
+<<license-qmk>>
 
-SRC += manna-harbour_miryoku.c # keymap
+#pragma once
 
-# select alternative base layer alphas
-ifneq ($(strip $(MIRYOKU_ALPHAS)),)
-  OPT_DEFS += -DMIRYOKU_ALPHAS_$(MIRYOKU_ALPHAS)
-endif
+#include QMK_KEYBOARD_H
 
-# select alternative subset mappings
-ifneq ($(strip $(MIRYOKU_MAPPING)),)
-  OPT_DEFS += -DMIRYOKU_MAPPING_$(MIRYOKU_MAPPING)
-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
+
+<<table-enums()>>
+
+#if defined MIRYOKU_CLIPBOARD_FUN
+<<table-keycode-mappings(table=clipboard-fun)>>
+#elif defined MIRYOKU_CLIPBOARD_MAC
+<<table-keycode-mappings(table=clipboard-mac)>>
+#elif defined MIRYOKU_CLIPBOARD_WIN
+<<table-keycode-mappings(table=clipboard-win)>>
+#else
+<<table-keycode-mappings(table=clipboard)>>
+#endif
+
+
+#+END_SRC
+
+
+*** [[./manna-harbour_miryoku.c][users/manna-harbour_miryoku/manna-harbour_miryoku.c]]
+
+Contains the keymap.  Added from ~rules.mk~.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle manna-harbour_miryoku.c
+// <<header>>
+
+<<license-qmk>>
+
+#include "manna-harbour_miryoku.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+#if defined MIRYOKU_LAYERS_FLIP
+  [BASE] = LAYOUT_miryoku(
+  #if defined MIRYOKU_ALPHAS_COLEMAK
+<<table-layout-taphold(alphas_table=colemak, thumbs_table=thumbs-flip, hold_table=hold-flip)>>
+  #elif defined MIRYOKU_ALPHAS_COLEMAKDHK
+<<table-layout-taphold(alphas_table=colemakdhk, thumbs_table=thumbs-flip, hold_table=hold-flip)>>
+  #elif defined MIRYOKU_ALPHAS_DVORAK
+<<table-layout-taphold(alphas_table=dvorak, thumbs_table=thumbs-flip, hold_table=hold-flip)>>
+  #elif defined MIRYOKU_ALPHAS_HALMAK
+<<table-layout-taphold(alphas_table=halmak, thumbs_table=thumbs-flip, hold_table=hold-flip)>>
+  #elif defined MIRYOKU_ALPHAS_WORKMAN
+<<table-layout-taphold(alphas_table=workman, thumbs_table=thumbs-flip, hold_table=hold-flip)>>
+  #elif defined MIRYOKU_ALPHAS_QWERTY
+<<table-layout-taphold(alphas_table=qwerty, thumbs_table=thumbs-flip, hold_table=hold-flip)>>
+  #else
+<<table-layout-taphold(alphas_table=colemakdh, thumbs_table=thumbs-flip, hold_table=hold-flip)>>
+  #endif
+  ),
+  #if defined MIRYOKU_NAV_INVERTEDT
+  [NAV] = LAYOUT_miryoku(
+<<table-layout-half(half_table=nav-l-invertedt, mode="l", hold_table=hold-flip)>>
+  ),
+  [MOUSE] = LAYOUT_miryoku(
+<<table-layout-half(half_table=mouse-l-invertedt, mode="l", hold_table=hold-flip)>>
+  ),
+  [MEDIA] = LAYOUT_miryoku(
+<<table-layout-half(half_table=media-l-invertedt, mode="l", hold_table=hold-flip)>>
+  ),
+  #else
+  [NAV] = LAYOUT_miryoku(
+<<table-layout-half(half_table=nav-l, mode="l", hold_table=hold-flip)>>
+  ),
+  [MOUSE] = LAYOUT_miryoku(
+<<table-layout-half(half_table=mouse-l, mode="l", hold_table=hold-flip)>>
+  ),
+  [MEDIA] = LAYOUT_miryoku(
+<<table-layout-half(half_table=media-l, mode="l", hold_table=hold-flip)>>
+  ),
+  #endif
+  [MBO] = LAYOUT_miryoku(
+<<table-layout-full(table=mbo, fill="TRNS")>>
+  ),
+  [NUM] = LAYOUT_miryoku(
+<<table-layout-half(half_table=num-r, mode="r", hold_table=hold-flip)>>
+  ),
+  [SYM] = LAYOUT_miryoku(
+<<table-layout-half(half_table=sym-r, mode="r", hold_table=hold-flip)>>
+  ),
+  [FUN] = LAYOUT_miryoku(
+<<table-layout-half(half_table=fun-r, mode="r", hold_table=hold-flip)>>
+  )
+,
+#else
+  [BASE] = LAYOUT_miryoku(
+  #if defined MIRYOKU_ALPHAS_COLEMAK
+<<table-layout-taphold(alphas_table=colemak)>>
+  #elif defined MIRYOKU_ALPHAS_COLEMAKDHK
+<<table-layout-taphold(alphas_table=colemakdhk)>>
+  #elif defined MIRYOKU_ALPHAS_DVORAK
+<<table-layout-taphold(alphas_table=dvorak)>>
+  #elif defined MIRYOKU_ALPHAS_HALMAK
+<<table-layout-taphold(alphas_table=halmak)>>
+  #elif defined MIRYOKU_ALPHAS_WORKMAN
+<<table-layout-taphold(alphas_table=workman)>>
+  #elif defined MIRYOKU_ALPHAS_QWERTY
+<<table-layout-taphold(alphas_table=qwerty)>>
+  #else
+<<table-layout-taphold(alphas_table=colemakdh)>>
+  #endif
+  ),
+  #if defined MIRYOKU_NAV_VI
+  [NAV] = LAYOUT_miryoku(
+<<table-layout-half(half_table=nav-r-vi, mode="r")>>
+  ),
+  [MOUSE] = LAYOUT_miryoku(
+<<table-layout-half(half_table=mouse-r-vi, mode="r")>>
+  ),
+  [MEDIA] = LAYOUT_miryoku(
+<<table-layout-half(half_table=media-r-vi, mode="r")>>
+  ),
+  #else
+  [NAV] = LAYOUT_miryoku(
+<<table-layout-half(half_table=nav-r, mode="r")>>
+  ),
+  [MOUSE] = LAYOUT_miryoku(
+<<table-layout-half(half_table=mouse-r, mode="r")>>
+  ),
+  [MEDIA] = LAYOUT_miryoku(
+<<table-layout-half(half_table=media-r, mode="r")>>
+  ),
+  #endif
+  [MBO] = LAYOUT_miryoku(
+<<table-layout-full(table=mbo-flip, fill="TRNS")>>
+  ),
+  [NUM] = LAYOUT_miryoku(
+<<table-layout-half(half_table=num-l, mode="l")>>
+  ),
+  [SYM] = LAYOUT_miryoku(
+<<table-layout-half(half_table=sym-l, mode="l")>>
+  ),
+  [FUN] = LAYOUT_miryoku(
+<<table-layout-half(half_table=fun-l, mode="l")>>
+  )
+#endif
+};
 #+END_SRC
 
 
 ** Layouts
 
-To use the keymap on a keyboard supporting the layouts feature, LAYOUT_miryoku
-is defined as a macro mapping onto the layout's own LAYOUT macro, leaving the
-unused keys as KC_NO.
+To use the keymap on a keyboard supporting the layouts feature, ~LAYOUT_miryoku~
+is defined as a macro mapping onto the layout's own ~LAYOUT~ macro, leaving the
+unused keys as ~KC_NO~.
+
+For keyboards supporting multiple layouts for which subset mappings are
+available, select the layout with ~FORCE_LAYOUT~ in the ~make~ command line when
+building.  E.g.:
+
+#+BEGIN_SRC sh :tangle no
+make planck/rev6:manna-harbour_miryoku:flash FORCE_LAYOUT=planck_mit # planck_mit
+make planck/rev6:manna-harbour_miryoku:flash FORCE_LAYOUT=ortho_4x12 # ortho_4x12
+#+END_SRC
+
+
+*** 60_ansi
+
+An angled ortho split layout is mapped onto the row-staggered keyboard.  The
+rows are moved up to better position the thumb keys, the hands are separated as
+much as possible, and the left hand column angle is reversed to reduce ulnar
+deviation of the wrists.
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-60_ansi.png]]
+
+An alternative subset mapping is also provided without reverse column angle.  To
+select this mapping, append ~MIRYOKU_MAPPING=NOREVERSEANGLE~ to the ~make~
+command line when building.
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-60_ansi-noreverseangle.png]]
+
+Keyboards supporting this layout: alps64, amj60, bakeneko60, bm60poker, bm60rgb, do60, dp60, dz60, facew, gskt00, infinity60, jm60, kc60, kc60se, ok60, org60, paladin64, panc60, reviung61, smk60, v60_type_r, yd60mq, 1upkeyboards/1up60hse, 1upkeyboards/1up60rgb, 40percentclub/luddite, acheron/keebspcb, acheron/lasgweloth, ai03/polaris, akegata_denki/device_one, atxkb/1894, bioi/g60ble, bt66tech/bt66tech60, cannonkeys/an_c, cannonkeys/instant60, cannonkeys/practice60, clawsome/coupe, dm9records/tartan, duck/eagle_viper, evyd13/plain60, exclusive/e6_rgb, gh60/revc, gh60/satan, gh60/v1p3, handwired/xealousbrown, hineybush/h60, hs60/v1, keebio/wtf60, noxary/260, playkbtw/pk60, ryloo_studio/m0110, thevankeyboards/bananasplit, wilba_tech/zeal60, xd60/rev2, xd60/rev3, cannonkeys/db60/hotswap, cannonkeys/db60/j02, cannonkeys/db60/rev2, exclusive/e6v2/le, exclusive/e6v2/oe, foxlab/leaf60/universal, handwired/co60/rev1, handwired/co60/rev7, handwired/swiftrax/nodu, hs60/v2/ansi, inett_studio/sqx/universal, melgeek/mj61/rev1, melgeek/mj61/rev2, melgeek/mj63/rev1, melgeek/mj63/rev2, sentraq/s60_x/default, sentraq/s60_x/rgb.
+
+Example build command lines:
+
+#+BEGIN_SRC sh :tangle no
+make dz60:manna-harbour_miryoku:flash # dz60
+make dz60:manna-harbour_miryoku:flash MIRYOKU_MAPPING=NOREVERSEANGLE  # dz60, without reverse column angle
+#+END_SRC
+
+
+**** [[../../layouts/community/60_ansi/manna-harbour_miryoku/config.h][layouts/community/60_ansi/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/60_ansi/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#if defined MIRYOKU_MAPPING_NOREVERSEANGLE
+#define LAYOUT_miryoku(\
+K00,  K01,  K02,  K03,  K04,                    K05,  K06,  K07,  K08,  K09,\
+K10,  K11,  K12,  K13,  K14,                    K15,  K16,  K17,  K18,  K19,\
+K20,  K21,  K22,  K23,  K24,                    K25,  K26,  K27,  K28,  K29,\
+N30,  N31,  K32,  K33,  K34,                    K35,  K36,  K37,  N38,  N39\
+)\
+LAYOUT_60_ansi(\
+K00,  K01,  K02,  K03,  K04,  XXX,  XXX,  XXX,  K05,  K06,  K07,  K08,  K09,  XXX,\
+   K10,  K11,  K12,  K13,  K14,  XXX,  XXX,  XXX,  K15,  K16,  K17,  K18,  K19,  XXX,\
+     K20,  K21,  K22,  K23,  K24,  XXX,  XXX,  XXX,  K25,  K26,  K27,  K28,  K29,\
+  XXX,        K32,  K33,  K34,  XXX,  XXX,  XXX,  XXX,  K35,  K36,  K37,  XXX,\
+  XXX,  XXX,  XXX,              XXX,              XXX,  XXX,        XXX,  XXX\
+)
+#else
+#define LAYOUT_miryoku(\
+            K00,  K01,  K02,  K03,  K04,        K05,  K06,  K07,  K08,  K09,\
+            K10,  K11,  K12,  K13,  K14,        K15,  K16,  K17,  K18,  K19,\
+            K20,  K21,  K22,  K23,  K24,        K25,  K26,  K27,  K28,  K29,\
+            N30,  N31,  K32,  K33,  K34,        K35,  K36,  K37,  N38,  N39\
+)\
+LAYOUT_60_ansi(\
+XXX,  XXX,  K00,  K01,  K02,  K03,  K04,  XXX,  K05,  K06,  K07,  K08,  K09,  XXX,\
+   XXX,  K10,  K11,  K12,  K13,  K14,  XXX,  XXX,  K15,  K16,  K17,  K18,  K19,  XXX,\
+     K20,  K21,  K22,  K23,  K24,  XXX,  XXX,  XXX,  K25,  K26,  K27,  K28,  K29,\
+  XXX,        XXX,  K32,  K33,  K34,  XXX,  XXX,  XXX,  K35,  K36,  K37,  XXX,\
+  XXX,  XXX,  XXX,              XXX,              XXX,  XXX,        XXX,  XXX\
+)
+#endif
+#+END_SRC
+
+
+**** [[../../layouts/community/60_ansi/manna-harbour_miryoku/keymap.c][layouts/community/60_ansi/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/60_ansi/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
 
-The following are example layouts.
 
 *** ergodox
 
@@ -642,24 +1258,81 @@ secondary thumb keys are the inner and outer 2u thumb keys and the tertiary
 thumb key is the innermost key of the partial bottom row.  The remaining keys
 are unused.
 
-[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/kle-miryoku-mapping-ergodox.png]]
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ergodox.png]]
+
+Keyboards supporting this layout: ergodone, ergodox_ez, ergodox_infinity, hotdox.
 
-To build for any keyboard using the this layout (ergodone, ergodox_ez,
-ergodox_infinity, hotdox) e.g. the ergodox_ez,
+Example build command lines:
 
 #+BEGIN_SRC sh :tangle no
-make ergodox_ez:manna-harbour_miryoku:flash
+make ergodox_infinity:manna-harbour_miryoku:flash # ergodox_infinity
+make ergodox_ez:manna-harbour_miryoku:flash # ergodox_ez
 #+END_SRC
 
 
-**** config.h
+**** [[../../layouts/community/ergodox/manna-harbour_miryoku/config.h][layouts/community/ergodox/manna-harbour_miryoku/config.h]]
 
 Contains subset mapping.
 
-[[../../layouts/community/ergodox/manna-harbour_miryoku/config.h][layouts/community/ergodox/manna-harbour_miryoku/config.h]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle ../../layouts/community/ergodox/manna-harbour_miryoku/config.h
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ergodox/manna-harbour_miryoku/config.h
 // <<header>>
 
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT_ergodox_pretty(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX,      XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04, XXX,      XXX, K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, XXX,\
+XXX, XXX, XXX, XXX, K32,                          K37, XXX, XXX, XXX, XXX,\
+                         XXX, XXX,      XXX, XXX,\
+                              XXX,      XXX,\
+                    K33, K34, XXX,      XXX, K35, K36\
+)
+#+END_SRC
+
+
+**** [[../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c][layouts/community/ergodox/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** ortho_4x10
+
+Keyboards supporting this layout: newgame40, nimrod, marksard/rhymestone, pabile/p40.
+
+Example build command lines:
+
+#+BEGIN_SRC sh :tangle no
+make marksard/rhymestone:manna-harbour_miryoku:flash # marksard/rhymestone
+#+END_SRC
+
+
+**** [[../../layouts/community/ortho_4x10/manna-harbour_miryoku/config.h][layouts/community/ortho_4x10/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ortho_4x10/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
 #pragma once
 
 #define LAYOUT_miryoku(\
@@ -668,26 +1341,23 @@ K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
 K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
 N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39\
 )\
-LAYOUT_ergodox_pretty( \
-KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
-KC_NO, K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,   KC_NO, \
-KC_NO, K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,   KC_NO, \
-KC_NO, K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,   KC_NO, \
-KC_NO, KC_NO, KC_NO, KC_NO, K32,                               K37,   KC_NO, KC_NO, KC_NO, KC_NO, \
-                                   KC_NO, KC_NO, KC_NO, KC_NO, \
-                                          KC_NO, KC_NO, \
-                            K33,   K34,   KC_NO, KC_NO, K35,   K36 \
+LAYOUT_ortho_4x10(\
+K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO\
 )
 #+END_SRC
 
 
-**** keymap.c
+**** [[../../layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c][layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c]]
 
 Required by the build system.
 
-[[../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c][layouts/community/ergodox/manna-harbour_miryoku/keymap.c]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle ../../layouts/community/ergodox/manna-harbour_miryoku/keymap.c
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c
 // <<header>>
+
+<<license-qmk>>
 #+END_SRC
 
 
@@ -697,11 +1367,7 @@ For the ortho_4x12 layout, the middle two columns, and the 2 keys on each end of
 the bottom row are unused.  This allows the hands to be positioned without ulnar
 deviation of the wrists.
 
-In the implementation, the 2 unused middle columns bottom row keys are mapped as
-duplicates of their adjacent keys to support alternative bottom row physical
-layouts including 1x2uC (MIT), 1x2uR, 1x2uL, and 2x2u.
-
-[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/kle-miryoku-mapping-ortho_4x12.png]]
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ortho_4x12.png]]
 
 For split keyboards using this layout the halves can be positioned and rotated
 for each hand and so an alternative mapping is provided.  The right half is as
@@ -709,36 +1375,46 @@ follows: The rightmost column bottom 3 keys is the pinkie column.  The middle 4
 columns top 3 rows are for the remaining fingers.  The pinkie column is one row
 lower than the other columns to provide some column stagger.  The bottom row
 left 3 keys are the thumb keys.  The remaining keys are unused.  To select this
-mapping, append ~MIRYOKU_MAPPING=SPLIT~ to the make command line when building.
+mapping, append ~MIRYOKU_MAPPING=SPLIT~ to the ~make~ command line when
+building.
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ortho_4x12-split.png]]
+
+An alternative with extended thumb position but without pinkie column stagger is
+also provided.  To select this mapping, append ~MIRYOKU_MAPPING=EXTENDED_THUMBS~
+to the ~make~ command line when building.
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ortho_4x12-extended_thumbs.png]]
 
-[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/kle-miryoku-mapping-ortho_4x12-split.png]]
+Keyboards supporting this layout: chimera_ls, contra, efreet, jj40, jnao, lets_split, lets_split_eh, meira, niu_mini, quark, tau4, telophase, vitamins_included, zlant, 40percentclub/4x4, 40percentclub/nori, acheron/shark, boardsource/4x12, cannonkeys/ortho48, dm9records/plaid, evyd13/eon40, evyd13/pockettype, handwired/floorboard, handwired/jotanck, handwired/wulkan, kbdfans/kbd4x, keebio/levinson, keebio/wavelet, mechstudio/ud_40_ortho, planck/ez, planck/light, planck/rev1, planck/rev2, planck/rev3, planck/rev4, planck/rev5, planck/rev6, planck/thk, rgbkb/zygomorph, zvecr/split_blackpill, zvecr/zv48, keebio/nyquist/rev1, keebio/nyquist/rev2, keebio/nyquist/rev3, montsinger/rebound/rev1, montsinger/rebound/rev2, montsinger/rebound/rev3, montsinger/rebound/rev4, signum/3_0/elitec, spaceman/pancake/feather, spaceman/pancake/promicro, ymdk/ymd40/v2.
 
-To build for any keyboard using this layout (4x4, nori, chimera_ls, contra,
-divergetm2, jj40, lets_split, lets_split_eh, meira, niu_mini, planck, telophase,
-vitamins_included, zinc, zlant, ortho48, kbd4x, levinson, wavelet, plaid):
+Example build command lines:
 
 #+BEGIN_SRC sh :tangle no
-make planck/rev6:manna-harbour_miryoku:flash # planck
+make planck/rev6:manna-harbour_miryoku:flash FORCE_LAYOUT=ortho_4x12 # planck, ortho_4x12
+make planck/rev6:manna-harbour_miryoku:flash FORCE_LAYOUT=ortho_4x12 MIRYOKU_MAPPING=EXTENDED_THUMBS # planck, ortho_4x12, extended thumbs
 make keebio/levinson:manna-harbour_miryoku:flash MIRYOKU_MAPPING=SPLIT # levinson
+make keebio/levinson:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # levinson, extended thumbs
 #+END_SRC
 
 
-**** config.h
+**** [[../../layouts/community/ortho_4x12/manna-harbour_miryoku/config.h][layouts/community/ortho_4x12/manna-harbour_miryoku/config.h]]
 
 Contains subset mapping.
 
-[[../../layouts/community/ortho_4x12/manna-harbour_miryoku/config.h][layouts/community/ortho_4x12/manna-harbour_miryoku/config.h]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle ../../layouts/community/ortho_4x12/manna-harbour_miryoku/config.h
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ortho_4x12/manna-harbour_miryoku/config.h
 // <<header>>
 
+<<license-qmk>>
+
 #pragma once
 
 #if defined MIRYOKU_MAPPING_SPLIT
 #define LAYOUT_miryoku(\
-K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,\
-K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
-K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
-N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
 )\
 LAYOUT_ortho_4x12(\
 KC_NO, K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   KC_NO,\
@@ -746,101 +1422,1170 @@ K00,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K09
 K10,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K19,\
 K20,   KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO, K29\
 )
+#elif defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_4x12(\
+K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO, KC_NO\
+)
 #else
 #define LAYOUT_miryoku(\
-K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,\
-K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,\
-K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,\
-N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
 )\
 LAYOUT_ortho_4x12(\
 K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
 K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
 K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
-KC_NO, KC_NO, K32,   K33,   K34,   K34,   K35,   K35,   K36,   K37,   KC_NO, KC_NO\
+KC_NO, KC_NO, K32,   K33,   K34,   KC_NO, KC_NO, K35,   K36,   K37,   KC_NO, KC_NO\
 )
 #endif
 #+END_SRC
 
 
-**** keymap.c
+**** [[../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c][layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** ortho_5x12
+
+As per ortho_4x12 but the top row is unused.
+
+Keyboards supporting this layout: fractal, jj50, jnao, boardsource/5x12, cannonkeys/atlas_alps, cannonkeys/ortho60, handwired/jot50, handwired/riblee_f401, handwired/riblee_f411, handwired/rs60, keycapsss/o4l_5x12, peej/lumberjack, preonic/rev1, preonic/rev2, preonic/rev3, rgbkb/zygomorph, keebio/nyquist/rev1, keebio/nyquist/rev2, keebio/nyquist/rev3.
+
+Example build command lines:
+
+#+BEGIN_SRC sh :tangle no
+make preonic/rev3:manna-harbour_miryoku:flash # preonic/rev3
+make preonic/rev3:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # preonic/rev3, extended thumbs
+make keebio/nyquist/rev3:manna-harbour_miryoku:flash MIRYOKU_MAPPING=SPLIT # nyquist/rev3, split
+make keebio/nyquist/rev3:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # nyquist/rev3, extended thumbs
+
+#+END_SRC
+
+
+**** [[../../layouts/community/ortho_5x12/manna-harbour_miryoku/config.h][layouts/community/ortho_5x12/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ortho_5x12/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#if defined MIRYOKU_MAPPING_SPLIT
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_5x12(\
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
+KC_NO, K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   KC_NO,\
+K00,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K09,\
+K10,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K19,\
+K20,   KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO, K29\
+)
+#elif defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_5x12(\
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
+K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   KC_NO, KC_NO, KC_NO\
+)
+#else
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_ortho_5x12(\
+KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
+K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, K32,   K33,   K34,   KC_NO, KC_NO, K35,   K36,   K37,   KC_NO, KC_NO\
+)
+#endif
+#+END_SRC
+
+
+**** [[../../layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c][layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** ortho_5x15
+
+For the ortho_5x15 layout, the top row, middle 5 columns, and the 2 keys on each
+end of the bottom row are unused.  This allows the hands to be positioned
+without ulnar deviation of the wrists.
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ortho_5x15.png]]
+
+An alternative subset mapping is also provided with the thumb keys shifted
+across one position in the direction of thumb extension.  To select this
+mapping, append ~MIRYOKU_MAPPING=EXTENDED_THUMBS~ to the ~make~ command line
+when building.
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ortho_5x15-extended_thumbs.png]]
+
+Keyboards supporting this layout: atomic, geminate60, idobo, punk75, xd75, 40percentclub/5x5, 40percentclub/i75, cannonkeys/ortho75, sendyyeah/75pixels.
+
+Example build command lines:
+
+#+BEGIN_SRC sh :tangle no
+make atomic:manna-harbour_miryoku:flash # atomic
+make atomic:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # atomic, extended thumbs
+make idobo:manna-harbour_miryoku:flash # idobo
+#+END_SRC
+
+
+**** [[../../layouts/community/ortho_5x15/manna-harbour_miryoku/config.h][layouts/community/ortho_5x15/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ortho_5x15/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39\
+)\
+LAYOUT_ortho_5x15(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+K00, K01, K02, K03, K04, XXX, XXX, XXX, XXX, XXX, K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14, XXX, XXX, XXX, XXX, XXX, K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29,\
+XXX, XXX, XXX, K32, K33, K34, XXX, XXX, XXX, K35, K36, K37, XXX, XXX, XXX\
+)
+#else
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39\
+)\
+LAYOUT_ortho_5x15(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+K00, K01, K02, K03, K04, XXX, XXX, XXX, XXX, XXX, K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14, XXX, XXX, XXX, XXX, XXX, K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29,\
+XXX, XXX, K32, K33, K34, XXX, XXX, XXX, XXX, XXX, K35, K36, K37, XXX, XXX\
+)
+#endif
+#+END_SRC
+
+#+RESULTS:
+
+
+**** [[../../layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c][layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** planck_mit
+
+The middle two columns including the middle 2u key, and the 2 keys on each end
+of the bottom row are unused.
+
+Keyboards supporting this layout: bm40hsrgb, contra, efreet, jj40, latin47ble, mt40, niu_mini, quark, zlant, dm9records/plaid, evyd13/eon40, handwired/aranck, handwired/heisenberg, kbdfans/kbd4x, planck/ez, planck/light, planck/rev1, planck/rev2, planck/rev3, planck/rev4, planck/rev5, planck/rev6, planck/thk, spaceman/pancake/feather, spaceman/pancake/promicro.
+
+Example build command lines:
+
+#+BEGIN_SRC sh :tangle no
+make planck/ez:manna-harbour_miryoku:flash # planck ez
+make planck/rev6:manna-harbour_miryoku:flash FORCE_LAYOUT=planck_mit # planck rev6, mit
+
+#+END_SRC
+
+**** [[../../layouts/community/planck_mit/manna-harbour_miryoku/config.h][layouts/community/planck_mit/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/planck_mit/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,                 K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,                 K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,                 K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,                 K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_planck_mit(\
+K00,   K01,   K02,   K03,   K04,   KC_NO, KC_NO, K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,   KC_NO, KC_NO, K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,   KC_NO, KC_NO, K25,   K26,   K27,   K28,   K29,\
+KC_NO, KC_NO, K32,   K33,   K34,      KC_NO,     K35,   K36,   K37,   KC_NO, KC_NO\
+)
+#+END_SRC
+
+
+**** [[../../layouts/community/planck_mit/manna-harbour_miryoku/keymap.c][layouts/community/planck_mit/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/planck_mit/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** split_3x5_3
+
+Keyboards supporting this layout: arch_36, boardsource/microdox, centromere, crkbd, eek, miniaxe, minidox/rev1, pteron36, squiggle/rev1, suihankey/split/rev1.
+
+Example build command lines:
+
+#+BEGIN_SRC sh :tangle no
+make crkbd:manna-harbour_miryoku:flash # crkbd
+make minidox:manna-harbour_miryoku:flash # minidox
+#+END_SRC
+
+
+**** [[../../layouts/community/split_3x5_3/manna-harbour_miryoku/config.h][layouts/community/split_3x5_3/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/split_3x5_3/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define LAYOUT_miryoku(\
+K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,\
+N30,   N31,   K32,   K33,   K34,          K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_split_3x5_3(\
+K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,\
+K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,\
+K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,\
+              K32,   K33,   K34,          K35,   K36,   K37\
+)
+#+END_SRC
+
+
+**** [[../../layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c][layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c]]
 
 Required by the build system.
 
-[[../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c][layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle ../../layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c
 // <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** split_3x6_3
+
+The outer columns are unused.
+
+Keyboards supporting this layout: centromere, crkbd, bastardkb/tbkmini.
+
+Example build command lines:
+
+#+BEGIN_SRC sh :tangle no
+make bastardkb/tbkmini:manna-harbour_miryoku:flash # bastardkb/tbkmini
+make crkbd:manna-harbour_miryoku:flash # crkbd
+#+END_SRC
+
+
+**** [[../../layouts/community/split_3x6_3/manna-harbour_miryoku/config.h][layouts/community/split_3x6_3/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/split_3x6_3/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define LAYOUT_miryoku(\
+       K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,\
+       K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,\
+       K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,\
+       N30,   N31,   K32,   K33,   K34,          K35,   K36,   K37,   N38,   N39\
+)\
+LAYOUT_split_3x6_3(\
+KC_NO, K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,   KC_NO,\
+KC_NO, K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,   KC_NO,\
+KC_NO, K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,   KC_NO,\
+                     K32,   K33,   K34,          K35,   K36,   K37\
+)
+#+END_SRC
+
+
+**** [[../../layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c][layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
 #+END_SRC
 
 
 ** Keyboards
 
 To use the keymap on a keyboard which does not support the layouts feature,
-LAYOUT_miryoku is defined as a macro mapping onto the keyboard's own LAYOUT
-macro, leaving the unused keys as KC_NO.
+~LAYOUT_miryoku~ is defined as a macro mapping onto the keyboard's own ~LAYOUT~
+macro, leaving the unused keys as ~KC_NO~.
 
-The following are example keyboards.
 
-*** crkbd
+*** atreus
 
-The outer columns are unused.
+Only the main 5x3 alphas and the inner 3 thumb keys are used.
 
 To build for this keyboard,
 
 #+BEGIN_SRC sh :tangle no
-make crkbd:manna-harbour_miryoku:flash
+make atreus:manna-harbour_miryoku:flash
 #+END_SRC
 
-**** config.h
+
+**** [[../../keyboards/atreus/keymaps/manna-harbour_miryoku/config.h][keyboards/atreus/keymaps/manna-harbour_miryoku/config.h]]
 
 Contains subset mapping.
 
-[[../../keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h][keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle ../../keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/atreus/keymaps/manna-harbour_miryoku/config.h
 // <<header>>
 
+<<license-qmk>>
+
 #pragma once
 
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+XXX, XXX, XXX, K32, K33, K34,      K35, K36, K37, XXX, XXX, XXX\
+)
+#+END_SRC
+
+
+**** [[../../keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c][keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** ergotravel
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make ergotravel:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h][keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
 #define LAYOUT_miryoku( \
-       K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09, \
-       K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19, \
-       K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29, \
-       N30,   N31,   K32,   K33,   K34,   K35,   K36,   K37,   N38,   N39 \
+     K00, K01, K02, K03, K04,                 K05, K06, K07, K08, K09, \
+     K10, K11, K12, K13, K14,                 K15, K16, K17, K18, K19, \
+     K20, K21, K22, K23, K24,                 K25, K26, K27, K28, K29, \
+     N30, N31, K32, K33, K34,                 K35, K36, K37, N38, N39 \
 ) \
 LAYOUT( \
-KC_NO, K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   KC_NO, \
-KC_NO, K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   KC_NO, \
-KC_NO, K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   KC_NO, \
-                     K32,   K33,   K34,   K35,   K36,   K37 \
+XXX, K00, K01, K02, K03, K04, XXX,       XXX, K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14, XXX,       XXX, K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX,       XXX, K25, K26, K27, K28, K29, XXX, \
+XXX, XXX, XXX, K32,      K33, K34,       K35, K36,      K37, XXX, XXX, XXX  \
+)
+#+END_SRC
+
+
+**** [[../../keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c][keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** for_science
+
+The top row is unused.
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make for_science:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/for_science/keymaps/manna-harbour_miryoku/config.h][keyboards/for_science/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/for_science/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,     K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,     K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,     K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,     K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX,     XXX, XXX, XXX, XXX, XXX,\
+K00, K01, K02, K03, K04,     K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,     K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,     K25, K26, K27, K28, K29,\
+          K32, K33, K34,     K35, K36, K37\
+)
+#+END_SRC
+
+
+**** [[../../keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c][keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** gergo
+
+Only the main 5x3 alphas and the outer 3 thumb keys are used.
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make gergo:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/gergo/keymaps/manna-harbour_miryoku/config.h][keyboards/gergo/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/gergo/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39\
+)\
+LAYOUT_gergo(\
+XXX, K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14, XXX,                XXX, K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX, XXX,      XXX, XXX, K25, K26, K27, K28, K29, XXX,\
+                    K32, K33, K34, XXX,      XXX, K35, K36, K37\
+)
+#+END_SRC
+
+
+**** [[../../keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c][keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** handwired/dactyl_manuform/4x5
+
+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/4x5:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h][keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+K00, K01, K02, K03, K04,                         K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                         K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                         K25, K26, K27, K28, K29,\
+N30, N31, K32, K33, K34,                         K35, K36, K37, N38, N39\
+)\
+LAYOUT( \
+K00, K01, K02, K03, K04,                         K05, K06, K07, K08, K09,\
+K10, K11, K12, K13, K14,                         K15, K16, K17, K18, K19,\
+K20, K21, K22, K23, K24,                         K25, K26, K27, K28, K29,\
+     XXX, XXX,                                             XXX, XXX, \
+               K32, K33,                         K36, K37, \
+                         K34, XXX,     XXX, K35, \
+                         XXX, XXX,     XXX, XXX \
 )
 #+END_SRC
 
 
-**** keymap.c
+**** [[../../keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c][keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c]]
 
 Required by the build system.
 
-[[../../keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c][keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c]]
-#+BEGIN_SRC C :noweb yes :padline no :tangle ../../keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c
 // <<header>>
+
+<<license-qmk>>
 #+END_SRC
 
 
-* Documentation
+*** handwired/dactyl_manuform/5x6
+
+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/5x6:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h][keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                         K05, K06, K07, K08, K09, \
+     K10, K11, K12, K13, K14,                         K15, K16, K17, K18, K19, \
+     K20, K21, K22, K23, K24,                         K25, K26, K27, K28, K29, \
+     N30, N31, K32, K33, K34,                         K35, K36, K37, N38, N39 \
+) \
+LAYOUT_5x6( \
+XXX, XXX, XXX, XXX, XXX, XXX,                         XXX, XXX, XXX, XXX, XXX, XXX, \
+XXX, K00, K01, K02, K03, K04,                         K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14,                         K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24,                         K25, K26, K27, K28, K29, XXX, \
+          XXX, XXX,                                             XXX, XXX, \
+                    K32, K33,                         K36, K37, \
+                              K34, XXX,     XXX, K35, \
+                              XXX, XXX,     XXX, XXX \
+)
+#+END_SRC
+
+
+**** [[../../keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c][keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** keebio/iris
+
+Only the main 5x3 alphas and the bottom 3 thumb keys are used.
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make keebio/iris/rev4:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h][keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX,                XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, XXX,\
+                    K32, K33, K34,      K35, K36, K37\
+)
+#+END_SRC
+
+
+**** [[../../keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c][keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** keyboardio/atreus
+
+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/atreus:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h][keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku( \
+K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29, \
+N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, \
+K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, \
+K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, \
+XXX, XXX, XXX, K32, K33, K34,      K35, K36, K37, XXX, XXX, XXX \
+)
+#+END_SRC
+
+
+**** [[../../keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c][keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** kyria
+
+Only the main 5x3 alphas and the middle 3 lower thumb keys are used.
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-kyria.png]]
+
+An alternative subset mapping is also provided with the thumb keys shifted one
+position in the direction of thumb extension.  To select this mapping, append
+~MIRYOKU_MAPPING=EXTENDED_THUMBS~ to the ~make~ command line when building.
+
+[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-kyria-extended_thumbs.png]]
+
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make kyria:manna-harbour_miryoku:flash
+make kyria:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # extended thumb position
+#+END_SRC
+
+
+**** [[../../keyboards/kyria/keymaps/manna-harbour_miryoku/config.h][keyboards/kyria/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/kyria/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#if defined MIRYOKU_MAPPING_EXTENDED_THUMBS
+#define LAYOUT_miryoku( \
+     K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, \
+     K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19, \
+     K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29, \
+     N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX,      XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+               XXX, XXX, K32, K33, K34,      K35, K36, K37, XXX, XXX \
+)
+#else
+#define LAYOUT_miryoku( \
+     K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, \
+     K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19, \
+     K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29, \
+     N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39 \
+) \
+LAYOUT( \
+XXX, K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09, XXX, \
+XXX, K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19, XXX, \
+XXX, K20, K21, K22, K23, K24, XXX, XXX,      XXX, XXX, K25, K26, K27, K28, K29, XXX, \
+               XXX, K32, K33, K34, XXX,      XXX, K35, K36, K37, XXX \
+)
+#endif
+#+END_SRC
+
+
+**** [[../../keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c][keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** lily58
+
+Only the main 5x3 alphas and the inner 3 thumb keys are used.
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make lily58:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/lily58/keymaps/manna-harbour_miryoku/config.h][keyboards/lily58/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/lily58/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX,                XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, XXX,\
+               XXX, K32, K33, K34,      K35, K36, K37, XXX\
+)
+#+END_SRC
+
+
+**** [[../../keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c][keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** moonlander
+
+The main 5x3 alphas are used as usual. The primary, secondary, and tertiary
+thumb keys are the closest piano key, middle piano key, and the innermost key of
+the partial bottom row, respectively.  The remaining keys are unused.
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make moonlander:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h][keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,               K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,               K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,               K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,               K35, K36, K37, N38, N39\
+)\
+LAYOUT_moonlander(\
+XXX, XXX, XXX, XXX, XXX, XXX, XXX,     XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04, XXX,     XXX, K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14, XXX,     XXX, K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24,               K25, K26, K27, K28, K29, XXX,\
+XXX, XXX, XXX, XXX, K32,      XXX,     XXX,      K37, XXX, XXX, XXX, XXX,\
+                    K33, K34, XXX,     XXX, K35, K36\
+)
+#+END_SRC
+
+
+**** [[../../keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c][keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** redox_w
+
+Only the main 5x3 alphas and the main 3 thumb keys are used.
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make redox_w:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h][keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                          K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                          K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                          K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                          K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX,                          XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04, XXX,                XXX, K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14, XXX,                XXX, K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX, XXX,      XXX, XXX, K25, K26, K27, K28, K29, XXX,\
+XXX, XXX, XXX, XXX,    K32,   K33, K34,      K35, K36,    K37,   XXX, XXX, XXX, XXX\
+)
+#+END_SRC
+
+#+RESULTS:
+
+
+**** [[../../keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c][keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** sofle
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make sofle:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/sofle/keymaps/manna-harbour_miryoku/config.h][keyboards/sofle/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/sofle/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define XXX KC_NO
+
+#define LAYOUT_miryoku(\
+     K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09,\
+     K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19,\
+     K20, K21, K22, K23, K24,                K25, K26, K27, K28, K29,\
+     N30, N31, K32, K33, K34,                K35, K36, K37, N38, N39\
+)\
+LAYOUT(\
+XXX, XXX, XXX, XXX, XXX, XXX,                XXX, XXX, XXX, XXX, XXX, XXX,\
+XXX, K00, K01, K02, K03, K04,                K05, K06, K07, K08, K09, XXX,\
+XXX, K10, K11, K12, K13, K14,                K15, K16, K17, K18, K19, XXX,\
+XXX, K20, K21, K22, K23, K24, XXX,      XXX, K25, K26, K27, K28, K29, XXX,\
+          XXX, XXX, K32, K33, K34,      K35, K36, K37, XXX, XXX\
+)
+#+END_SRC
+
+
+**** [[../../keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c][keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+*** torn
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make torn:manna-harbour_miryoku:flash
+#+END_SRC
+
+
+**** [[../../keyboards/torn/keymaps/manna-harbour_miryoku/config.h][keyboards/torn/keymaps/manna-harbour_miryoku/config.h]]
+
+Contains subset mapping.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/torn/keymaps/manna-harbour_miryoku/config.h
+// <<header>>
+
+<<license-qmk>>
+
+#pragma once
+
+#define LAYOUT_miryoku( \
+       K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09, \
+       K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19, \
+       K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29, \
+       N30,   N31,   K32,   K33,   K34,          K35,   K36,   K37,   N38,   N39 \
+) \
+LAYOUT_split_3x6_4( \
+KC_NO, K00,   K01,   K02,   K03,   K04,          K05,   K06,   K07,   K08,   K09,   KC_NO, \
+KC_NO, K10,   K11,   K12,   K13,   K14,          K15,   K16,   K17,   K18,   K19,   KC_NO, \
+KC_NO, K20,   K21,   K22,   K23,   K24,          K25,   K26,   K27,   K28,   K29,   KC_NO, \
+              KC_NO, K32,   K33,   K34,          K35,   K36,   K37,   KC_NO \
+)
+#+END_SRC
+
+#+RESULTS:
+
+
+**** [[../../keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c][keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c]]
+
+Required by the build system.
+
+#+BEGIN_SRC C :main no :noweb yes :padline no :tangle ../../keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c
+// <<header>>
+
+<<license-qmk>>
+#+END_SRC
+
+
+** Customisation
+
+To add customisations to a keyboard or layout while importing the miryoku
+keymap, copy ~config.h~ and ~keymap.c~ from the keyboard or layout's
+~manna-harbour_miryoku/~ directory to a new directory, and create ~rules.mk~
+containing ~USER_NAME := manna-harbour_miryoku~.  The miryoku keymap will be
+imported and customisations can be added to those files as usual.  Keycodes can
+be added to unused keys by editing ~LAYOUT_miryoku~ in ~config.h~.
+
+For an unsupported keyboard or layout, do as above with a similar keyboard or
+layout and modify ~LAYOUT_miryoku~ in ~config.h~ referring to the keyboard or
+layout's ~LAYOUT~ macro.
+
+
+*** Examples
+
+To use any of the examples, create a new branch from the miryoku development
+branch and follow the same steps as seen in the commit messages and code changes
+in the examples, making the appropriate changes for your keyboard and desired
+customisations.
+
+
+**** Add Layers
+
+- https://github.com/manna-harbour/qmk_firmware/commits/miryoku-examples-add-layers/keyboards/crkbd/keymaps/miryoku-examples-add-layers
+
+
+* Experimental Features
+
+
+** Bilateral Combinations
+
+- [[https://github.com/manna-harbour/qmk_firmware/issues/29][Bilateral Combinations]]
+
+
+** Retro Shift
+
+- [[https://github.com/manna-harbour/qmk_firmware/issues/33][Retro Shift]]
+
+
+* Documentation                                                  :noexport_1:
+
 
 ** QMK
 
-- https://qmk.fm/
-- https://docs.qmk.fm/#/getting_started_introduction
+- https://docs.qmk.fm/
 - https://docs.qmk.fm/#/config_options
-- https://docs.qmk.fm/#/keycodes
 - https://docs.qmk.fm/#/feature_advanced_keycodes
+- https://docs.qmk.fm/#/feature_auto_shift
 - https://docs.qmk.fm/#/feature_layers
-- https://docs.qmk.fm/#/mod_tap
 - https://docs.qmk.fm/#/feature_layouts
-- https://docs.qmk.fm/#/feature_userspace
 - https://docs.qmk.fm/#/feature_mouse_keys
+- https://docs.qmk.fm/#/feature_userspace
+- https://docs.qmk.fm/#/getting_started_introduction
 - https://docs.qmk.fm/#/getting_started_make_guide
+- https://docs.qmk.fm/#/keycodes
+- https://docs.qmk.fm/#/mod_tap
+- https://docs.qmk.fm/#/tap_hold
 
 
 ** Org Mode
@@ -852,9 +2597,9 @@ Required by the build system.
 
 * Contact
 
-For issues with this branch, or to request support for additional base layer
-alphas, layouts, or keyboards, please [[https://github.com/manna-harbour/qmk_firmware/issues/new][open an issue]].
+For feature requests or issues with code or documentation please
+[[https://github.com/manna-harbour/qmk_firmware/issues/new][open an issue]].
 
-For more general discussion, please join a relevant [[https://www.reddit.com/user/manna_harbour/posts/?sort=new][recent thread]] or [[https://www.reddit.com/message/compose/?to=manna_harbour][send a PM]].
+For more general discussion please [[https://github.com/manna-harbour/manna-harbour/tree/main/contact][contact Manna Harbour]].
 
-[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/manna-harbour-boa-32.png]]
+[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]]
diff --git a/users/manna-harbour_miryoku/rules.mk b/users/manna-harbour_miryoku/rules.mk
index ca135af07a..809e630354 100644
--- a/users/manna-harbour_miryoku/rules.mk
+++ b/users/manna-harbour_miryoku/rules.mk
@@ -1,16 +1,36 @@
+# Copyright 2019 Manna Harbour
+# https://github.com/manna-harbour/miryoku
 # generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-
 
 MOUSEKEY_ENABLE = yes # Mouse keys
 EXTRAKEY_ENABLE = yes # Audio control and System control
+AUTO_SHIFT_ENABLE = yes # Auto Shift
 
 SRC += manna-harbour_miryoku.c # keymap
 
-# select alternative base layer alphas
+# alternative layouts:
+
+# alphas
 ifneq ($(strip $(MIRYOKU_ALPHAS)),)
   OPT_DEFS += -DMIRYOKU_ALPHAS_$(MIRYOKU_ALPHAS)
 endif
 
-# select alternative subset mappings
+# nav
+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