My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Project Information
Members
Featured
Downloads
Wiki pages
Links

Keyboard Training Software (for linux)

A keyboard training program which I'm designing for my 9 year old son.

This is a keyboard training program (i.e. typing tutor) for touch typing, still in it's early days.

Goals:

  • Open source and open community.
  • Various languages supported (although not right to left nor logographic writing systems - ex. Kanji) (todo)
  • Various international keyboards supported and probably dvorak keyboards as well. (todo)
  • Attractive interface. (todo)
  • Scalable graphics, make the window as small or as large as you like.
  • Show the beginner typist where they should place their fingers. (todo)
  • Interesting text for advanced users instead of just random gibberish. Will pull in text from Wikipedia entries, for various languages. (todo)
  • Beginner levels will have random text, however, and they should focus on common bi-grams and trigrams of the language in question, to build up muscle memory for common key combinations. (todo)
  • Random text should also start with very simple letter combinations, like two keys close together for training the first time. (todo)
  • Stats and progression. (todo)
  • Heatmap of trouble keys for the student. (todo)
  • Auto build lessons to work on the trouble keys. (todo)
  • Lessons for the number keys and punctuation marks. (todo)
  • Start off without the space bar or the backspace key, add these keys later.

Installation

Download the zip or fetch from mercurial.

Install python-yaml

sudo apt-get install python-yaml

Install the program.

cd key-train
sudo python setup.py install

Run it.

key-train

Details

There will be a large variety of switches that can be toggled in the creation of levels:

  • Starting off.
    • Some keys silently accepted or skipped (space, comma, enter). Ex. type the space and it skips if there is a space or types the space for your if you forget.
    • Ability to accept accented characters without accent. If the user types a but it's supposed to be ã, accept it as if it was typed correctly.
    • Ability to ignore incorrect capitalization.
    • Switch to not allow continuation until the correct character has been typed.
  • Advanced.
    • Student can type and correct mistakes, shown in red.
  • Copying
    • The copy text and entered text are in separate windows. The input advances word by word based on what the user typed.
    • User can correct errors (or not).
Powered by Google Project Hosting