miryoku_zmk/readme.org
2022-06-02 16:03:50 +10:00

6.8 KiB

Miryoku ZMK 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.png

Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout. This is the miryoku implementation for ZMK.

Building

Supported Keyboards

Board / Shield Combination

Any compatible combination of board supported by ZMK and shield supported by ZMK with a keymap in Miryoku ZMK.

Out of Tree Boards and Shields

Additionally, some out of tree boards and shields are automatically supported by the included GitHub Actions workflows. See /ClaytonWWilson/miryoku_zmk/src/commit/cf1ada7a94651aa9633b1f3cca8981fbf4d68994/config/outboards for supported out of tree boards and shields.

Local Builds

Clone this repo and use for ZMK_CONFIG.

GitHub Actions Workflows

Inputs

Fork this repo, select the Build Inputs workflow action, select Run workflow, fill out the form with a supported keyboard and configuration options, activate Run workflow, wait for successful completion, select the workflow run, select the Artifacts, and unzip the downloaded zip file.

Build Matrix Template

Fork this repo, copy the included Build Matrix Template workflow file, edit the name value, and uncomment the included matrix values for the required supported keyboards and configuration options.

Prebuilt Firmware

Some prebuilt firmware can be downloaded from the repo. Log in to GitHub, visit the Actions tab, select the appropriate workflow, select the latest successful workflow run, select the desired artifact, and unzip the downloaded zip file.

Miryoku Keymap

The miryoku keymap is a ZMK DT keymap file using C preprocessor macros for configuration options and to abstract the physical layout. The file is miryoku/miryoku.dtsi. The file is included into the keyboard's keymap with

#include "../miryoku/miryoku.dtsi"

Configuration Options

Keymap configuration options and mapping configuration options are given in the documentation in the form option=value.

Configuration Options in Config File

Convert to the form #define option_value. To apply the configuration options to all builds add them to the config file. To apply configuration options to a single keyboard, add them to the keyboard keymap file before any #include lines.

Configuration Options in GitHub Actions Workflows

Convert to the form value (uppercase or lowercase) and use with the corresponding option matrix variable or input. Empty fields will use the default value.

Config File

The config file can be used to provide configuration options for all local builds. The file is miryoku/config.h. See the example config file.

Example Config File

Below is an example config file with the following keymap configuration options:

  • MIRYOKU_ALPHAS=QWERTY
  • MIRYOKU_NAV=VI
  • MIRYOKU_CLIPBOARD=WIN
// https://github.com/manna-harbour/miryoku-zmk/

#define MIRYOKU_ALPHAS_QWERTY
#define MIRYOKU_NAV_VI
#define MIRYOKU_CLIPBOARD_WIN

Mapping

The keymap is mapped onto keyboards with different physical layouts. The keymap is specified in terms of the MIRYOKU_MAPPING macro. The macro is defined in a C header file for each physical layout. Unused keys are mapped to &none. The files are in miryoku/mapping/. The mapping file is included into the keyboard's keymap file before the miryoku keymap with e.g.

#include "../miryoku/mapping/36-minidox.h"

On each hand, only the main alpha block of 3 rows by 5 columns and the 3 most appropriate thumb keys are used. Notes or diagrams are included where the selection of keys is not obvious or where alternatives are provided via mapping configuration options.

Layouts

34-ferris

Combo TPS

MIRYOKU_COMBO_TPS=ENABLE

Combos of primary and secondary thumb keys emulate the missing tertiary thumb key. This configuration option is enabled automatically for this mapping and can be enabled on other mappings for compatibility

36-minidox

42-corne

44-jian

48-planck

Default

https://raw.githubusercontent.com/manna-harbour/miryoku/master/kle-miryoku-mapping-ortho_4x12.png

Extended Thumbs

MIRYOKU_MAPPING=EXTENDED_THUMBS

50-kyria

Default

https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-kyria.png

Extend Thumbs

MIRYOKU_MAPPING=EXTENDED_THUMBS

https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-kyria-extended_thumbs.png

56-iris

58-lily58

60-sofle

62-atreus62

64-helix

Keyboard Keymaps

Keymap files for many keyboards included in ZMK are provided in config/.

Contact

For feature requests or issues with code or documentation please open an issue.

For more general discussion please contact Manna Harbour.

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