This program is designed to make it easy for the user to get used to keyboards. The program window consists of two panes---the practice text and the virtual keyboard. The cursor moves on the practice text as the user hits the key. The virtual keyboard usually shows which key the user has just hit and what the user should type next.
The main difficulty of touch-typing is to ``forget'' about the physical keyboard---as long as you watch the keytops, you won't master touch-typing. Using kp, the user can focus on the screen and forget about the keytop symbols on the real keyboard.
In addition, kp has two useful features---virtual Dvorak support and filtering. Dvorak is an alternative keyboard layout to the conventional Qwerty, and there are enthusiastic supporters (the author being one) all over the world. Kp lets you practice Dvorak while using Qwerty on other windows. The virtual keyboard aids the user to ``feel'' the Dvorak keyboard, without having to look up her typing textbook's back cover.
Kp allows you to ``filter'' the words in the practice text, i.e., select only words that contain certain letters. Thus, the user can start from the keys she is most familiar with and incrementally extend the keyset until she masters the full keyboard. This is particularly useful for Dvorak keyboards, since the middle row contains the most frequently used keys and the user can learn very quickly and easily by starting from the middle row.
Kp has a user-friendly menu-oriented interface to change configurations and select practice text files. A good practice text is your favorite manual page (use the one in the cat? directories, not the nroff source in man?), and kp will remove the underscores and doublestrikes for your convenience.
Kp tries to guess what your keyboard looks like by looking up the keycode/keysym translation table. It currently knows about PC, HP, Sun and DEC keyboards, Qwerty or Dvorak. When it doesn't understand what keyboard it's looking at, it assumes a Sun keyboard. However, it doesn't really need this information except for the layout of special symbols. I'll probably drop this support in the next release (it's not very likely that what people want to practice with kp are special symbols).
In addition, there are some xmodmap files that you can use to remap your keyboard to Dvorak in the xmodmaps/ subdirectory of the source distribution. They come with Qwerty counterparts but they are not very well tested (I don't use Qwerty!) so use them with care.
The options can also be set via the resource names given in parentheses in the description of each option, and also can be changed when the program is running via the Options menu.
Kp will then display only the words that consist entirely from those characters. (Note that case significance is an issue here; if you are in ``case insensitive'' mode, both uppercase and lowercase versions of the letter is used, but if you are in ``case sensitive'' mode, only the characters that match exactly to your string are used.
Unfilter will negate the effects of the filter. Note that kp won't forget the the characters of choice so that you can use them again.