Table of Contents
- Introduction to GNU Typist
- Project goals
- Downloading GNU Typist
- Mailing Lists
- Report a Bug
- Helping GNU Typist
- How to contribute new lessons
- Other free typing tutors
GNU Typist (also called gtypist) is a universal typing tutor. You can learn correct typing and improve your skills by practising its exercises on a regular basis. Its main features are:
- It is free software released under the GNU General Public License. In addition, it is an official program of the GNU project.
- It comes with several typing tutorials: in Czech, English (Qwerty, Dvorak and Colemak keyboards), Russian and Spanish, as well as simpler exercises in German, French and Norwegian.
- It interprets a simple and intuitive scripting language that describes typing tutorials. You can easily modify existing tutorials or create new ones according to your needs.
- It supports internationalization and already has an interface in Czech, English, Finnish, French, German and Spanish.
- Users can navigate through lessons through an easy to use arrow key based menu interface. 'vi' up, down, left and right keys can be used too!
- Thanks to its execution in text mode with the curses library, it can be compiled and used on several operating systems, in particular on GNU/Linux and GNU/HURD, on several variants of Unix, as well as on Windows with the PDCurses library and MinGW.
The aim of this Free Software project is to provide valuable help to individuals and schools all over the world in learning or teaching how to type.
Free Software can be a valuable resource in education. Not only can it be technically or pedagogically superior to proprietary alternatives, but it can also promote the values of the GNU project in the schools:
See the GNU and Education page for more details about Free Software for Education.
As project maintainers, our main goal is to protect users' freedom and encourage their cooperation, by:
- Encouraging users and teachers to share their needs and bring contributions.
- Keeping the tool open and easily extensible. Our goal is to empower anyone, in particular amongst typing teachers, to satisfy one's needs by improving lessons or writing new ones, as well as by making the tool work in one's own language.
- Making the tool universal, attractive and easy to use, so that as many people as possible benefit from contributed work and knowledge. This should also strengthen the user community and attract new contributors.
To see a full list of the current plans we have to improve GNU Typist, you can read the latest TODO file, available here. In a nutshell, our major long-term plans include:
- Porting the interface to GTK make it easier to use and navigate between lessons.
- Displaying the keyboard layout and indicating which finger is supposed to be used while typing.
The latest stable release of GNU Typist is version 2.9.3, released in June 2013.
For Windows users, pre-compiled binaries are available. These currently may have a problem with multi-byte input which will be addressed in the next release. The binaries are available in .7z format and can be found in the w32_binaries folder.
GNU Typist documentation can be found at http://www.gnu.org/software/gtypist/doc/. You may also find more information about GNU Typist by running info gtypist, man gtypist, or looking in the documentation directory for gtypist on your system (which might be /usr/share/doc/gtypist/ or something similar).
The discussion list for GNU Typist is <firstname.lastname@example.org>, and is used to discuss all aspects of GNU Typist, including support questions, bug reports, suggestions, patches, and new lessons.
Announcements about GNU Typist and most other GNU software are made on <email@example.com>.
To subscribe to these or any GNU mailing lists, please send an empty mail with a Subject: header line of just "subscribe" to the relevant -request list. For example, to subscribe yourself to GNU announcement list, you would send mail to <firstname.lastname@example.org> with no body and a Subject: header line of just "subscribe". Or you can use the mailing list web interface.
Request an Enhancement
If you would like any new feature to be included in future versions of GNU Typist, please send a request to <email@example.com>.
Please remember that development of GNU Typist is a volunteer effort, and you can also contribute to its development. For information about contributing to the GNU Project, please read How to help GNU.
If you think you have found a bug in GNU Typist, then please send as complete a report as possible to <firstname.lastname@example.org>.
You can contribute to GNU Typist by sending bug reports, suggestions, patches and new lessons to <email@example.com>.
You can also directly access the development versions of documentation and source files in our Git repository. In particular, here are direct links to the latest versions of our TODO and QUESTIONS (answers to Brave GNU World questions) files
You may also subscribe to the firstname.lastname@example.org mailing list.
You can contribute a new tutorial in 2 ways:
Simply type the tutorial, containing instructions and exercises, in a
plain text file (or in another open and standard format, such as
HTML). You may reuse some instructions available in existing
tutorials, in the
lessons/directory in the GNU Typist sources.
Send it to <email@example.com>.
Another contributor will take care of converting your tutorial to the GNU Typist format.
- You can also directly write your tutorial in the GNU Typist
format. It is a simple scripting language which is described in the
Once your lesson file is complete, you can test it by simply typing (if you named it
You can then send it to us as described above.
Instructions for writing interface messages in new languages will be available soon.
There are other free typing tutors, most of them released under the GNU General Public License. They're worth trying too!
- dvorak7min is a simple ncurses-based typing tutor for those trying to get fluent with the Dvorak keyboard layout.
- DvorakNG DvorakNG is a Dvorak typing tutor. It's heavily based on Dvorak7min, but adds many improvements like a progress information database.
- gcompris is a set of educational games designed for small children, including typing games.
- Griffin is an effort to write a free typing tutor for as many Unices as possible (BSD License).
- gtyping is a GTK+/GNOME typing program. It provides character typing on a GUI keyboard, a typing tutor that uses a text file, and a simple typing game.
- JRainWords is a small java program useful for teaching small children about the keyboard.
- Jtypist (now called Typist) is a cousin of GNU Typist written in Java. It has a graphical user interface and display error statistics, showing the user what (s)he needs to improve. It has been developed by Simon Baldwin, one of the original authors of the famous Typist program, the ancestor of GNU Typist.
- KTouch is another program for learning to touch type. KTouch provides you with text to train on, and adjust to different levels, depending on how good you are. It can display which key to press next, and the correct finger to use.
- Makin' Bakon is a typing tutor game written in C++ with STL and Curses. Save Pig from the supermarket shelves while learning to type to a professional standard! It Uses the Fortune database for some of it's exercises. Contains material that may offend!
- Tipptrainer is another graphical typing tutor. At the moment, it is available in two languages (German and English) and for two key-maps (PC-German and PC-English).
- Tux Typing is a graphical, educational typing tutorial game starring Tux, the GNU/Linux Penguin.
- TypeFast is a curses-based typing practice/tutoring program. It has rudimentary weighting on letters for which you are more prone to failure, and it features a mode where it will only prompt for characters from either the left or right side (conforming to generic Dvorak layouts, as well as QWERTY).
- Typespeed is a game to test your typing speed, and compare it with your friends'.
- Typing Trainer is designed for exercising typing speed and typing accuracy, by providing an environment to type in a copy of an original text within a specific time period. It also has the ability to store the results of such an exercise for exam purposes.
GNU Typist is currently being maintained by Tim Marston.