KP International Generation

Typing tutor KP International Generation versions (all freeware) are now available in a 
ftp site.
This document consists of three parts. The first part is for users who has use KP 2.3
(with UK keyboard). The second part tell you how to get KPs from ftp site. The third 
part describes KP 3.0 international generation versions.

********************************
PART ONE
********************************

KP is a typing tutor with its own style. It would not replace the role of any other typing 
tutor available in marketplace or public domain.

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

What is my standard for learning to type?
* if you can type 26 letters include '. , ; ?' without watching the keyboard,
* and can type a text with speed not slower than your hand-writing.
* ...

My idea is that A-Z is enough for beginner, other symbols can be neglected in the beginning,
don't need special specific particular practice.

**************************
PART TWO
**************************
It is my pleasure to see more and more people learn to type, save their 
time and computer resource. Many kindness people around the world hope to give me 
more chance to get more pleasure and enjoyable things, and suggested me to do KP 
typing tutor sss for their countries, with un-english letters, different keys location from 
the one that I am using in UK. Thank for those kindness people, now KP International Generational
comes.

Get KPs from fpt site !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Just get it for yourself or your friends.

How to access the ftp site and get KP?

You could access it anonymously:

================================================
ftp ftp.ncl.ac.uk                   or  aidan.ncl.ac.uk
user name->anonymous
passwd->[your e-mail name]
cd /pub/local/n4521661
================================================

Here is an example of accessing your directory on ftp.ncl.ac.uk:

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

250 CWD command successful.

ftp> ls

200 PORT command successful.

150 Opening ASCII mode data connection for file list.

kp_most.zip   including all other files


kpworldf.exe   for any kinds of keyboard template supported by MS-DOS

kpworld.cfg     for KP International Generation config

kp.txt		text file for practice

kptest.txt	Another text file for test
readme.kp	simple user manual
news.txt      more detail on KP international

kpuk.bat	To start the program 'kpworldf.exe' using UK keyboard template
kpus.bat	using US keyborad
kpfr.bat	using French keyboard
kpgr.bat	using Germany keyboard
kpbe.bat	using Belgium keyboard
kpit.bat	using Italy keybaord

uk.key		keyboard template for UK, a text file
us.key		for US keyboard
fr.key		for French keyboard

gr.key		for Germany

be.key		for Belgium

it.key		for Italy

dvorak.key    for Dvorak keyboard (English)

226 Transfer complete.

ftp> bin

ftp> mget kp*.*

......

ftp> bye

221 Goodbye.



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

if 'mget' command don't work in your network, try:
using 'prompt' command first, for example:
fpt> prompt
ftp> mget ....

REMEMBAER to

use 'bin' command first before you get non-ascii files.

You could also just get 'kp_most.zip' that include all other files, if your system
allow you to get a file more that 100 Kbyte. The size of 'kp_most.zip' is 145 Kbytes.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1



Note:

* for history reason, it is recommended to start KP with a *.bat file. More detail see 

readme.kp.

* read user manual 'readme.kp' for both student and teacher. It is allowed to modify all 

the text file including one while distributing KP free in your country or to other 

countries.



You can also get KP from www site: http://www.ncl.ac.uk/~n4521661

!!!!!!!!!!!!!!!!
COPYRIGHT NOTICE
!!!!!!!!!!!!!!!!
The KP Typing Tutors is Copyright 1994, 1995 by Zijian Huang, All rights 
reserved.

The current versions of KP Typing Tutor Genreation 3.1 may be freely used by individuals
for their own work.  Individuals, educational institutions, etc., may distribute versions of 
the software free. 

Distribution, or incorporation in any package involving a profit for the 
distributor or the distributor's agents is prohibited.


*************************************************
PART   THREE
*************************************************
Though I say the KP International Generation would support different (alphabet) 
languages and different keyboards template, KP International Generation need your help to 
make it be more international, supporting your language, keyboards in your countries in the 
behalf of your nation.

I am an individual programmer, and just can do KP in my spare time. Among alphabet 
languages, I just know English. I haven't touched any others before I did KP. I need 
your help to maintain KP International Generation in your behalf of your nation. As 
you has seen, now the ftp site just contains KP just support six kinds of keyboards and 
5 kinds of languages. I just can say now KP in principle can support all kind of 
keyboards and alphabet languages supported directly by MS-DOS.

So, I disclosure some technical details to say how KP work. Hopefully you understand 
ASCII code, code page, extend code page. If you know little about DOS, please tell it 
to your friend who know DOS or programming.

How KP International Generation --- kpworldf.exe work?

* if you start kpworldf.exe directly by its name, kpworldf.exe will search for a config file 
called kp.cfg, if it doesn't exist, KP will wait for about two minutes and then it will 
work, it is not harmful to your system. KP just purely wait.
* Then KP will search for a config file called 'uk.key' that define the location of keys on 
the keyboard, colour and attributes of keys etc.
* then KP will search for a text file called 'kp.txt', and use it as the practice example.

