# The &ktouch; Handbook

## Introduction

&ktouch; is a 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. It's the perfect touch typing tutor, you learn typing with all the fingers without looking at the keys, in an step by step way. It is convenient for all ages, and the perfect typing tutor for schools, universities and individuals. It is free and licensed under the &GNU; Public License, so you will never have to pay anything for the program, or any update.

## Using &ktouch;

Here's a screenshot of &ktouch; in action:

&ktouch; main screen &ktouch; main screen

You see that using &ktouch; is easy to use, and even children can learn touch typing with it.

&ktouch; with keyboard option dialog &ktouch; with the keyboard option dialog visible.

Screenshot of &ktouch;'s keyboard option dialog.

Change the layout of your keyboard, so people all over the world can use it!

&ktouch; with the training option &ktouch; with the training option dialog visible

Here is a screenshot of &ktouch;'s training dialog.

If you are too good for this world, you can change the level.

## Questions and Answers

Can I make my own training files?

Yes you can. Make a file as described below and call it something like `myfile.ktouch` To use this file go to File Open and find your file.Another good way to make your own training files is just to modify the existing files. If you look at the top of the &ktouch; window, you should see the name of the training file in use.

    ---myTrainingFile.ktouch-----
    #This is a example of a training file (and a comment)
    #This will be level one
    jf fj jf fjf jf jjf jf jfjf jfj
    jfj fj fjfj jf fj fj fjf jf jf

    #A blank line indicates then next level, so this is level two
    lskdk djslk fjkdlskdjf lskdj f
    kdfj lksjdl kjsldf lsdkksldslk

To add more levels just make blank spaces between the levels. If you want to have comments in your file, use # at the beginning of the line.

My keyboard doesn't look like the keyboard on the screen?

It is possible to make your own keyboard file. See the How can I contribute section.

Will I ever have to pay for &ktouch;?

No, never. But you can send a pizza voucher to the developer, so he gets fat and the only thing he can do, is code and code and code!

Will there ever be a &Windows; version?

No, at the moment not, but you can download the source and make your own windows version. It should not be a big problem, because it is written with Trolltech's &Qt; libs. But for what do you need &Windows;? Get the latest &Linux;, and you will live on the edge.

## How can I contribute?

Make a training file

Yes you can. See the answer in the FAQ for more information and an example of the file format.

Making a new keyboard file

You will find a complete keyboard file below with comments. Just edit the file `keyboard.en` and save it as `keyboard.`yourCountryCode``.

