mirror of
https://github.com/ClaytonWWilson/miryoku_zmk.git
synced 2025-12-13 17:58:47 +00:00
- remove default inputs used even when field is blank - remove unused matrix elements from tests - add Test Controllers workflow
200 lines
6.8 KiB
Org Mode
200 lines
6.8 KiB
Org Mode
#+Title: 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]]
|
|
|
|
[[https://github.com/manna-harbour/miryoku/][Miryoku]] is an ergonomic, minimal, orthogonal, and universal keyboard layout. This is the miryoku implementation for [[https://zmkfirmware.dev/][ZMK]].
|
|
|
|
* Contents :TOC_1:
|
|
- [[#building][Building]]
|
|
- [[#miryoku-keymap][Miryoku Keymap]]
|
|
- [[#configuration-options][Configuration Options]]
|
|
- [[#config-file][Config File]]
|
|
- [[#example-config-file][Example Config File]]
|
|
- [[#mapping][Mapping]]
|
|
- [[#keyboard-keymaps][Keyboard Keymaps]]
|
|
- [[#contact][Contact]]
|
|
|
|
* Building
|
|
|
|
|
|
** Supported Keyboards
|
|
|
|
|
|
*** Board Only
|
|
|
|
Any [[https://github.com/zmkfirmware/zmk/tree/main/app/boards/arm][board supported by ZMK]] with a [[#keyboard-keymaps][keymap in Miryoku ZMK]].
|
|
|
|
|
|
*** Board / Shield Combination
|
|
|
|
Any compatible combination of [[https://github.com/zmkfirmware/zmk/tree/main/app/boards/arm][board supported by ZMK]] and [[https://github.com/zmkfirmware/zmk/tree/main/app/boards/shields][shield supported by ZMK]] with a [[#keyboard-keymaps][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 [[./config/board-configs/]].
|
|
|
|
|
|
** Local Builds
|
|
|
|
Clone this repo and use for [[https://zmk.dev/docs/development/build-flash#building-from-zmk-config-folder][ZMK_CONFIG]].
|
|
|
|
|
|
** GitHub Actions Workflows
|
|
|
|
|
|
*** Prebuilt Firmware
|
|
|
|
Some prebuilt firmware can be downloaded from the repo. Log in to GitHub, visit the [[https://github.com/manna-harbour/zmk-config/actions][Actions]] tab, select the appropriate workflow, select the latest successful workflow run, select the desired artifact, and unzip the downloaded zip file.
|
|
|
|
|
|
*** Inputs
|
|
|
|
Fork this repo, select the [[https://github.com/manna-harbour/zmk-config/actions/workflows/build-inputs.yml][Build Inputs]] workflow action, select Run workflow, fill out the form with a [[#Supported-Keyboards][supported keyboard]] and [[#configuration-options][configuration options]], activate Run workflow, wait for successful completion, select the workflow run, select the Artifacts, and unzip the downloaded zip file.
|
|
|
|
|
|
*** Build Matrix
|
|
|
|
Fork this repo, copy, rename, and edit the included [[https://github.com/manna-harbour/zmk-config/actions/workflows/build-matrix.yml][Build Matrix workflow]] by commenting and uncommenting the included matrix elements for [[#Supported-Keyboards][supported keyboards]] and [[#configuration-options][configuration options]]. Enable elements from only one of the with shield or without shield sections per file.
|
|
|
|
|
|
* Miryoku Keymap
|
|
|
|
The miryoku keymap is a ZMK DT keymap file using C preprocessor macros for [[#configuration-options][configuration options]] and to abstract the physical layout. The file is [[./miryoku/miryoku.dtsi][miryoku/miryoku.dtsi]]. The file is included into the [[#keyboard-keymaps][keyboard's keymap]] with
|
|
|
|
#+BEGIN_SRC C :tangle no
|
|
#include "../miryoku/miryoku.dtsi"
|
|
#+END_SRC
|
|
|
|
|
|
* Configuration Options
|
|
|
|
[[https://github.com/manna-harbour/miryoku/blob/master/src/babel/readme.org#keymap-configuration-options][Keymap configuration options]] and [[#mapping][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][config file]]. To apply configuration options to a single keyboard, add them to the [[#keyboard-keymaps][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~ [[#Customise-Workflow-Files][matrix variable]] or [[#Inputs][input]]. Empty fields will use the default value.
|
|
|
|
|
|
* Config File
|
|
|
|
The config file can be used to provide [[#configuration-options][configuration options]] for all [[#Local-Builds][local builds]]. The file is [[./miryoku/config.h][miryoku/config.h]]. See the [[#example-config-file][example config file]].
|
|
|
|
|
|
* Example Config File
|
|
|
|
Below is an example [[#config-file][config file]] with the following keymap [[#configuration-options][configuration options]]:
|
|
|
|
- ~MIRYOKU_ALPHAS=QWERTY~
|
|
- ~MIRYOKU_NAV=VI~
|
|
- ~MIRYOKU_CLIPBOARD=WIN~
|
|
|
|
#+BEGIN_SRC C :tangle nos
|
|
// https://github.com/manna-harbour/miryoku-zmk/
|
|
|
|
#define MIRYOKU_ALPHAS_QWERTY
|
|
#define MIRYOKU_NAV_VI
|
|
#define MIRYOKU_CLIPBOARD_WIN
|
|
#+END_SRC
|
|
|
|
|
|
* 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/][miryoku/mapping/]]. The mapping file is included into the keyboard's keymap file before the miryoku keymap with e.g.
|
|
|
|
#+BEGIN_SRC C :tangle no
|
|
#include "../miryoku/mapping/36-minidox.h"
|
|
#+END_SRC
|
|
|
|
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][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-options][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/][config/]].
|
|
|
|
|
|
* Contact
|
|
|
|
For feature requests or issues with code or documentation please
|
|
[[https://github.com/manna-harbour/zmk-config/issues/new][open an issue]].
|
|
|
|
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/data/logos/manna-harbour-boa-32.png]]
|