A basic touch typing trainer (for python3). Created for those moments in which ratatype is down or you are offline.
I realized later that this was loosely inspired after ratatype (any similarity is purely coincidental, but the default values for minimum wpm and maximum typos offer great learning potential).
python3 touchtyping.py
: loads the welcome exercise.python3 touchtyping.py -u name
: loads the last exercise ``name``` was working on (saves sessions automatically when you advance)python3 touchtyping.py -e 1
: jumps to exercise number1
Nothing special here. The only things to keep in mind are:
- ESC: restarts the current exercise (clearing typos and wpm)
- ESC twice (in less than 1 second): quits the application
If you start the program with python3 touchtyping.py -u name
you start as user name
. This will:
- automatically save your progress when you advance lessons
- save your last exercise
- display your score upon request:
touchtyping.py -u name --score
python3 touchtyping.py --filename othername.txt"
: loads "othername.txt" as the save file for usernames and their exercisespython3 touchtyping.py --typos 5
: changes the maximum allowed typos to5
for advancing to next lesson (default is 3)python3 touchtyping.py --wpm 10
: changes the minimum allowed wpm to10
for advancing to next lesson (default is 20)
- To create new exercises: simple save them as a numbered .txt file (e.g., 1.txt). Exercise files should only contain the string of characters that you wish to display.
- Example of a
1.txt
file contents:this is a file for the touchtyping trainner
- Put exercise files in the
exercises
folder (default) or in yourown-folder
, to read files from a custom folder usepython3 touchtyping.py --exercise-folder own-folder
instead.
- There is a directory named
saved_state
which saves the progress of ver user. - Each user is a file, e.g., the progress of a user called
pedro
is insaved_state/pedro.txt
- To change this directory you can invoke it as such:
python3 touchtyping.py --save-dir new_dir"
- alias as command
- pip install
- Give hints, use a special symbol on exercise file to mark what is a hint. Then when hint modes are enabled or after the first failure, the user is presented with hint text.
- colorful mode
- refresh shell mode (after every exercise or attempt)
- scores from all users?
- allow mode to redo exercises