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=ATREUS62https://github.com/KMKfw/kmk_firmware/tree/master/boards/atreus62.KMK_KEYBOARD=BOARDSOURCE_4X12https://github.com/KMKfw/kmk_firmware/tree/master/boards/boardsource/4x12. See diagram.KMK_KEYBOARD=BOARDSOURCE_5X12https://github.com/KMKfw/kmk_firmware/tree/master/boards/boardsource/5x12.KMK_KEYBOARD=BOARDSOURCE_LULUhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/boardsource/Lulu.KMK_KEYBOARD=BOARDSOURCE_MICRODOXhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/boardsource/microdox.KMK_KEYBOARD=CRKBDhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/crkbd.KMK_KEYBOARD=CROWBOARDhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/crowboard.KMK_KEYBOARD=ERGO_TRAVELhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/ergo_travel.KMK_KEYBOARD=FFKBhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/fingerpunch/ffkb.KMK_KEYBOARD=HELIXhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/helix.KMK_KEYBOARD=KEEBIO_IRIShttps://github.com/KMKfw/kmk_firmware/tree/master/boards/keebio/iris.KMK_KEYBOARD=KEEBIO_LEVINSONhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/keebio/levinson. See diagram.KMK_KEYBOARD=KEEBIO_NYQUISThttps://github.com/KMKfw/kmk_firmware/tree/master/boards/keebio/nyquist.KMK_KEYBOARD=KLORhttps://github.com/moritz-john/kmk-config-klor.KMK_KEYBOARD=KYRIAhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/kyria. See diagram.KMK_KEYBOARD=LILY58https://github.com/KMKfw/kmk_firmware/tree/master/boards/lily58.KMK_KEYBOARD=LUNAKEY_PICOhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/lunakey_pico.KMK_KEYBOARD=RHYMESTONEhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/rhymestone.KMK_KEYBOARD=SOFLEhttps://github.com/KMKfw/kmk_firmware/tree/master/boards/sofle.KMK_KEYBOARD=SPLAYTORAIDhttps://github.com/moritz-john/kmk-config-splaytoraid.KMK_KEYBOARD=ZODIARKhttps://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=LEDhttps://github.com/KMKfw/kmk_firmware/blob/master/docs/en/led.md.KMK_RGB=PEGhttps://github.com/KMKfw/kmk_firmware/blob/master/docs/en/peg_rgb_matrix.md.KMK_RGB=RGBhttps://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_THUMBSThe thumb keys are moved 1u to extend the thumbs. Only available withKMK_KEYBOARD=KYRIA. See diagram.MIRYOKU_MAPPING=PINKIE_STAGGERThe pinkie columns are moved down one row to add pinkie stagger. Only available withKMK_KEYBOARD=KEEBIO_LEVINSONSee 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 # optionsA 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.