* kpworldf.exe can receive three command line arguments, the examples may give your 
some ideas:
e.g.
    kpworldf.exe  kp.txt kpworld.cfg  gr.key
       kpworldf.exe  kp.txt kpworld.cfg  fr.key
    kpworldf.exe   yourkp.txt  kpworld.cfg  be.key

The use of '*.cfg' is something like MS product's *.cfg. This file should not be modified 
by users.

The first argument indicate a DOS text file that will be the content of part of the
practice. It can be modified with other name and content.
The third argument a file that contain the message of the location of the keyboard. This 
is a text file just contain integer number. The file also could be modified by you. 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

The following is C-like comment for this file:
// the offset from the left-most of the keyboard, for each line of keys
// from top to bottom
0    7   9   6

// the first number is how many keys in that line, the following 13
// groups of numbers indicate 13 keys
//       `           1          2           3          4           5         6           7           8        9          0          -          =
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
// the second line of keys contain 12 keys, 81 is ASCII code of 'Q', 113
// is 'q', 4 stand for left-little finger that correspond to 'Q' key. As
// you can see, all the left-key is with 4 of 14, the 0 of 04 means the key
// is a A-Z-like key, the 1 of 14 means that key is divided into upper
// part and lower part.

//        Q          W          E          R           T          Y          U          I           O         P          [          ]
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

//       A          S         D          F         G           H           J         K          L          ;           '          #
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
// Color for each characte of keys. 3 stand for cyan, 7 stand for white and so on.
// In each group, the first number is for lower part of the key or the capital letter.
// the second one is for lower part or lower case letter.
       3 3        3 3        3 3        11 11      7 7        7 7        11 11      3 3        3 3        7 2           7 2        7 2

	   \           Z          X         C         V          B          N           M          ,         .           .
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
// The ASCII code for each character here follow US code page (437) that is used by PC in UK.
// UK keyboard is quite similar to US keybaord.

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 recognize 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)

In file 'ukf.key', you can see an additional line with ten number, 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 'kpf.bat'. Which layout would you like?

The following is gr.key, for Germany, using code page 850.
0    7   9   6
13    94 170 14   49 33 14   50 34 13   51 35 12   52 36 11   53 37 11   54 38 16   55 47 16   56 40 17   57 41 18   48 61 19   225 63 19   46 250 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   90 122 6   85 117 6   73 105 7   79 111 8   80 112 9   154 129 19  43 240 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    153 148 19   142 132 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    60 62 14   89 121 4   88 120 3   67 99 2   86 118 1   66 98 1   78 110 6   77 109 6   44 59 17   46 58 18    46 95 19
        7 2        7 7        7 7        7 7        7 7        7 7        7 7        7 7        7 2        7 2        7 2

Hopefully, these examples will give you some ideas how kpworldf.exe can work on 
different keyboard and different alphabet language.

If you are not in those country, and hope your people learn to type, You can write a 
*.key for your language and distribute it to your people. Ah, remember to sent me one 
copy, and indicate what code page is used in the PC in your country under DOS 
environment.  As soon as I receive a *.key, I will put it to my ftp site and www site.

Even you are France, Germany, Belgium people, be careful for the keyboard map file I 
has produced. Though I had carefully look up the code page table for the ASCII code 
of each symbol, I just can refer keyboard template in DOS books-- unclear printed, the 
fr.key, gr.key and be.key must have many misunderstanding place for those symbol, If 
you correct it, please sent me a copy.

Any other advice, comment, suggest please sent to me.
At last, forgive me for this poor-english artical.
Here, I also thank Miss Katrien Deroey who helped me to generate France, Germany,
Belgium keyboard.


*****************************
PART FOUR
*****************************
Brief History of KP:
The first version of KP was developed using Turbo Pascal at March of 1994. The program
was used in a primary school and middle school. In March of 1995, the whole stuff was
re-developed using C++, more functions were added. The KP typing tutors with 'kpuk.exe'
and 'kpus.bat' were distributed through a public ftp site. In July, KP was upgraded to
KP International Generation 3.0. All KP stuff were distributed through my ftp site and
WWW site. In December, KP was modified a little bit -- also show the speed of typing using
WPM as well keys/min. From Jan of 1996, only KP International Gerneration 3.1 was distributed
through my ftp and www site.


Your sincerly


Zijian Huang

E-mail:   n4521661@aidan.ncl.ac.uk

Computing Science Department
University of Newcastle upon Tyne
NE1  7RU
UK

Tel:   +44(UK)     0421 377903

www:     http://www.ncl.ac.uk/~n4521661

3, Jan, 1995
