~ruther/qmk_firmware

65f8da3034c0bc854aa23e0b8e78cbfc8a14ff19 — Manna Harbour 4 years ago 3b1506b
[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
53 files changed, 3044 insertions(+), 459 deletions(-)

A keyboards/atreus/keymaps/manna-harbour_miryoku/config.h
A keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c
D keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h
D keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h
A keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/for_science/keymaps/manna-harbour_miryoku/config.h
A keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/gergo/keymaps/manna-harbour_miryoku/config.h
A keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h
A keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h
A keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
A keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h
A keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/kyria/keymaps/manna-harbour_miryoku/config.h
A keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/lily58/keymaps/manna-harbour_miryoku/config.h
A keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h
A keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h
A keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/sofle/keymaps/manna-harbour_miryoku/config.h
A keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c
A keyboards/torn/keymaps/manna-harbour_miryoku/config.h
A keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c
A layouts/community/60_ansi/manna-harbour_miryoku/config.h
A layouts/community/60_ansi/manna-harbour_miryoku/keymap.c
M layouts/community/ergodox/manna-harbour_miryoku/config.h
M layouts/community/ergodox/manna-harbour_miryoku/keymap.c
A layouts/community/ortho_4x10/manna-harbour_miryoku/config.h
A layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c
M layouts/community/ortho_4x12/manna-harbour_miryoku/config.h
M layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c
A layouts/community/ortho_5x12/manna-harbour_miryoku/config.h
A layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c
A layouts/community/ortho_5x15/manna-harbour_miryoku/config.h
A layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c
A layouts/community/planck_mit/manna-harbour_miryoku/config.h
A layouts/community/planck_mit/manna-harbour_miryoku/keymap.c
A layouts/community/split_3x5_3/manna-harbour_miryoku/config.h
A layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c
A layouts/community/split_3x6_3/manna-harbour_miryoku/config.h
A layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c
M users/manna-harbour_miryoku/config.h
M users/manna-harbour_miryoku/manna-harbour_miryoku.c
M users/manna-harbour_miryoku/manna-harbour_miryoku.h
M users/manna-harbour_miryoku/miryoku.org
M users/manna-harbour_miryoku/rules.mk
A keyboards/atreus/keymaps/manna-harbour_miryoku/config.h => keyboards/atreus/keymaps/manna-harbour_miryoku/config.h +22 -0
@@ 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\
)

A keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c => keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

D keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h => keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h +0 -16
@@ 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 \
)

D keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c => keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c +0 -1
@@ 1,1 0,0 @@
// generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-

A keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h => keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h +22 -0
@@ 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  \
)

A keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c => keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/for_science/keymaps/manna-harbour_miryoku/config.h => keyboards/for_science/keymaps/manna-harbour_miryoku/config.h +23 -0
@@ 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\
)

A keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c => keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/gergo/keymaps/manna-harbour_miryoku/config.h => keyboards/gergo/keymaps/manna-harbour_miryoku/config.h +22 -0
@@ 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\
)

A keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c => keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h => keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h +25 -0
@@ 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 \
)

A keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c => keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h => keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h +26 -0
@@ 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 \
)

A keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c => keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h => keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h +23 -0
@@ 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\
)

A keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c => keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h => keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h +22 -0
@@ 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 \
)

A keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c => keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/kyria/keymaps/manna-harbour_miryoku/config.h => keyboards/kyria/keymaps/manna-harbour_miryoku/config.h +37 -0
@@ 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

A keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c => keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/lily58/keymaps/manna-harbour_miryoku/config.h => keyboards/lily58/keymaps/manna-harbour_miryoku/config.h +23 -0
@@ 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\
)

A keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c => keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h => keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h +24 -0
@@ 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\
)

A keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c => keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h => keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h +23 -0
@@ 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\
)

A keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c => keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/sofle/keymaps/manna-harbour_miryoku/config.h => keyboards/sofle/keymaps/manna-harbour_miryoku/config.h +23 -0
@@ 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\
)

A keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c => keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A keyboards/torn/keymaps/manna-harbour_miryoku/config.h => keyboards/torn/keymaps/manna-harbour_miryoku/config.h +20 -0
@@ 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 \
)

A keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c => keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A layouts/community/60_ansi/manna-harbour_miryoku/config.h => layouts/community/60_ansi/manna-harbour_miryoku/config.h +39 -0
@@ 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

A layouts/community/60_ansi/manna-harbour_miryoku/keymap.c => layouts/community/60_ansi/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

M layouts/community/ergodox/manna-harbour_miryoku/config.h => layouts/community/ergodox/manna-harbour_miryoku/config.h +19 -13
@@ 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\
)

M layouts/community/ergodox/manna-harbour_miryoku/keymap.c => layouts/community/ergodox/manna-harbour_miryoku/keymap.c +4 -0
@@ 1,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/>.

A layouts/community/ortho_4x10/manna-harbour_miryoku/config.h => layouts/community/ortho_4x10/manna-harbour_miryoku/config.h +20 -0
@@ 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\
)

A layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c => layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

M layouts/community/ortho_4x12/manna-harbour_miryoku/config.h => layouts/community/ortho_4x12/manna-harbour_miryoku/config.h +26 -9
@@ 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

M layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c => layouts/community/ortho_4x12/manna-harbour_miryoku/keymap.c +4 -0
@@ 1,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/>.

A layouts/community/ortho_5x12/manna-harbour_miryoku/config.h => layouts/community/ortho_5x12/manna-harbour_miryoku/config.h +51 -0
@@ 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

A layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c => layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A layouts/community/ortho_5x15/manna-harbour_miryoku/config.h => layouts/community/ortho_5x15/manna-harbour_miryoku/config.h +39 -0
@@ 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

A layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c => layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A layouts/community/planck_mit/manna-harbour_miryoku/config.h => layouts/community/planck_mit/manna-harbour_miryoku/config.h +20 -0
@@ 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\
)

A layouts/community/planck_mit/manna-harbour_miryoku/keymap.c => layouts/community/planck_mit/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A layouts/community/split_3x5_3/manna-harbour_miryoku/config.h => layouts/community/split_3x5_3/manna-harbour_miryoku/config.h +20 -0
@@ 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\
)

A layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c => layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

A layouts/community/split_3x6_3/manna-harbour_miryoku/config.h => layouts/community/split_3x6_3/manna-harbour_miryoku/config.h +20 -0
@@ 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\
)

A layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c => layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c +5 -0
@@ 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/>.

M users/manna-harbour_miryoku/config.h => users/manna-harbour_miryoku/config.h +11 -1
@@ 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


M users/manna-harbour_miryoku/manna-harbour_miryoku.c => users/manna-harbour_miryoku/manna-harbour_miryoku.c +186 -61
@@ 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
};

M users/manna-harbour_miryoku/manna-harbour_miryoku.h => users/manna-harbour_miryoku/manna-harbour_miryoku.h +33 -11
@@ 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

M users/manna-harbour_miryoku/miryoku.org => users/manna-harbour_miryoku/miryoku.org +2090 -345
@@ 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.

#+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  |


*** 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~.

***** 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   |

***** Colemak

~MIRYOKU_ALPHAS=COLEMAK~

