The terminal touch-typing tutor. Written in Rust.
Strict touch-typing tutor for the terminal. Eight lessons take you from the home row to full sentences. Built on Crust, part of the Fe2O3 suite.
- Eight lessons: home row, top row, bottom row, capitals, numbers, symbols, sentences
- Two keyboard layouts: US and Norwegian, with layout-specific drills (æ ø å, Norwegian shift pairings)
- Strict mode: the drill only advances on the correct key; wrong keys count as errors and flash red
- Live stats: WPM, accuracy, and error count in the status bar, updated per keypress
- Personal bests: tracked per lesson per layout, shown in the menu
- Zero idle cost: fully event-driven, no timers, no polling
- Single binary: one dependency (crust), instant startup
Download the prebuilt binary from Releases, or build from source:
cargo build --release
cp target/release/typo ~/.local/bin/| Key | Action |
|---|---|
| j/k, UP/DOWN | Select lesson |
| 1-8 | Jump straight into a lesson |
| ENTER | Start selected lesson |
| l | Toggle keyboard layout (US / Norwegian) |
| q, ESC | Quit |
In a drill: type what you see. ⏎ means press ENTER. ESC returns to the menu. After a result, r retries the lesson.
The tutor checks the character you produce, so any keyboard works. The lessons themselves are layout-specific: the Norwegian set puts ø and æ on the home row, å with the top row, and drills the Norwegian shift pairings (s", f¤, j/, ø=). The layout choice persists across sessions.
~/.typo holds the chosen layout and your personal bests. Plain tab-separated text; delete a line to reset that best.
Public domain (Unlicense). Created by Geir Isene.
