                 KP  Typing Tutor International Generation
                            Version  4.0

                       Copyright (C)  1996

                            Zijian Huang

                  All Right Reserved           Shareware



This document describes more details of KP, especially when you want to get
more choices from the flexibility of KP.

------------------------------------------------------------------------------
How the batch files work

Here is the content of "kpus.bat":

kpworldf.exe kp.txt kpcourse.txt us.key [kp.rec] [color/mono]

The first argument indicates the sample text file which the functions
"Sentence practice" and "Text practice" will use.

The second indicates the sample text which the function "Course" will use.

The third indicates a keyboard template file, KP uses this file to display a
specified virtual keyboard template on the screen.

The forth argument is optional. It records the progress of the learner. If a
network manager is going to use KP in a network, the manager has better
to indicate the path of this file. It is recommended that the manager treats
this file as a user file to  make sure that the learners can record their
progress in their own files. For example:
You install KP in "X:" drive, and the default user path is "F:", So you can
write a batch file like:
"...
kpworldf.exe kp.txt course2.txt us.key f:\kp.rec
..."

Other DOS text files can be used as sample source files. It is recommended
that the text files contain no more than 1600 lines, or the lines behind will
be neglected; and each line contains no more than 78 characters, or the
characters behind will be neglected. The last character of each line has
better to be a visible character.

DO REMEMBER, the bigger the sample text file is, the larger memory the KP
program requires.
It is recommended to call KP via a batch file which indicate all the
arguments. If no argument is given to "kpworldf.exe", "kpworldf.exe" will
search for "kp.txt", "kpcourse.txt", "uk.key" and "kp.rec", and run under
color mode.

------------------------------------------------------------------------------
Where to get a most updated original copy of KP

You can get KP from ftp and www, here is the list of addresses:
http://www.ncl.ac.uk/~n4521661/share.htm
ftp://ftp.ncl.ac.uk/pub/local/n4521661/share
...


If you want to get KP from ftp, please read "read.me" in the ftp directory
first.

To get access to a ftp site, here is a example:

You could access it anonymously:
=============================
ftp ftp.ncl.ac.uk
user name->anonymous
passwd->[your e-mail name]
cd /pub/local/n4521661/share
=============================

Here is an example in more detail:

ftp
>open ftp.ncl.ac.uk
Connected to aidan.ncl.ac.uk.
220 aidan FTP server (Version wu-2.4(4) Fri Apr 22 15:04:35 BST 1994) ready.
Name (ftp.ncl.ac.uk:root): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password:
230-
230-
*********************************************************************
230-*                                                        
230-* This is the newcastle ftp archive.  It is now running the Wuarchive ftp
230-* daemon, which means that compressed downloads, etc are supported.
230-* If your ftp client is having trouble, try a password starting with '-'.
230-*                                                        
230-* You must have an appropriate entry in the DNS.         
230-*                                                        
230-* Please report any problems to "postmaster@newcastle.ac.uk."
230-*                                                        
230-
*********************************************************************
230-
230-
230 Guest login ok, access restrictions apply.
ftp> cd /pub/local/n4521661/share
250 CWD command successful.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
ftp> kpmostf.zip    read.me    kpmostf.exe   gados.exe

226 Transfer complete.
ftp> bin
ftp> get kpmostf.zip
......
ftp> bye
221 Goodbye.

==================================================
REMEMBAER to use 'bin' command first before you get non-ascii files.
==================================================
 
------------------------------------------------------------------------------
How to modify or produce a keyboard template file

This section introduces to you how to modify or produce a keyboard template
file. IF YOU WISH ONLY TO USE THE KEYBOARD TEMPLATES SUPPLIED, YOU DON NOT
NEED TO READ THIS SECTION.

Though the KP Typing Tutor International Generation was developed to support
most alphabet languages and keyboards templates, KP needs your help to make
it more international, supporting your language, and the keyboards used in
your country on behalf of your nation. I just made files "uk.key", "ukf.key",
"us.key", "usf.key", "fr.key", "gr.key", "be.key" and "it.key", others were
from people on the internet. If you decide to make a new keyboard template
file, please read this section, and the copyright notice of KP.

Hopefully you understand ASCII code, code page, extend code page.

"*.key" is a text file that only contains integer numbers. The format of the
file will be described below by some examples.

The content of "usf.key" is:
0    7   9   11
13    96 126 14   49 33 14   50 64 13   51 35 12   52 36 11   53 37 11   54 94
16   55 38 16   56 42 17   57 40 18   48 41 19   45 95 19   61 43 19
        7 2        7 2        7 2        7 2        7 2        7 2        7 2
7 2        7 2        7 2        7 2        7 2        7 2
13    113 81 4    119 87 3   101 69 2   114 82 1    116 84 1   121 89 6  117
85 6   105 73 7   111 79 8   112 80 9   91 123 19  93 125 19  92 124 19
         7 7        7 7        7 7        7 7        7 7        7 7        7 7
7 7        7 7        7 7        7 2        7 2       7 2
11    97 65 4   115 83 3   100 68 2   102 70 1   103 71 1   104 72 6   106 74
6   107 75 7   108 76 8   59 58 19   39 34 19
        3 3        3 3        3 3        11 11      7 7        7 7        11
