A terminal-based typing trainer inspired by keybr.com, built entirely in Python using the curses library.
Idea credits: The adaptive learning concept (progressive letter unlocking, per-letter confidence scoring, bigram tracking) was inspired by aradzie's keybr.com.
- 6 Practice Modes to improve different aspects of your typing
- Real-time WPM (words per minute) tracking
- Accuracy tracking with per-letter statistics
- Persistent progress saved across sessions (
~/.keybr_stats.json) - Color-coded feedback for correct and incorrect keystrokes
- Statistics dashboard with best WPM, averages, weak letters, and session history
- Keybr Offline mode with adaptive learning, progressive letter unlocking, and bigram tracking
| Mode | Description |
|---|---|
| Common Words | High-frequency English words (365 words) |
| Hard Words | Challenging vocabulary (159 words) |
| Sentences | Full sentences for flow practice (25 sentences) |
| Symbols & Punctuation | Sentences with !, ?, ", :, ;, (), [], $ and more |
| Capital Letters | Real sentences with proper capitalization rules |
| Keybr Offline | Adaptive learning (keybr.com style) - progressive letter unlocking, weak-key targeting, bigram tracking |
- Python 3
- A terminal that supports
curses(Linux / macOS) - Windows users will need
windows-curses(pip install windows-curses)
python3 Keybr.py| Key | Action |
|---|---|
↑ / ↓ |
Navigate the menu |
Enter |
Select a mode |
ESC |
Return to menu during practice |
Backspace |
Delete the last character |
| Any printable key | Type the displayed text |
- Select a practice mode from the main menu
- Type the displayed text as accurately and quickly as possible
- Green = correct, Red = incorrect, Yellow underline = current character
- When finished, your results are shown and the next round starts automatically
- Press
ESCat any time to return to the menu
Your progress is saved to ~/.keybr_stats.json after every session, including:
- Total sessions completed
- Best and average WPM
- Accuracy per letter (to identify weak points)
- Session history (last 100 sessions)
This project is licensed under the MIT License - see the LICENSE file for details.
- aradzie/keybr.com — Original keybr.com adaptive learning concept (https://github.com/aradzie/keybr.com)
- Python
curseslibrary for terminal UI
Created by johnvexcoder - github.com/johnvexcoder