Please let me know if you are making a new keyboard file, at haavard@users.sourceforge.net

    ####################################################
    #    KTouch
    #    Keyboard layout file
    ####################################################
    #
    #
    #  FingerKey: This class represents the keys where
    #  your fingers should rest between typing.
    #
    #         ASCII KeyText x   y
    FingerKey 97    A       18  20
    FingerKey 115   S       28  20
    FingerKey 100   D       38  20
    FingerKey 102   F       48  20
    FingerKey 106   J       78  20
    FingerKey 107   K       88  20
    FingerKey 108   L       98  20
    FingerKey 59    ;       108 20
    #
    #
    #  ControlKey: This class will represent all the
    #  control keys that you are using. These keys
    #  will be used later when you want to use uppercase.
    #
    #           ASCII KeyText x   y   Width
    #
    ControlKey  260   Tab     0   10  15
    ControlKey  13    Enter   128 20  22
    ControlKey  258   Shift   123 30  27
    ControlKey  264   Alt     120 40  15
    ControlKey  265   Ctrl    135 40  15
    ControlKey  263   Alt     15  40  15
    ControlKey  262   Ctrl    0   40  15
    ControlKey  32    Space   30  40  90
    ControlKey  257   Shift   0   30  23
    ControlKey  259   Caps_L  0   20  18
    #
    #
    #  NormalKey: This class represents all the
    #  normal keys where you don't need to press
    #  anything else than just one key. That would
    #  basically be all the numbers and the lowercase
    #  letters. For this class you have to indicate
    #  which finger key you are going to use.
    #
    #         ASCII KeyText   x   y   FingerKey
    #
    NormalKey 96    `         0   0   97
    NormalKey 49    1         10  0   97
    NormalKey 50    2         20  0   115
    NormalKey 51    3         30  0   100
    NormalKey 52    4         40  0   102
    NormalKey 53    5         50  0   102
    NormalKey 54    6         60  0   106
    NormalKey 55    7         70  0   106
    NormalKey 56    8         80  0   107
    NormalKey 57    9         90  0   108
    NormalKey 48    0         100 0   59
    NormalKey 95    -         110 0   59
    NormalKey 61    =         120 0   59
    NormalKey 92    \         130 0   59
    NormalKey 8     <-        140 0   59
    #
    NormalKey 113   Q         15  10  97
    NormalKey 119   W         25  10  115
    NormalKey 101   E         35  10  100
    NormalKey 114   R         45  10  102
    NormalKey 116   T         55  10  102
    NormalKey 121   Y         65  10  106
    NormalKey 117   U         75  10  106
    NormalKey 105   I         85  10  107
    NormalKey 111   O         95  10  108
    NormalKey 112   P         105 10  59
    NormalKey 91    [         115 10  59
    NormalKey 93    ]         125 10  59
    #
    NormalKey 103   G         58  20  102
    NormalKey 104   H         68  20  106
    NormalKey 39    '         118 20  59
    #
    NormalKey 122   Z         23  30  97
    NormalKey 120   X         33  30  115
    NormalKey 99    C         43  30  100
    NormalKey 118   V         53  30  102
    NormalKey 98    B         63  30  102
    NormalKey 110   N         73  30  106
    NormalKey 109   M         83  30  106
    NormalKey 44    ,         93  30  107
    NormalKey 46    .         103 30  108
    NormalKey 47    /         113 30  59
    #
    #
    #  HiddenKey: This are all the keys that
    #  you can't see. That means that you have
    #  to use a control key to get them. Basically
    #  these are all the uppercase letters.
    #
    #         ASCII Target  Finger  Control
    #
    HiddenKey 65    97      97      258 #A
    HiddenKey 66    98      102     258 #B
    HiddenKey 67    99      100     258 #C
    HiddenKey 68    100     100     258 #D
    HiddenKey 69    101     100     258 #E
    HiddenKey 70    102     102     258 #F
    HiddenKey 71    103     102     258 #G
    HiddenKey 72    104     106     258 #H
    HiddenKey 73    105     107     258 #I
    HiddenKey 74    106     106     258 #J
    HiddenKey 75    107     107     258 #K
    HiddenKey 76    108     106     258 #L
    HiddenKey 77    109     106     258 #M
    HiddenKey 78    110     106     258 #N
    HiddenKey 79    111     108     258 #O
    HiddenKey 80    112     59      258 #P
    HiddenKey 81    113     97      258 #Q
    HiddenKey 82    114     102     258 #R
    HiddenKey 83    115     115     258 #S
    HiddenKey 84    116     102     258 #T
    HiddenKey 85    117     106     258 #U
    HiddenKey 86    118     102     258 #V
    HiddenKey 87    119     115     258 #W
    HiddenKey 88    120     115     258 #X
    HiddenKey 89    121     106     258 #Y
    HiddenKey 90    122     97      258 #Z

If you need additional help please send me an email at haavard@users.sourceforge.net.

Find some bugs or give some suggestions

If you find some bugs in the program, or have some suggestions for improvements, please let me know.

## Credits and License

&ktouch;

Program Copyright, 1999, 2000, 2001 Haavard Froeiland haavard@users.sourceforge.net

Contributors:

- Frank Quotschalla, German keyboard and german training file and translation.

- Ernesto Hernández-Novich, Latinamerican keyboard

- João Miguel Neves, Portuguese keyboard

- Henri Girard, Frence keyboard

&underFDL; &underGPL;

## Installation

### How to obtain &ktouch;

&install.intro.documentation;

&ktouch; has its own home page on Sourceforge Sourceforge, at http://ktouch.sourceforge.net

### Requirements

In order to successfully use &ktouch; (version > 0.7), you need &kde; > 2.0 .

&ktouch; itself can be found on The &ktouch; home page and is part of the KDE-Edu project and the &ktouch; &FTP; server.

You can find a list of changes at http://ktouch.sourceforge.net.

### Compilation and Installation

&install.compile.documentation;
&documentation.index;