11      3 3        3 3        7 2        7 2
10    122 90 4   120 88 3   99 67 2   118 86 1   98 66 1   110 78 6   109 77 6
44 60 17   46 62 18    47 63 19
        7 7        7 7        7 7        7 7        7 7        7 7        7 7
7 2        7 2       7 2
IT SHOULD BE NOTICED that each line of a "usf.key" file will probably more
than 80 characters, if you want to read and write a "*.key" file more easily,
you may turn off the wrap line function of the editor.

The following are descriptions for each line of this file:
LINE ONE 111111111111111111111111111111111111111111111111111111111111111111
0    7   9   11

Four numbers indicate the offsets from the left-most of the keyboard, for each
line of keys from top to bottom.

LINE TWO 222222222222222222222222222222222222222222222222222222222222222222
13    96 126 14   49 33 14   50 64 13   51 35 12   52 36 11   53 37 11   54 94
16   55 38 16   56 42 17   57 40 18   48 41 19   45 95 19   61 43 19

The number 13 indicates there exist 13 keys in the top row of the keyboard;
the following 13 groups of numbers indicate the information of the 13 keys on
the top row of the keyboard. In each group, the first number indicates the
ASCII code of the lower case character; the second indicates the ASCII code of
the upper case character; the third indicates the attribute of the key. For
example, in the second group, number 49 is the ASCII code of character '1',
number  33 is the ASCII code of character '!', number 14 contains number 1 and
4, number 4 means the little finger of the left hand, number 1 means this key
is divided into lower part and upper part.

LINE THREE 33333333333333333333333333333333333333333333333333333333333333333
        7 2        7 2        7 2        7 2        7 2        7 2        7 2
7 2        7 2        7 2        7 2        7 2        7 2

These 13 groups of data indicate the colors of characters of each key. In each
group, the FIRST number indicate the color of the LOWER case character, the
SECOND indicate the color of the UPPER case character.

LINE FOUR 44444444444444444444444444444444444444444444444444444444444444444
13    113 81 4    119 87 3   101 69 2   114 82 1    116 84 1   121 89 6  117
85 6   105 73 7   111 79 8   112 80 9   91 123 19  93 125 19  92 124 19

In this line, number 13 indicate there exist 13 keys on the second row. In the
nineth group, number 79 is the ASCII code of 'O', number 111 is the ASCII code
of 'o', number 8 contains number 0 and 8. number 0 means this key is for a
alphabet letter, number 8 means the ring finger of the right hand.

LINE FIVE 5555555555555555555555555555555555555555555555555555555555555555
7 7        7 7        7 7        7 7        7 7        7 7        7 7        7
7        7 7        7 7        7 2        7 2       7 2

LINE SIX 666666666666666666666666666666666666666666666666666666666666666666
11    97 65 4   115 83 3   100 68 2   102 70 1   103 71 1   104 72 6   106 74
6   107 75 7   108 76 8   59 58 19   39 34 19
LINE SEVEN 777777777777777777777777777777777777777777777777777777777777777
3 3        3 3        3 3        11 11      7 7        7 7        11 11
3 3        3 3        7 2           7 2

LINE EIGHT 8888888888888888888888888888888888888888888888888888888888888888
10    122 90 4   120 88 3   99 67 2   118 86 1   98 66 1   110 78 6   109 77 6
44 60 17   46 62 18    47 63 19

LINE NINE 99999999999999999999999999999999999999999999999999999999999999999
         7 2        7 7        7 7        7 7        7 7        7 7        7 7
7 7        7 2        7 2

Symbolic constant numeric value:
BLACK                   0
BLUE                    1
GREEN                   2
CYAN                    3
RED                     4
MAGENTA                 5
BROWN                   6
LIGHTGRAY               7
DARKGRAY                          8
LIGHTBLUE                         9
LIGHTGREEN                        10
LIGHTCYAN                         11
LIGHTRED                          12
LIGHTMAGENTA                      13
YELLOW                            14
WHITE                             15

"Note:	Some monitors do not recognise the intensity signal used to create
the eight "light" colors(8-15). On such monitors, the light colors are
displayed as their "dark" equivalents (0-7). Also, systems that do not display
in color can treat these numbers as shades of one color,
special patterns, or special attributes (such as underlined, bold, italics,
and so on). Exactly what you"ll see on such systems depends on your hardware."
(From Borland C++ on-line help)

The ASCII code for each character in this file  follow US code page (437)..

In file "us.key", you can see an additional line with ten number,

6 14 5 3 4 6 15 5 3 4

which define the colors of ten fingers.
The order is:
l-t, l-i, l-m, l-r, l-l;  r-t, r-i, r-m, r-l.
Try to run "kpukf.bat". Which layout would you like?

Hopefully, this example will give you some ideas how "kpus.bat" can work
on various keyboards and different alphabet languages.

Any other advice, comments, suggestions please send to me. Here, I also thank
Miss Katrien Deroey who helped me to generate files of French, German, Belgium
keyboard template.


Zijian Huang

12, December 1995
