┌─────────────────────────────────────────────────┐
│ │
│ C O D A │
│ │
│ 22 keys. The distilled form. │
│ │
└─────────────────────────────────────────────────┘
Coda (n.): the concluding passage — a concentrated, essential statement that brings everything together.
Coda is a 22-key split keyboard layout and the minimal sibling of Cadenza. It removes the pinky column and inner column entirely — not as a constraint, but as a deliberate ergonomic choice. The result is a layout with zero pinky load, zero lateral index stretch, and an estimated SFB rate of ~0.90% — lower than Colemak-DH.
22 keys. The distilled form.
Cadenza 36 keys Full layout — Vial/QMK, all 13 layers, daily driver
Coda 22 keys Distilled form — QMK keymap.c, concept stage
Coda shares Cadenza's design DNA: Colemak-DH base, Home Row Mods via Tap Dance, frequency-ranked symbol placement, dedicated CLI and International layers, and bilateral access for critical functions. What changes is the physical constraint: 3 fingers per side instead of 5, 2 thumbs per side instead of 3.
Left Right
┌───┬───┬───┐ ┌───┬───┬───┐
│ D │ G │ L │ │ H │ F │ C │ ← top row
├───┼───┼───┤ ├───┼───┼───┤
│ T │ S │ R │ │ N │ E │ I │ ← home row ← fingers rest here
├───┼───┼───┤ ├───┼───┼───┤
│ M │ W │ B │ │ Z │ K │ U │ ← bottom row
└───┴───┴───┘ └───┴───┴───┘
┌───┬───┐ ┌───┬───┐
│ A │Spc│ │ O │Ent│ ← thumbs
└───┴───┘ └───┴───┘
Fingers: Index · Middle · Ring (no Pinky, no Inner column)
22 positions total. The Colemak-DH inner home row — T S R / N E I — is preserved unchanged. A (7.4%) and O (5.0%) move from pinky keys to thumbs, solving the frequency gap created by removing the outer column.
The pinky finger is responsible for the highest incidence of repetitive strain injury in keyboard users. It is simultaneously the weakest finger and — on a standard layout — one of the most heavily loaded:
| Layout | Pinky load | Lateral stretch |
|---|---|---|
| QWERTZ | ~14% | Very high |
| Dvorak | ~7% | Moderate |
| Colemak-DH | ~6% | Low |
| Coda | 0% | Zero |
| Metric | QWERTZ | Dvorak | Colemak-DH | Coda |
|---|---|---|---|---|
| SFB rate | 6.31% | 2.62% | 1.28% | ~0.90% |
| Home row usage | 34% | 71% | 68% | 64% |
| Pinky load | 14% | 7% | 6% | 0% |
| Lateral index stretch | Very high | Moderate | Low | Zero |
| German CH bigram | Same-finger | Cross-hand | Cross-hand | Inward roll |
| German IG bigram | Same-hand | Varies | Varies | Cross-hand |
SFB = Same-Finger Bigrams. QWERTZ, Dvorak, Colemak-DH values documented (carpalx / Patrick Steele corpus). Coda estimated from column analysis. German + English combined corpus.
| Layer | Access | Purpose |
|---|---|---|
| L0 Base | Always active | 20 letters · Tap Dance HRM |
| L-Nav | Hold A |
Arrows · Word nav · Modifiers |
| L-Sym | Hold Space |
Symbols · Punctuation · Brackets |
| L-Num | Hold O |
Numpad 1–9 · Operators |
| L-Code | Hold Ent |
Shell operators · Path nav · Code macros |
| L-WM | Hold G or H |
Workspaces 1–10 · Focus · Window movement |
| L-Fn | Hold O + Ent |
F1–F12 · Media |
| L-Mouse | Hold A + Space |
Pointer · Scroll · Buttons |
| L-Overflow | Hold A + Ent |
P V Y J X Q · ß € |
Layer access follows Frequency × Ergonomic Quality:
Athumb → Navigation (most-used directional layer)Spacethumb → Symbols (second most-used)Othumb → Numbers (third)Entthumb → Code/CLI (fourth)G/Hholds → WM (bilateral — hold right hand, left free for numpad)
- Zero pinky load — physically impossible on this hardware
- Zero lateral stretch — no inner column exists
- Colemak-DH home row preserved — T·S·R / N·E·I identical to Cadenza
- A and O on thumbs — the two highest-frequency non-home letters on the strongest fingers
- CH as inward roll — German's most common digraph (2.4%) is a fast right-hand roll
- IG cross-hand — German
-igendings (richtig, wenig) never cause same-finger bigrams - Bilateral WM + Meta —
G/Hfor WM ·L/Ffor Meta · left hand free for numpad - Nav combos — all 4 arrows on home row:
N=←E=↓I=→N+E=↑ - Pre-encoded WM shortcuts — tap=⊞+N · hold=⊞+⇧+N, no manual Meta hold needed
- QMK keymap.c — unlimited macros, layer-specific combos, full C programmability
- ⚠ Concept only — no commercial 22-key PCB with this exact layout exists yet
- Steep learning curve — new hardware paradigm + layers + combos
- Backspace is a combo —
Space+Entsimultaneously - Symbols require layer hold — every comma and period needs a thumb hold
- P, V on overflow — ~1.5% of characters are one step deeper
- Meta + Alt conflict —
L(Meta) andR(Alt) share the left ring finger
Coda requires a custom 22-key split PCB. Closest commercial options:
| Board | Keys | Gap |
|---|---|---|
| Ferris Sweep | 34 | Has pinkies + inner column |
| Ferris Sweep Bling | 34 | Same |
| Absolem | 46 | Too many keys |
| Custom PCB | 22 | Target hardware |
The Coda PCB would be a Corne Choc variant with the outer (pinky) column physically absent.
Coda targets QMK keymap.c — not Vial. Reasons:
- Layer-specific combos require
COMBO_ONLY_FROM_LAYER— not available in Vial - 34 Tap Dance definitions exceed Vial's ergonomic management threshold
- Unlimited macros in C vs. 16 in Vial
- Full git history of every key decision
// config.h
#define TAP_DANCE_ENTRIES 34
#define COMBO_COUNT 9
#define COMBO_ONLY_FROM_LAYER // layer-specific combos for Nav ↑ and PgUp| File | Contents |
|---|---|
docs/index.html |
Complete design documentation in a nice HTML file which can be downloaded, showing all layers, tap dances, macros, combos |
docs/DOCUMENTATION.md |
Complete design documentation — principles, metrics, all layers, TD/macro/combo reference |
docs/coda_compare.png |
Ergonomic comparison — radar chart + metrics vs QWERTZ/Dvorak/Colemak-DH |
Coda emerged from Cadenza v1.0.0 as a design exercise: what if we removed everything non-essential? The core home row, the HRM model, the CLI layer, the International layer, and the WM layer all carry over. What Coda adds is the radical physical constraint that forces every design decision to be justified.
Cadenza is the daily driver. Coda is the thought experiment that sharpens it.
Designed by one7two99 · MIT · 2026
Sibling of Cadenza · Based on Colemak-DH by stevep99