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

124 lines
3.9 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, universal keyboard layout. This is the miryoku implementation for
[[https://zmkfirmware.dev/][ZMK]].
* Contents :TOC_3:
- [[#miryoku-keymap][Miryoku Keymap]]
- [[#configuration-options][Configuration Options]]
- [[#mapping][Mapping]]
- [[#generic-layouts][Generic Layouts]]
- [[#jian][jian]]
- [[#ortho_4x12][ortho_4x12]]
- [[#split_3x5_2][split_3x5_2]]
- [[#split_3x5_3][split_3x5_3]]
- [[#split_3x6_3][split_3x6_3]]
- [[#keyboard-specific-layouts][Keyboard-Specific Layouts]]
- [[#kyria][kyria]]
- [[#keyboard-keymaps][Keyboard Keymaps]]
- [[#prebuilt-firmware][Prebuilt Firmware]]
- [[#contact][Contact]]
* 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][miryoku/miryoku.dtsi]]. The file
is included into the keyboard's keymap with
#+BEGIN_SRC C :tangle no
#include "../miryoku/miryoku.dtsi"
#+END_SRC
* Configuration Options
todo
* 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/split_3x5_3.dtsi"
#+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 options are provided.
** Generic Layouts
These mappings can be used by multiple keyboards with functionally identical physical layouts.
todo
*** jian
Used by:
- jian
- jorne
*** [[./miryoku/mapping/ortho_4x12.h][ortho_4x12]]
[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ortho_4x12.png]]
*** [[./miryoku/mapping/split_3x5_2.h][split_3x5_2]]
Combos of primary and secondary thumb keys emulate the missing tertiary thumb
key. To enable with other subset mappings for compatibility, add ~#define
MIRYOKU_COMBO_TPS_ENABLE~ to the keymap before the includes.
*** [[./miryoku/mapping/split_3x5_3.h][split_3x5_3]]
*** [[./miryoku/mapping/split_3x6_3.h][split_3x6_3]]
** Keyboard-Specific Layouts
todo
*** [[./miryoku/mapping/kyria.h][kyria]]
[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-kyria.png]]
* Keyboard Keymaps
Keymap files for many keyboards included in ZMK are provided in
[[./config/][config/]].
* Prebuilt Firmware
Prebuilt firmware for supported keyboards, built with the default configuration
options, can be downloaded from the repo. From the
[[https://github.com/manna-harbour/miryoku-zmk/actions][Actions]] tab select the
latest successful workflow run, then select the keyboard in the Artifacts
section.
* Contact
For issues with the code, including requests for any of the following, please
[[https://github.com/manna-harbour/miryoku-zmk/issues/new][create an issue]].
Pull requests are also welcome.
- Additional mapping and keyboard keymap files
- Additional mapping options (see miryoku QMK for examples)
- Populating unused keys in ~MIRYOKU_MAPPING_TAP~ (currently skipped for some mapping files)
[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]]