Miryoku Keyboard Layout
repository·master·Indexed 26 days ago
https://github.com/manna-harbour/miryokuAn ergonomic, minimal, and universal keyboard layout designed for split or non-split ergo/ortho keyboards. Miryoku utilizes a layer-based system and thumb keys to minimize finger movement, featuring a 5x3 grid per hand. It supports multiple implementations including QMK, ZMK, KMonad, KMK, Babel, and Oryx. The layout is highly customizable via environment variables for alpha arrangements (e.g., QWERTY, COLEMAK, DVORAK), navigation styles (VI, INVERTEDT), and clipboard bindings.
What's inside Miryoku
- Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout designed to be used across various keyboard firmware and software implementations.
Overview of Miryoku Keyboard Layout
masterMiryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout designed for split or non-split ergo/ortho keyboards. It follows these core principles:
- Layer-based navigation: Uses layers instead of physical reaching.
- Symmetry: Uses both hands instead of contortions.
- Home Position: Maximizes use of home positions and thumbs.
- Simplicity: Avoids unnecessary complication.
Technical Specifications:
- Grid: 5 columns, 3 rows, 3 thumb keys, 2 hands.
- Key Coverage: Includes all keys found on a US TKL keyboard, plus media keys and mouse emulation.
- Movement: Maximum 1-u movement from home position for fingers and thumbs (mostly along one axis).
- Modifiers: Dual-function modifiers on the home row (mirrored on both hands) and dual-function layer change on thumbs.
Understand Miryoku Layers
masterMiryoku is organized into several functional layers:
Right-Hand Layers
- Base: Default alphas (e.g., Colemak Mod-DH). Thumb keys: Left (
Space,Tab,Escape), Right (Backspace,Enter,Delete). - Nav (Primary): Navigation and editing. Cursor keys on home position. Duplicates thumb keys from Base to enable auto-repeat.
- Mouse (Secondary): Mouse emulation. Movement mirrors Nav layer; wheel mirrors line/page movement. Thumb keys act as Left, Right, and Middle mouse buttons.
- Media (Tertiary): Media control (
Volume,Next/Prev,Pause,Stop,Mute). Also includes RGB and Bluetooth controls.
Left-Hand Layers
- Num (Primary): Numpad layout for numerals and symbols.
- Sym (Secondary): Shifted symbols in the same locations as Num to reduce chording.
- Fun (Tertiary): Function keys mirroring the Num layer, plus system keys and an
Appkey on the tertiary thumb.
Special Layers
- Button: Provides mouse buttons, mods, and clipboard keys for integrated/external pointing devices. Can be activated manually by holding a bottom row pinkie key.
- Base: Default alphas (e.g., Colemak Mod-DH). Thumb keys: Left (
Access Miryoku Oryx layouts
masterMiryoku Oryx provides pre-configured layouts for specific ZSA keyboards. You can access these layouts directly via the Oryx configurator using the following links:
- Ergodox EZ: Miryoku Oryx (Ergodox EZ)
- Planck EZ: Miryoku Oryx (Planck EZ)
- Moonlander: Miryoku Oryx (Moonlander)
Implement alternative layouts in Oryx
masterThis repository only provides specific layouts for the keyboards listed above. If you need an alternative layout for a different keyboard, you must implement it manually by copying the configuration from existing Miryoku implementations.
For full support across all keyboards supported by Miryoku, use the Miryoku QMK implementation instead.
Use Additional Features and Sub-layers
masterMiryoku includes advanced features triggered during thumb key tap-hold sequences or via specific key combinations. Note: Most additional features require a double tap to activate to prevent accidental triggers.
Layer Switching and Reset
- Base Layer Variants: Use top row index, middle, and ring column keys to switch between
Base,Extra, andTaplayers. - Layer Lock: Use bottom row index and middle column keys to lock the current layer or the opposite layer.
- Reset: To return from the
Taplayer, hold any thumb key and tap the top row pinkie column key on the same hand.
System Controls
- Bootloader: Activate by tapping the top row pinkie column key.
- RGB Control: Located on the top row. Use the inner index column key to toggle RGB. Use index, middle, ring, and pinkie keys to adjust Hue, Saturation, and Value (tap to increase,
Shift+ tap to decrease).
- Base Layer Variants: Use top row index, middle, and ring column keys to switch between
Configure Alpha Layouts via Environment Variables
masterYou can customize the alpha key arrangements for different layers using environment variables. The available arrangements apply to
Base,Extra, andTaplayers.Base Alpha Options:
AZERTYCOLEMAKCOLEMAKDHK(Colemak Mod-DHk)DVORAKHALMAKWORKMANQWERTYQWERTZ
Usage Examples:
- Set Base alphas:
MIRYOKU_ALPHAS=AZERTY - Set Extra alphas:
MIRYOKU_EXTRA=COLEMAKDH - Set Tap alphas:
MIRYOKU_TAP=QWERTY
MIRYOKU_ALPHAS=AZERTY MIRYOKU_EXTRA=COLEMAKDH MIRYOKU_TAP=QWERTYConfigure Clipboard Key Bindings
masterCustomize how clipboard keys (
Cut,Copy,Paste,Undo,Redo) behave using theMIRYOKU_CLIPBOARDvariable.Available Options:
- Default: Uses CUA bindings (compatible with Unix, Windows, Emacs, and most terminals).
Undo/Redouse Fun Cluster keycodes. FUN: Uses Fun Cluster keycodes.MAC: Optimized for macOS.WIN: Optimized for Windows.
MIRYOKU_CLIPBOARD=MAC MIRYOKU_CLIPBOARD=WIN MIRYOKU_CLIPBOARD=FUN- Default: Uses CUA bindings (compatible with Unix, Windows, Emacs, and most terminals).
Configure Layer Transformations
masterUse the
MIRYOKU_LAYERSvariable to transform the layout structure.Available Transformations:
FLIP: Flips the base layer thumb keys and sub-layers between the right and left hands.
MIRYOKU_LAYERS=FLIPConfigure Navigation (Nav) Layer Styles
masterThe Nav layer (Primary right-hand layer) can be customized to match different movement styles using the
MIRYOKU_NAVvariable.Available Styles:
VI: Moves columns left one position to matchhjklpositions. The inner index column moves to the pinkie column. (Note: Not compatible withMIRYOKU_LAYERS=FLIP).INVERTEDT: Arranges cursor keys in an inverted-T.Downis on the middle finger home position,Home/Endare to the left/right ofUp, andPage Up/Page Downare on the pinkie column. Clipboard keys move to the bottom row, andInsertmoves to the top row.- Default: Standard navigation arrangement.
MIRYOKU_NAV=VI MIRYOKU_NAV=INVERTEDTAvailable Miryoku implementations
masterMiryoku is available as an implementation for several different keyboard firmware and software platforms:
- QMK: For QMK-based keyboards.
- ZMK: For ZMK-based keyboards.
- KMonad: For KMonad-based software remapping.
- KMK: For KMK-based firmware.
- Babel: For Miryoku Babel.
- Oryx: Via Oryx configuration.