kōyō is a sleek, minimalistic keyboard layout, designed with a 36-key split configuration. Its name is inspired by the harmony and elegance of Japanese aesthetics and the calming feeling of autumn leaves.
In Japanese, kōyō (紅葉) translates to "autumn leaves" and is used to describe the phenomenon of leaves changing color in the autumn season. The word is composed of two kanji characters: kō (紅) meaning "crimson" and yō (葉) meaning "leaf".
- QWERTY: Familiar layout to ease the transition
- Compact Design: Comprising only 36 keys, optimized for efficiency and ergonomics
- Alpha Keys on Bottom Row: Easily accessible, with no need to move your hands, and non blocking for the home row
- Utility Extension Layer: Conveniently located under the space bar, with arrow keys, alphas, and other essential tools
- Dedicated Symbol Layers: Two dedicated layers for symbols for each hand, which are semantically arranged for easy remembrance
- Integrated Num Pad: Enables quick numerical inputs
- Functional Key Pad: Direct access to function keys
The koyo
CLI tool provides a streamlined interface for managing your keyboard configurations:
# Clone the repository
git clone https://github.com/nikbrunner/koyo.git
# Run the setup script
./setup.sh
# Standard setup
koyo setup
# Dry run to see what would happen
koyo setup --dry-run
# Flash Moonlander keyboard
koyo moonlander flash
# Open Moonlander configuration in Oryx
koyo moonlander oryx
# Flash Corne keyboard
koyo crkbd flash
# Update layout SVG
koyo update svg
# Update QMK firmware
koyo update qmk
Add the --debug
or -d
flag to any command for verbose output:
koyo --debug moonlander flash
koyo/
├── setup.sh # Setup script
├── utils.sh # Utility functions
├── qmk/ # QMK configurations
│ ├── moonlander/ # Moonlander specific files
│ └── crkbd/ # Corne specific files
├── help.sh # Help documentation
├── update_svg.sh # SVG update script
├── config.yml # Configuration file
└── assets/ # Project assets
- QMK Firmware
yq
for YAML processing- ZSH shell
- Git
- Create a new branch for your feature
- Implement your changes
- Update documentation if necessary
- Submit a pull request
Before submitting changes:
- Test all keyboard configurations
- Verify CLI commands work as expected
- Run setup script in dry-run mode
- urob: timeless home row mods
- infused-kim
- miryoku_zmk
- ZMK Docs
- Designing a Symbol Layer
- A guide to home row mods
- Callum Mods
- Jonas Hietala: I designed my own keyboard layout. Was it worth it?
Contributions are welcome! Please read through the existing issues and pull requests before creating new ones.
This project is licensed under the MIT License - see the LICENSE file for details.