/miryoku_kmk

Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout. Miryoku KMK is the Miryoku implementation for KMK.

Primary LanguageC

Miryoku KMK https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png

https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover-miryoku_kmk.png

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.

Configuration Options

Keyboard

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.

RGB

Select the RGB keycodes. The default is no RGB keycodes. Requires manual module configuration according to the KMK documentation.

Miryoku Alternative Layout Options

See Alternative Layouts in the Miryoku Reference Manual.

Mapping

Alternative mapping options are available for some keyboards.

  • MIRYOKU_MAPPING=EXTENDED_THUMBS The thumb keys are moved 1u to extend the thumbs. Only available with KMK_KEYBOARD=KYRIA. See diagram.
  • MIRYOKU_MAPPING=PINKIE_STAGGER The pinkie columns are moved down one row to add pinkie stagger. Only available with KMK_KEYBOARD=KEEBIO_LEVINSON See diagram.

Building

Generate a personalised Miryoku KMK keymap file in main.py format.

Local Builds

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

Workflow Builds

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.

Build Inputs Workflow

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.

Installation

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.

Additional and Experimental Features

Caps Word

Caps Word takes the place of Caps Lock on Nav. Double tap for Caps Lock.

Customisation

See manna-harbour/miryoku#85.

𝑥MK

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.

Issues

Hold-Tap Behaviour

Hold-Tap configuration options in KMK are limited and the behaviour of dual-function keys in Miryoku KMK does not match other Miryoku implementations.

Missing Functions

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.

Bluetooth

No Bluetooth keycodes are present in KMK, see KMKfw/kmk_firmware#452.

External Power

External power control is not supported in KMK.

Fun Cluster

Fun Cluster clipboard keycodes are not supported in KMK.

Horizontal Mouse Scroll

Horizontal mouse scroll is not supported in KMK.

RGB

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

Shift functions as used on Media are not supported in KMK, see KMKfw/kmk_firmware#409. Only the unshifted functions are included.

https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png