                 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 "kpuk.bat":

kpworldc.exe kp.txt kpcourse.txt uk.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:   
"...   
kpworldc.exe kp.txt course1.txt uk.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 2kp.rec", and run under 
color mode. 

********************************
Learning to type quickly
********************************

I think that learning to type is an easy business. I myself learned to
type within nine hours in three days, using a manual typewriter, when I was in 
high school. My fingers are too short to play piano.

What is the standard for learning to type?
* At least, you can type A-Z using at least nine of your fingers without 
  looking at the keyboard.
* Or you can type a sentence at a speed of 60 keystroke per minute.
* Or you can type as fast as you write.
* Or you can type at speed more than 240 keys per minute or 40 WPM.
* ...   
   
My opinion is that A-Z is enough for a beginner, other symbols can be  
neglected in
the beginning.
  
Compared with other typing tutors, KP is the only one that supports so many
keyboard templates (including Dvorak) and languages, provides much flexibility  
to users and teachers, it is suitable to learners with various characteristics  
and experience.
   
**************************
Where to get a 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> kpmost.zip

226 Transfer complete.
ftp>ls
ftp>kpmost.zip     extract
ftp> bin
ftp> get kpmost.zip
......
ftp> bye
221 Goodbye.

==================================================
REMEMBAER touse 'bin' command first before you get non-ascii files.
If your gate way do not allow transtering file with size more than 100KB,
the try "cd  extract", you will see a list of files, get all of them by "mget *.*". 
==================================================


!!!!!!!!!!!!!!!!
COPYRIGHT NOTICE
!!!!!!!!!!!!!!!!
KP Typing Tutor International Generation 4.0 is Copyright 1996 by Zijian Huang 
for this software, documentation, attendant files and user interface. All 
rights reserved.  
  
Since the KP Typing Tutor International Generation is very flexible, allowing  
the user to change the content of practice and styles of the virtual keyboard  
template, it is most likely that files of "*.bat", "*.key" and "*.txt" will be  
added by other users as the typing tutor is distributed world-wide. It is  
allowed for users to add some files while using the software and distributing  
the software. To avoid confusion, these additional files should NOT use the  
same names as those listed in document "readme.txt". These additional files do  
not belong to the domain of copyright of this software and will not affect the  
payment of registration. Any failure or copyright problem caused by these 
additional files is not the responsibility of the author of KP. The author of 
these additional files should not modify any of the documents listed in 
document "readme.txt" accompanied with KP software. The descriptions of these 
additional files should be written into documents with names like 
"readme*.add" for the convenience of other users. The first person who makes a 
file "*.key" indicating a keyboard template of a country that does not appear 
in the file list of document "readme.txt" should contact the author of KP, 
(s)he will receive the licence fee for the first 10 units of KP sold with this 
template, provided at least 10 units are purchased. And his (her) name and E-
mail address may appear on the WWW page of KP if he (she) agrees with that. 
Before deciding to make a "*.key" file, please check the KP WWW page first to 
see whether some one else produced such a file already. 
  
The distributed package of this software should contain all the files listed  
in document "readme.txt". The user is free to delete some of the files for the  
convenience of private use.  
  

*************************************************
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 determined 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", "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 uk.key is:
0    7   9   6
13    96 170 14   49 33 14   50 34 13   51 156 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
12    81 113 4    87 119 3   69 101 2   82 114 1    84 116 1   89 121 6   85
117 6   73 105 7   79 111 8   80 112 9   91 123 19  93 125 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
12    65 97 4   83 115 3   68 100 2   70 102 1   71 103 1   72 104 6   74 106
6   75 107 7   76 108 8   59 58 19      39 64 19   35 126 19
        3 3        3 3        3 3        11 11      7 7        7 7        11
11      3 3        3 3        7 2        7 2        7 2
11    124 92 14   90 122 4   88 120 3   67 99 2   86 118 1   66 98 1   78 110
6   77 109 6   44 60 17   46 62 18   47 63 19
        7 2        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 "uk.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 this file:
11111111111111111111111111111111111111111111111111111111111111111111111 
0    7   9   6 
  
Four numbers indicate the offsets from the left-most of the keyboard, for each  
line of keys from top to bottom. You may compare "uk.key" and 2us.key" to see  
the difference of this line. 
 
// 2222222222222222222222222222222222222222222222222222222222222222222222  
13    96 170 14   49 33 14   50 34 13   51 156 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, 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. 
 
// 33333333333333333333333333333333333333333333333333333333333333333333333  
        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 UPPER case character, the  
SECOND indicate the color of the LOWER case character. 
  
444444444444444444444444444444444444444444444444444444444444444444444444 
12    81 113 4    87 119 3   69 101 2   82 114 1    84 116 1   89 121 6   85
117 6   73 105 7   79 111 8   80 112 9   91 123 19  93 125 19   
 
In this line, number 12 indicate there exist 12 keys on the second row. 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.
 
555555555555555555555555555555555555555555555555555555555555555555555555  
         7 7        7 7        7 7        7 7        7 7        7 7        7 7   
7 7        7 7        7 7        7 2        7 2
  
6666666666666666666666666666666666666666666666666666666666666666666666666 
12    65 97 4   83 115 3   68 100 2   70 102 1   71 103 1   72 104 6   74 106
6   75 107 7   76 108 8   59 58 19     39 64 19   35 126 19   
  
7777777777777777777777777777777777777777777777777777777777777777777777777 
3 3        3 3        3 3        11 11      7 7        7 7        11 11   
3 3        3 3        7 2           7 2        7 2

8888888888888888888888888888888888888888888888888888888888888888888888888 
11    124 92 14   90 122 4   88 120 3   67 99 2   86 118 1   66 98 1   78 110
6   77 109 6   44 60 17   46 62 18    47 63 19 
 
9999999999999999999999999999999999999999999999999999999999999999999999999  
         7 2        7 7        7 7        7 7        7 7        7 7        7 7   
7 7        7 2        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) that 
is used by PCs in UK.  The UK keyboard is quite similar to US keybaord.
  
In file "ukf.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 kpworldf.exe 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 French, German, Belgium keyboard  
templates.