An interactive web app to master keyboard shortcuts and commands through hands-on practice. No installation needed — just open index.html in your browser.
- Practice — Step-by-step challenge mode. The shortcut description is shown but the answer is hidden — you must recall and press it yourself. Shows what you pressed vs. the correct answer on mistakes, with a Retry button to try again or Skip to move on. Auto-advances on correct input.
- Quiz — Random testing. Shortcuts are shuffled and you must recall them from memory. Tracks score, streak, and accuracy. Includes hints and show-answer options.
- Cheat Sheet — Full reference list of all shortcuts and commands in a category, organized by topic with descriptions and usage tips.
| Category | Items | Type |
|---|---|---|
| Daily Use | 29 | Browser, OS, and general shortcuts |
| Excel | 30 | Spreadsheet shortcuts |
| Word | 31 | Document editing shortcuts |
| Vim | 36 | Editor motions, commands, and ex commands |
| CMD / Terminal | 30 | Bash/shell shortcuts and commands |
| GitHub (Web) | 15 | GitHub keyboard navigation |
| Git (CMD) | 63 | Full Git command reference with subcategories |
| VS Code | 35 | Editor shortcuts, multi-cursor, navigation |
| Linux Desktop | 23 | GNOME/Ubuntu window management and workspaces |
| Google Docs | 30 | Document formatting, navigation, collaboration |
- Start screen — See category info, stats, and item count before beginning practice or quiz
- Hidden answers in practice — Answers are hidden by default; reveal with "Show Answer" if stuck
- Wrong answer feedback — Shows what you pressed/typed alongside the correct answer, with a Retry button
- Dark / Light mode — Toggle between themes, respects system preference by default
- Sound effects — Optional audio feedback for correct/wrong answers (off by default)
- Streak tracking — Consecutive correct answers shown with a fire badge
- Persistent stats — Best scores, practice count, and streak saved to localStorage
- Session restore — Remembers your last category, mode, and theme on reload
- Responsive design — Full sidebar on desktop, slide-out drawer on mobile
- Chrome-safe — Shortcuts that conflict with browser/OS are marked as blocked and skipped in quiz/practice modes
- Git subcategories — Filter Git commands by topic (Setup, Branching, Remote, Stash, etc.)
git clone https://github.com/ShakyaRanasinghe/shortcut-trainer.git
cd shortcut-trainer
Then open index.html in any modern browser. That's it — no build step, no dependencies, no server needed.
Or simply double-click index.html in your file manager.
shortcut-trainer/
├── index.html # Entry point — loads fonts, CSS, and JS
├── styles.css # All styling — theming, layout, animations, responsive
├── data.js # Shortcut & Git command data, category metadata
├── state.js # App state, localStorage persistence, sound engine
├── app.js # Rendering, event handling, game logic
└── README.md # This file
- Vanilla JavaScript — No frameworks, no build tools
- CSS Custom Properties — For dark/light theming
- Google Fonts — Inter (UI) + JetBrains Mono (code/keycaps)
- Web Audio API — Programmatic sound effects (no audio files)
- localStorage — Stats and preference persistence
- In Quiz and Practice modes, just press the shortcut directly — no need to click anything
- For text-based commands (Git, Vim ex commands, terminal), type in the input field and press Enter
- For key sequences (like Vim's
ddor GitHub'sg → c), press the keys one after another - Shortcuts marked as Chrome/OS blocked can't be captured in the browser — view them in Cheat Sheet mode
MIT