Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout. Miryoku KMK is the Miryoku implementation for KMK.
This document describes Miryoku KMK only. For Miryoku documentation, implementations, and discussions and support, see Miryoku.
Select the mapping of Miryoku keymap layout onto keyboard keymap layout by specifying the keyboard. Where more keys are available, on each hand only the main alpha block of 3 rows by 5 columns and the 3 most appropriate thumb keys are used. The default is for a split 3x5+3 keyboard keymap layout.
KMK_KEYBOARD=ATREUS62
https://github.com/KMKfw/kmk_firmware/tree/master/boards/atreus62.KMK_KEYBOARD=BOARDSOURCE_4X12
https://github.com/KMKfw/kmk_firmware/tree/master/boards/boardsource/4x12. See diagram.KMK_KEYBOARD=BOARDSOURCE_5X12
https://github.com/KMKfw/kmk_firmware/tree/master/boards/boardsource/5x12.KMK_KEYBOARD=BOARDSOURCE_LULU
https://github.com/KMKfw/kmk_firmware/tree/master/boards/boardsource/Lulu.KMK_KEYBOARD=BOARDSOURCE_MICRODOX
https://github.com/KMKfw/kmk_firmware/tree/master/boards/boardsource/microdox.KMK_KEYBOARD=CRKBD
https://github.com/KMKfw/kmk_firmware/tree/master/boards/crkbd.KMK_KEYBOARD=CROWBOARD
https://github.com/KMKfw/kmk_firmware/tree/master/boards/crowboard.KMK_KEYBOARD=ERGO_TRAVEL
https://github.com/KMKfw/kmk_firmware/tree/master/boards/ergo_travel.KMK_KEYBOARD=FFKB
https://github.com/KMKfw/kmk_firmware/tree/master/boards/fingerpunch/ffkb.KMK_KEYBOARD=HELIX
https://github.com/KMKfw/kmk_firmware/tree/master/boards/helix.KMK_KEYBOARD=KEEBIO_IRIS
https://github.com/KMKfw/kmk_firmware/tree/master/boards/keebio/iris.KMK_KEYBOARD=KEEBIO_LEVINSON
https://github.com/KMKfw/kmk_firmware/tree/master/boards/keebio/levinson. See diagram.KMK_KEYBOARD=KEEBIO_NYQUIST
https://github.com/KMKfw/kmk_firmware/tree/master/boards/keebio/nyquist.KMK_KEYBOARD=KLOR
https://github.com/moritz-john/kmk-config-klor.KMK_KEYBOARD=KYRIA
https://github.com/KMKfw/kmk_firmware/tree/master/boards/kyria. See diagram.KMK_KEYBOARD=LILY58
https://github.com/KMKfw/kmk_firmware/tree/master/boards/lily58.KMK_KEYBOARD=LUNAKEY_PICO
https://github.com/KMKfw/kmk_firmware/tree/master/boards/lunakey_pico.KMK_KEYBOARD=RHYMESTONE
https://github.com/KMKfw/kmk_firmware/tree/master/boards/rhymestone.KMK_KEYBOARD=SOFLE
https://github.com/KMKfw/kmk_firmware/tree/master/boards/sofle.KMK_KEYBOARD=SPLAYTORAID
https://github.com/moritz-john/kmk-config-splaytoraid.KMK_KEYBOARD=ZODIARK
https://github.com/KMKfw/kmk_firmware/tree/master/boards/zodiark.
Select the RGB keycodes. The default is no RGB keycodes. Requires manual module configuration according to the KMK documentation.
KMK_RGB=LED
https://github.com/KMKfw/kmk_firmware/blob/master/docs/en/led.md.KMK_RGB=PEG
https://github.com/KMKfw/kmk_firmware/blob/master/docs/en/peg_rgb_matrix.md.KMK_RGB=RGB
https://github.com/KMKfw/kmk_firmware/blob/master/docs/en/rgb.md.
See Alternative Layouts in the Miryoku Reference Manual.
Alternative mapping options are available for some keyboards.
MIRYOKU_MAPPING=EXTENDED_THUMBS
The thumb keys are moved 1u to extend the thumbs. Only available withKMK_KEYBOARD=KYRIA
. See diagram.MIRYOKU_MAPPING=PINKIE_STAGGER
The pinkie columns are moved down one row to add pinkie stagger. Only available withKMK_KEYBOARD=KEEBIO_LEVINSON
See diagram.
Generate a personalised Miryoku KMK keymap file in main.py
format.
Requires make
, sh
, cpp
, and sed
.
First cd
to the src directory then build with make
.
The generated file is src/build/main.py.
To select configuration options, append them to the make
command line.
make -B # defaults
make -B KMK_KEYBOARD=KEEBIO_LEVINSON KMK_RGB=RGB MIRYOKU_ALPHAS=QWERTY MIRYOKU_EXTRA=COLEMAKDH MIRYOKU_TAP=QWERTY MIRYOKU_NAV=INVERTEDT MIRYOKU_CLIPBOARD=WIN MIRYOKU_LAYERS=FLIP MIRYOKU_MAPPING=PINKIE_STAGGER # options
A keymap file can be generated via GitHub Actions workflows without use of a local build environment.
First log in to GitHub, fork the Miryoku KMK repository, and enable workflows.
To access a workflow, visit the Actions tab and select the workflow. To download the keymap file from a workflow run, select the workflow, select the workflow run, select the desired Artifacts, and unzip the downloaded zip file.
Workflow files are in .github/workflows.
The Build Inputs workflow can be used without editing workflow files. Select Run workflow, select the Branch and fill out the form with the desired configuration options, and activate Run workflow.
- Install KMK.
- Install the keyboard definition and default keymap for your keyboard.
- Test your keyboard.
- Generate the Miryoku KMK keymap file.
- Install the keymap file on your keyboard.
The generated src/build/main.py can be used as-is with a kb.py
that contains all of the hardware configuration.
If the default main.py
supplied with kb.py
contains hardware configuration, it will need to be manually added to the generated src/build/main.py or moved into the supplied kb.py
.
For an example of a kb.py
containing all of the hardware configuration, see https://github.com/moritz-john/kmk-config-klor.
Caps Word takes the place of Caps Lock on Nav. Double tap for Caps Lock.
Use Miryoku KMK with any keyboard with 𝑥MK.
Build with the default keyboard.
Use the generated Miryoku KMK main.py
in place of the KMK boards/xmk/main.py
.
Hold-Tap configuration options in KMK are limited and the behaviour of dual-function keys in Miryoku KMK does not match other Miryoku implementations.
Some keycodes and keymap features included in the Miryoku documentation and in other Miryoku implementations are not supported in KMK and so are missing in Miryoku KMK.
No Bluetooth keycodes are present in KMK, see KMKfw/kmk_firmware#452.
External power control is not supported in KMK.
Fun Cluster clipboard keycodes are not supported in KMK.
Horizontal mouse scroll is not supported in KMK.
KMK uses different keycodes for each RGB implementation, and each implementation supports a different subset of features. The RGB keycodes included in the Miryoku KMK keymap will depend on the RGB option. For the corresponding keycodes, see src/miryoku.h.
Shift functions as used on Media are not supported in KMK, see KMKfw/kmk_firmware#409. Only the unshifted functions are included.