***** Colemak (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  |

#+NAME: funl
| F12  | F7   | F8   | F9   | PSCR |
| F11  | F4   | F5   | F6   | SLCK |
| F10  | F1   | F2   | F3   | PAUS |
| NP   | NP   | APP  | SPC  | TAB  |

****** 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 |


***** 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,
:     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_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>>

#pragma once
*** [[./rules.mk][users/manna-harbour_miryoku/rules.mk]]

#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,68 997,342 @@ 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
#+END_SRC
#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()>>

** Layouts
#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

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.

The following are example layouts.
#+END_SRC

*** ergodox

For the ergodox layout, the main 5x3 alphas are used as usual. The primary and
secondary thumb keys are the inner and outer 2u thumb keys and the tertiary
*** [[./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~.

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


*** ergodox

For the ergodox layout, the main 5x3 alphas are used as usual. The primary and
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.

Example build command lines:

#+BEGIN_SRC sh :tangle no
make ergodox_infinity:manna-harbour_miryoku:flash # ergodox_infinity
make ergodox_ez:manna-harbour_miryoku:flash # ergodox_ez
#+END_SRC


**** [[../../layouts/community/ergodox/manna-harbour_miryoku/config.h][layouts/community/ergodox/manna-harbour_miryoku/config.h]]

Contains subset mapping.

#+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

To build for any keyboard using the this layout (ergodone, ergodox_ez,
ergodox_infinity, hotdox) e.g. the ergodox_ez,
Keyboards supporting this layout: newgame40, nimrod, marksard/rhymestone, pabile/p40.

Example build command lines:

#+BEGIN_SRC sh :tangle no
make ergodox_ez:manna-harbour_miryoku:flash
make marksard/rhymestone:manna-harbour_miryoku:flash # marksard/rhymestone
#+END_SRC


**** config.h
**** [[../../layouts/community/ortho_4x10/manna-harbour_miryoku/config.h][layouts/community/ortho_4x10/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/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]]

[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/kle-miryoku-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.

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):
[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ortho_4x12-extended_thumbs.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.

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.

[[../../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/ortho_4x12/manna-harbour_miryoku/keymap.c
// <<header>>

<<license-qmk>>
#+END_SRC


** Keyboards
*** ortho_5x12

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.
As per ortho_4x12 but the top row is unused.

The following are example keyboards.
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.

*** crkbd
Example build command lines:

The outer columns are unused.
#+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

To build for this keyboard,
#+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 crkbd:manna-harbour_miryoku:flash
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

**** config.h

**** [[../../layouts/community/ortho_5x15/manna-harbour_miryoku/config.h][layouts/community/ortho_5x15/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 ../../layouts/community/ortho_5x15/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( \
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 \
#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


**** keymap.c
**** [[../../layouts/community/planck_mit/manna-harbour_miryoku/keymap.c][layouts/community/planck_mit/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 ../../layouts/community/planck_mit/manna-harbour_miryoku/keymap.c
// <<header>>

<<license-qmk>>
#+END_SRC


* Documentation
*** split_3x5_3

** QMK
Keyboards supporting this layout: arch_36, boardsource/microdox, centromere, crkbd, eek, miniaxe, minidox/rev1, pteron36, squiggle/rev1, suihankey/split/rev1.

- https://qmk.fm/
- https://docs.qmk.fm/#/getting_started_introduction
- https://docs.qmk.fm/#/config_options
- https://docs.qmk.fm/#/keycodes
- https://docs.qmk.fm/#/feature_advanced_keycodes
- 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/#/getting_started_make_guide
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.

#+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~.


*** 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 atreus:manna-harbour_miryoku:flash
#+END_SRC


**** [[../../keyboards/atreus/keymaps/manna-harbour_miryoku/config.h][keyboards/atreus/keymaps/manna-harbour_miryoku/config.h]]

Contains subset mapping.

#+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 \
) \
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  \
)
#+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


**** [[../../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.

#+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


*** 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://docs.qmk.fm/
- https://docs.qmk.fm/#/config_options
- https://docs.qmk.fm/#/feature_advanced_keycodes
- https://docs.qmk.fm/#/feature_auto_shift
- https://docs.qmk.fm/#/feature_layers
- https://docs.qmk.fm/#/feature_layouts
- 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]]

M users/manna-harbour_miryoku/rules.mk => users/manna-harbour_miryoku/rules.mk +22 -2
@@ 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