KTouch"> ]> The &ktouch; Handbook HåvardFrøiland
&Haavard.Froeiland.mail;
AndreasNicolai
Andreas.nicolai@gmx.net
1999-2005 Håvard Frøiland, Andreas Nicolai &FDLNotice; 2005-06-19 1.5 &ktouch; is a program for learning to touch type. &ktouch; provides you with text to train on and adjusts to different levels depending on how good you are. It displays which key to press next and the correct finger to use. KDE touchwriting touchtyping typing typewriting education ktouch touch type
Using &ktouch; Introduction What is &ktouch;? &ktouch; is a program for learning to touch type. &ktouch; provides you with text to train on and adjusts to different levels depending on how good you are. It shows your keyboard and indicates which key to press next and the correct finger to use. The main screen of &ktouch; The main screen of &ktouch; &ktouch; is an excellent touch typing tutor. You learn typing with all fingers, step by step, without having to look down at the keyboard all the time to find your keys (which slows you down a lot). 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. Features In its current version, &ktouch; 1.5 has quite a number of helpful features, such as: Support for many different training lectures in many languages including language specific text fonts and a comfortable lecture editor Support for different keyboard layouts with the ability to use user-defined layouts During your training session comprehensive statistical information is obtained to help you (or your teacher) analyse your progress Many other features are included and will be discussed in the appropriate chapters of this manual. Learning touch typing with &ktouch; Here's another screenshot of &ktouch; in action, this time with a german keyboard and training lecture: Main screen of &ktouch; Main screen of &ktouch; Even though learning touch typing with &ktouch; and using the program should be very simple we will look a bit closer@&ktouch; in the following sections. Getting started When you start &ktouch; you can see the screen shown above. The main program window shows three main sections: Some typing statistics in info boxes@the top The text you need to type (in the teacher's line) and the text that you have typed so far (in the student's line) The keyboard (that hopefully looks like yours) We look@these sections later again. Ok, the first time you start &ktouch; it will open a default lecture and select a default keyboard layout. Before you start typing you should adjust the keyboard layout so that it matches yours. Go to SettingsKeyboard Layouts... and select the country you're in (or some country which uses the same keyboard layout as you). If your keyboard is not included, you can always define your own keyboard (see Creating your own keyboard). Once you have your keyboard selected, choose your training lecture. The first line in your corrent lecture and level is shown in the teacher's line. You can select any of the default lectures via TrainingDefault Lectures... or open a user defined lecture file (⪚ if your teacher gives you a special lecture to practice on) with FileOpen Lecture.... You may even create your own lecture (see Creating your own lecture). When you have selected keyboard and lecture you can start typing. Place your hand on the keyboard as indicated by the 8 marked finger keys (thumbs over the space bar) and start typing the text shown in the teacher's line. Each key you need to press is highlighted on the keyboard and if you need to move a finger from its resting position the target key and the appropriate finger key is highlighted. Try to move your hands as little as possible and after you typed a character always try to return your fingers to their resting positions. The key colors indicate which finger needs to press which key. While you type you may make mistakes and hit the wrong key. In that case the student's line will change its color (per default to red) and you have to hit Backspace to erase the wrong character (or characters) again. When you have successfully completed a line of text you need to press the Enter key to advance to the next line. Lectures and levels As already mentioned above you need to select a training lecture which contains all the text you want to practice. Usually the difficulty of the text is gradually increasing and so most lectures contain various difficulty levels. However, some lectures may just contain a single level and text (⪚ a newspaper article to test your skills). In the info boxes@top of the &ktouch; main window you see the current level@the left. The small buttons to the right allow you to manually switch levels. Normally this happens automatically (more about this in the section Training Options). The right info box shows a brief information text about the level. Usually it gives you a list of characters that are new in this level. The middle two info boxes show your current typing speed (in characters per minute) and your correctness. These values are Level Statistics and whenever you start a new level these values are resetted. However, the program still remembers your previous statistics (see section Statistics in &ktouch;). Starting and stopping a training session While you type the text of a training lecture you are in a practice session. You can start a new practice session using TrainingStart New Session or the appropriate button in the toolbar. Level changes (automatic or manual) do not change your training session. You stay in this training session until you start a new training session, select a new lecture (which automatically starts a new training session) or quit the program. If you open any dialog in &ktouch; while you are in a training session the training is paused and the timer is stopped until you hit the next key. You can manually pause the session using TrainingPause Session or the appropriate button in the toolbar. Statistics in &ktouch; &ktouch; remembers you! Basically whatever you type is recorded and some useful (and sometimes just interesting) statistics are created. &ktouch; stores statistical data based on the lecture file you use for training. For every lecture file a separate history is kept. &ktouch; also distinguishes between level and practice session statistics. This is important to prevent cheating :-). Training Session Statistics Current Training Statistics Current Training Statistics Whenever you start a new training session a new statistics record is started. &ktouch; remembers several things to assess your skill and to help you identify problem keys: How many keys were pressed in total? How many were correctly pressed? Which keys where missed and how often? How many correct words did you type? How much time did you need? Using training session statistics you and &ktouch; can evaluate your overall performance and skill in a certain training lecture. Level Statistics For each level in your training session (&ie; all levels you typed text in) the same statistics as for the training session are obtained. Using level statistics data you can investigate your progress in each level of a training lecture (and you will notice how your skill increases level by level and you can concentrate on the levels which still cause problems). The Statistics Dialog TrainingLecture Statistics or the statistics button in the toolbar opens the statistics dialog. It displays your current training and level statistics and shows a graphical history of previous training sessions. When you open the statistics dialog you can select a Session Statistics Page and a Level Statistics Page. The first page gives you a summary about everything you typed so far. The Level Statistics Page only contains the stats for the current level. This is useful to distinguish between overall performance and skill in certain levels. The third statistics page gives you a graphical overview of your typing skill by offering several choices. A note about the time scaling option. Whenever a session or level statistic is obtained, also the date is stored. So you can also see how your skill dropped in long training breaks and when you last practiced a certain lecture or level. Training Statistics Chart Training Statistics Chart The &ktouch; main menu and program dialogs In this chapter we look@some of the details in the program. You can use the What's this? feature (the little question mark besides the minimize/maximize window buttons) in many dialogs of the program. The menu of &ktouch; Pretty much everything in the &ktouch; menu should be self-explanatory. The file menu contains options to load a user defined lecture and edit lectures. The training menu contains training options and the settings menu contains options to setup the program. The various options in the configuration dialog are explained in the next section. Configuration options for &ktouch; You can customize &ktouch; quite a bit. The settings are always stored for the current user of the program. Open the configuration dialog via SettingsConfigure &ktouch; .... General Options In this dialog you can change general options that control the behaviour of &ktouch;. General options General options First of all you can switch the sound on or off (might be useful in class rooms). You can also set the sliding speed of the teacher's and student's line. Most important, however, might be the selection of the lecture font. When showing the teacher's text &ktouch; will normally use the font specified in the lecture file. But if this font doesn't exist on your system or none has been specified, &ktouch; uses a default system font. What if this font does not contain all characters needed for your lecture? In such cases you can override the choice of the font and specify any font you like. &ktouch; distinguishes between lecture and keyboard fonts. Overriding the lecture font does not automatically adjust the keyboard font as well. Use the appropriate option in the Keyboard Options configuration page. Training Options In this dialog you can select the options that control how &ktouch; changes difficulty levels based on the user's skill. Training options Training options If Automatic level adjustment is enabled, &ktouch; checks the given limits@the end of each level and decides whether to increase or decrease the level or stay in the level for another run. Level changes occur always@the end of a level (&ie; when the user has finished the last line of a level). If the typing speed (in characters per seconds) and accuracy (correctness) are both above or equal to the Limits to increase level &ktouch; will jump to the next higher level. If either typing speed or accuracy falls below the Limits to decrease level &ktouch; will jump back to the previous lower level. On this configuration page you can also select that the program remembers your current level when you quit the program and jumps back to it when you restart &ktouch;. Keyboard Options In this dialog you can select keyboard specific options. Keyboard options Keyboard options This dialog controls the appearance and functionality of the keyboard. Similar to the Override lecture font option in the general settings configuration page, you can here specify your own keyboard font. The option Highlight keys on keyboard can be used to increase the difficulty of the training. Once you are familiar with the keyboard you may want to turn keyboard highlighting off so it won't distract you when you concentrate on the teacher's text. Color Options In this dialog you can tweak the appearance of &ktouch;. Color options Color options This configuration page does not need much explaination. You can choose among four predefined color schemes for the keyboard. Alternatively you can switch the color schemes on the fly using the menu option SettingsKeyboard Color Schemes. Extending &ktouch; Creating your own lecture You can easily create your own training lecture using the built-in &ktouch; lecture editor. When you select FileEdit Lecture... the Open Request Dialog will open and ask you to select a lecture. You can choose either edit the current lecture, any of the predefined lectures (if you have write access to the installation directoy) or create an empty lecture from scratch. Creating a lecture Let's assume you want to create a new lecture. There are a few guidelines you may want to consider: For the first 20 keys or so, only add 2 keys@a time to a new level. Let the user practice the keys alone first in different combinations and then use the new keys in words and mixed with already known words. Add@least a few levels to the lecture in order to allow the user to see some progress while training Don't make the levels too long. Try to increase the difficulty of the text gradually and test your text yourself. After the first keys have been learned include a recap lecture. Things to know about lectures The lecture title is important for the quick-select menu entry in the training menu and for the statistics. The comment should be used to include information about the lecture author and source of lecture data if any. For each level you can specify the new characters/keys in the lecture. The text you enter there will be shown as level information text in the top right info box of the &ktouch; main window. You can also specify a default font for the lecture which will be used in the teacher's and student's line and of course in the edit lecture dialog using the Change Font... button. Creating your own keyboard You can create your own keyboards by creating keyboard files. Currently &ktouch; doesn't have a keyboard editor but it is still pretty easy to define your own keyboard. It doesn't require much more than a little math to work out the geometry and some time. Best is to start with an existing keyboard file, create a copy for your keyboard layout and simply adjust the lines. Currently keyboard files are plain UTF-8 encoded text files. In one of the next version of &ktouch; keyboard data will be stored in &XML; files, too. Therefore I'll only briefly explain the structure of a keyboard file. A keyboard file usually starts with a header including some information about the author and type of the keyboard. #################################################### # KTouch # Keybord layout file for german keybord layout # Code=UTF-8 #################################################### All lines starting with a hash character '#' are considered comments. After the header section a block of so called finger keys follows, indicating the resting positions for all 8 fingers. # # Unicode KeyChar 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 246 Ö 108 20 Keys have the default dimensions of 8 units, so using a grid of 10 units gives a normal looking keyboard. The first number is the unicode character code as decimal number. The KeyText is the text printed on the key encoded as UTF-8 (automatic under newer &Linux; versions, just make sure your editor saves files as UTF-8 format). The next section contains special keys, which are - apart from BackSpace and Enter - just decorative. # # Unicode KeyText x y Width Height # ControlKey 260 Tab 0 10 15 10 ControlKey 13 Enter 138 20 12 10 ControlKey 258 Shift 123 30 27 10 ControlKey 264 AltGr 120 40 15 10 ControlKey 265 Ctrl 135 40 15 10 ControlKey 263 Alt 15 40 15 10 ControlKey 262 Strg 0 40 15 10 ControlKey 32 Leertaste 30 40 90 10 ControlKey 257 Shift 0 30 13 10 ControlKey 259 CapsLock 0 20 18 10 ControlKey 8 BackSpace 130 0 20 10 The text you specify for the key is printed completely on the keyboard. However, for the keytexts Shift, CapsLock, Tab, BackSpace and Enter &ktouch; draws the appropriate symbols. Hence you can use these keytexts regardless of the language. The other keytexts like Ctrl or Alt need to be translated though. The geometry of the control keys can be any rectangle, defined by upper left x and y coordinates and width and height. The next section contains all characters on the keyboard (except the already defined finger keys) that can be typed without pressing shift. # # Unicode KeyChar x y FingerKeyUnicode # NormalKey 94 ^ 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 102 . . . NormalKey 46 . 103 30 108 NormalKey 45 - 113 30 246 The definition of these primary keys or chars is pretty much the same as for the finger keys, but they include an additional property. The last unicode character code identifies the associated finger key. Basically which finger has to be used to press this key. The next and last section in a keyboard layout defines all keys that are pressed by using a modifier key such as the shift key. # # Unicode TargetUnicode FingerUnicode ControllUnicode Comment # 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 124 60 97 264 #| HiddenKey 64 113 97 264 #@ The hidden keys are really controlling what should happen on the keyboard when you type a certain character. The first unicode number is the character code of the character you define. The second number is the character code of the key on the keyboard (one of the already defined normal keys). The third number indicates a finger key (where does the finger rest that is needed to type the key) and the last number indicates the modifier key you need to press to get this character. Let's look@an example: You want to define the uppercase 'R' character. It has the unicode 82. The character obtained when the 'R' key is pressed without modifier is the small 'r' with the unicode 114. The finger for the 'R' rests over the 'f' key which has the unicode 102. And in order to get the 'R' you need to press the right (or left) shift key which has the code 264 (this is actually not a unicode but the code obtained from a keypress event of QT). Note that the identification of controll keys will likely change in the next version of &ktouch;. But for now you can use the codes used in other keyboard files. Command Reference Menus and shortcut keys The <guimenu>File</guimenu> Menu File Open Lecture... Open a new training lecture file File Edit Lecture... Open the lecture editor to allow you to change the current training file &Ctrl;Q File Quit Quit &ktouch; The <guimenu>Training</guimenu> Menu Training Start New Session Start a new typing session and ask you if you want to start@the same level Training Pause Session Pause the current session: statistics are on hold Training Lecture Statistics Open the current session statistics dialog Training Default Lectures English (auto-generated) Choose what languagee you want to learn touch typing in The <guimenu>Settings</guimenu> Menu Settings Show /HideToolbar Toggle the Toolbar Settings Keyboard Layouts number.keyboard Choose the keyboard layout you want to use, here the number keyboard Settings Keyboard Color Schemes Black'n White Choose the keyboard color layout in black in white: all keys are white and the one you should type is black Settings Keyboard Color Schemes Classic Choose the classic keyboard color layout: each column of keys has a different color Settings Keyboard Color Schemes Deep Blue Choose the deep blue keyboard color layout: each column of keys has a different color in a shade of blue Settings Keyboard Color Schemes Stripy Choose the stripy keyboard color layout: in blue and grey Settings Configure Shortcuts... Configure the shortcuts you want to associate with some actions Settings Configure Toolbars... Configure the items you want to put in the toolbar Settings Configure &ktouch;... Display the &ktouch; settings dialog The <guimenu>Help</guimenu> Menu &help.menu.documentation; Credits and License &ktouch; &ktouch;, Copyright 1999-2005 by Håvard Frøiland haavard@users.sourceforge DOT net Andreas Nicolai andreas.nicolai@gmx DOT 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 Special thanks to all the other (here not mentioned) contributors of keyboard and lecture files. &underFDL; &underGPL; How to obtain and install &ktouch; &ktouch; has its own home page http://ktouch.sourceforge.net. Please refer to the instructions on the home page since they will contain up-to-date information about how to obtain &ktouch;. &ktouch; can also be found on The &kde; Edutainment - &ktouch; home page and is part of the &kde;-Edutainment project. &documentation.index;