A specialized typing practice website inspired by MonkeyType that allows users to practice typing with specific fingers and hand positions.
-
Specialized Practice Modes
- Full keyboard practice
- Left hand only (lowercase)
- Right hand only (lowercase)
- Number row practice
- Top row practice
- Home row practice
- Bottom row practice
- Individual finger practice for each finger
-
Performance Metrics
- Words Per Minute (WPM) calculation
- Accuracy percentage
- Correctly/incorrectly typed characters
- Timed tests (15s, 30s, 60s, 120s)
-
Visual Feedback
- Color-coded typing feedback
- Real-time stats
- Test result summary
- Keyboard visualization guide
index.html- Main application HTMLstyles.css- Styling for the typing test applicationscript.js- Core functionality for the typing testkeyboardMap.js- Mapping of keys to fingers and rowswordLists.js- Word generation for practicekeyboard.html- Visual keyboard layout guide
-
Clone the repository:
git clone <your-repository-url> -
Open
index.htmlin your web browser. -
Choose a practice mode:
- Select a hand (left/right)
- Select a row (top/home/bottom/number)
- Select a specific finger for targeted practice
-
Choose test duration:
- 15, 30, 60, or 120 seconds
-
Begin typing in the input field.
- The test starts automatically when you begin typing
- Characters will be highlighted green (correct) or red (incorrect)
- Current character position is underlined
-
View your results after completion:
- WPM (Words Per Minute)
- Accuracy percentage
- Total characters typed
-
Use the
Restart Testbutton to try again with the same settings or choose new settings for another practice session.
Open keyboard.html to see a visual guide of which keys correspond to which fingers. This helps beginners understand proper finger placement while typing.
Modify the wordLists.js file to add specialized word lists for different practice modes:
const specializedWords = {
leftHand: ["add", "ace", "bag", "cab", ...],
rightHand: ["jump", "monk", "lion", ...],
// etc.
};The color scheme uses CSS variables that can be modified in the :root section of styles.css:
:root {
--background: #232323;
--text-color: #e2b714;
/* other colors */
}This is a static website that can be deployed on any web server or web hosting service:
- GitHub Pages: Push to a GitHub repository and enable GitHub Pages
- Netlify/Vercel: Connect your repository for automatic deployment
- Any web hosting: Upload the files to your hosting provider
- User accounts to save progress
- Customizable text input
- Practice texts from common programming languages
- Additional statistics and charts
- Dark/light theme options
- Mobile-friendly touch typing practice
- Inspired by MonkeyType
- Designed for specialized finger training and typing improvement