- Typing Test Written in C Programming Language
- Tests User WPM in a variety of different modes.
- Timed Mode: 5, 10, 15, 30, and 60s
- Word Mode: 10, 25, 50, and 100 Words
- Focuses on User's Typing Style and Provides Insights
- Similar to my Typing-Teacher project, however this is more focused on analyzing user data, rather than UI, which was the focus of that project.
- Uses ncurses library
- Clean Code
- Memory Management
- Intuitive UI
- Learning C
- Download source files
- Install ncurses (If not already installed)
- On Debian Systems:
sudo apt install libncurses5-dev libncursesw5-dev
- On Debian Systems:
- Compile Using
gcc typing_test.c utilities.c -lncurses
- OR: Run
make
using Makefile
After obtaining your compiled Typing-Test-C program, simply run the program from your terminal. Keep in mind this program requires a words.txt
file in the same directory as itself to generate word prompts.
Note: This program has only been tested in a color-supporting terminal. If you experience unexpected behavior, ensure your terminal supports color and text highlighting.
Word list from https://gist.github.com/deekayen/4148741
First release goal: Target for first release is the end of November. (I'm a full time student so I work on this project when I can). The goal of the first release is to have a fully functional typing test. This means parsing user input for accuracy and WPM. The analysis of user keystrokes will be added in the second release.
First release goal reached! Find it here
Second release goal: The second release goal for this project is to have a much more refined project. I hope to have all modes implemented, the UI to automatically wrap the console size, and user keystroke analysis if time permits. I'm hoping to have this release out by early January. (It's finals season so I won't have much time to work on this project until late December)
Second release goal reached! Due to time constraints, not all features were implemented in this release. Find it here
Current status of project:
Code:
- Reading of words.txt implemented
- Random word picking implemented
- Different test lengths implemented
- Timed Tests implemented
- Test results screen implemeted
- Saving user stats implemented
Per-key statsMay be added in a feature release
UI:
- Main menu implemented
- Typing prompt implemented
- Stats menu implemented
- Settings menu implemented
- Themes