A split keyboard layout optimized for Portuguese, English, working with numbers and software programming with VIM plugins.
The image above shows just the most relevant layers. To see the full diagram, click here.
The ratiaonale behind the decisions that led to this keymap can be found in this page, but here is a summ 8000 ary:
What are the directives that drive most of my decisions?
- Ergonomic, Split, Columnar Stagger
- No lateral movements or uncomfortable stretches
- If it is frequent, it should be easy
- Trackball in the left hand, heavy load in the right hand
- English, but also Portuguese, plus VIM and Spreadsheets
What are the workflows that I need to execute with my keyboards?
- Typing: The most basic and essential workflow.
- Numbers: How this keymap makes it easy to work with numbers.
- Shortcuts: How to work with so many shortcuts in such minimal keyboards.
- Navigation: Navigating in text, presentations, window management and mouse emulation.
- Programming: Optimizations to make programming easier.
This layout can be easily adapted to most ortholinear or column staggered keyboards with at least 24 keys, with 2 of them on each thumb.
Diamond | Wired Diamond | Choc Diamond |
Rommana Remix | Wired Rommana | Corne-ish Zen |
This keymap is implemented in ZMK, with the following external modules:
The script init.sh will clone the ZMK firmware and configure the toolchain. After installing ZMK and running the init script above, west cli should be working to compile and flash.
The script build.sh can be used to build the firmware for any of my boards. Run build --help
for more details.
The Diagram for my keymap was created using Keymap Drawer. The source and config files can be found in the docs folder and the commands below can be used to generate an svg
diagram and convert it to png
, using Inkscape:
keymap -c keymap-drawer-config.yaml draw keymap-drawer.yaml > overview.svg
inkscape --export-type png --export-filename overview.png --export-dpi 300 --export-background=white overview.svg
The script draw.sh is used to draw all diagrams in my keymap using commands like the example above.
Most features implemented here were based on the work referenced below.