Turn any keyboard into a chording-enabled device — and learn the chords with built-in spaced repetition.
We type letter by letter, which is slow and error-prone. Stenographers type 300+ wpm by chording (pressing several keys at once for a whole word) but the learning curve is brutal. chordgen splits the difference: it picks an optimal chord for each word in your vocabulary, generates firmware files for your keyboard, and trains you on the chords with a spaced-repetition TUI.
It supports standard keyboards and directional ones such as Harite, CharaChorder, and Svalboard.
- Optimised per layout. Chord scoring takes your specific keyboard geometry into account.
- Inflection-aware. Each base word's chord automatically covers
its plural / past-tense /
-ingform via alt-slot modifiers. - Spaced-repetition learning.
chordgen learngraduates chords using FSRS so you only review what you're about to forget. - Real-text drilling.
chordgen drillis a speed test for words you've already learned, andchordgen booklets you practise on arbitrary prose. - Firmware export. Writes ready-to-flash files for QMK, ZMK, Kanata, and CharaChorder, plus a training file for typing tutors.
pip install chordgen
chordgen setup # downloads SUBTLEX-US, writes ~/.config/chordgen/
chordgen gen # picks an optimal chord per word and fills in alts
chordgen output # writes firmware files + training.txt
chordgen learn # interactive spaced-repetition TUI
chordgen drill # speed-drill TUI for chords you've already learned
chordgen book # practise on long-form proseEdit ~/.config/chordgen/chords.csv (remove words you don't want,
pin chords by hand, etc.) and re-run gen whenever you want to
refresh.
Full docs live at https://dlip.github.io/chordgen/ — including
the chording approach,
the chords.csv reference,
output formats,
the config schema, and the
development guide.