Home > Customization (Skins) > Keyboard Layout

Documentation for the Definition File for Keyboard Layouts

The XML definition file for on-screen keyboard layout defines the area for each key that can be pressed on the on-screen keyboard and the function to be executed.
Please note:
Some basic knowledge is necessary to create a separate keyboard layout. For obvious reasons we cannot (apart from this documentation) provide free support for creating personalized skins.
1. Screen Resolution Tips
The keyboard layouts included with SiteKiosk have been optimized for a screen resolution of 1600x1200 pixels.

If you use a different resolution in SiteKiosk, then SiteKiosk will automatically convert all values ​​into the appropriate resolution which also allow for proper display at 800x600. Note that under normal circumstances a keyboard will not be displayed in a size that is bigger than the original size of the keyboard image.
By explicitly stating the painting element, you can optimize the display for a certain resolution.

For better image quality we advise you to create a keyboard layout with a resolution of at least 1024x768 if you are planning a general purpose keyboard layout. If you are creating one for a specific use, you should decide on the resolution in the early stages.

2. General structure of the definition file
It is easiest to start by taking a look the existing files of a completed on-screen keyboard layout. The layout of standard scroll bars (english) is a fairly simplly designed on-screen keyboard. Download the layout and look at the file "standard_english_scroll.xml" in the directory ..\SiteKiosk\skins\default\englishscroll with a text editor.
Here is an excerpt of the main areas of file:

<keydef name="TX-82 Scroll Bars (English)">
<subkeydef name="1024-small" type="small" language="9" docked="-1" forcewinkeyboard="-1">
<dockrect x1="0" y1="0" x2="1024" y2="52"/>
<hotspot x="0" y="0"/>
<shape mode="xor">
<rect x1="12" y1="5" x2="162" y2="50"/>
<rect x1="12" y1="5" x2="162" y2="50"/>
<rect x1="12" y1="5" x2="162" y2="50" mode="add"/>
...
</shape>
<language id="9" target="TX-82 Scroll Bars (English)\\docked, big"/>
<jpeg type="normal">skins\tx-82\englishscroll\qwerty0001.jpg</jpeg>
<jpeg type="pressed">skins\tx-82\englishscroll\qwerty0002.jpg</jpeg>
<sound id="0">wavs\key_click.wav</sound>
<dockbackground type="2" filename="background.png"/>
<nondragarea mode="or"/>
<rect x1="12" y1="5" x2="162" y2="50"/>
...
</nondragarea>
<nonshiftkeys>
<key sound="5" type="5" vkey="0" char="+" shift="0">
<shape mode="xor">
<rect x1="" y1="" x2="" y2="" mode="or"/>
<ellipse x1="" y1="" x2="" y2="" mode="or"/>
<roundrect x1="" y1="" x2="" y2="" widthellipse="" heightellipse="" mode="or"/>
<polygon mode="or" polymode="alternate">
<point x="322" y="2"/>
<point x="486" y="2"/>
<point x="486" y="53"/>
</polygon>
...
</shape>
</key>
<key sound="2" type="2" vkey="0" target="docked, small">
...
</key>
<key sound="2" type="16" vkey="0" target="http://www.sitekiosk.com/">
...
</key>
<key sound="17" type="2" vkey="0" target="docked, small">
...
</key>
<macro sound="0">
<shape>
...
</shape>
<mkey char="h"/>
<mkey char="t"/>
<mkey char="t"/>
<mkey char="p"/>
<mkey char=":"/>
<mkey char="/"/>
<mkey char="/"/>
</marco>
</nonshiftkeys>
<keyswithoutshift>
<key type="0" char="a">
...
</key>
...
</keyswithoutshift>
<keyswithshift>
<key type="0" char="A">
...
</key>
...
</keyswithshift>
</subkeydef>
</keydef>

3. Documentation for the Elements and Attributes
3.1 keydef-Element
Each layout of a keyboard is divided into a keydef (key definition) section with several subkeydef sections and an optional painting section. The subkeydef sections describe the different possible states of the keys in keyboard, for example retracted (small) or extended (big).

<keydef name="TX-82 Scroll Bars (English)">
<subkeydef ...>
...
</subkeydef>
</keydef>

name:
The only attribute of the section is keydef name that defines the name of the keyboard. The content of this attribute is displayed in the SiteKiosk configuration. The attribute name must be unique for each layout.
3.2 subkeydef-Element
The subkeydef sections describe the different possible states of the keyboard, for example retracted (small) or extended (big).

<subkeydef name="1024-small" type="small" language="9" docked="-1" forcewinkeyboard="1">

name:
The name attribute specifies a unique name for the sublayout. The name is required when you build keyboards that switch at runtime. For example, with multi language keyboards, in this case name is referenced.
type:
The type attribute determines whether the keyboard definition is for a large (extended) keyboard or small (retracted) Keyboard. This is primarily to ensure that SiteKiosk can detect at runtime whether the keyboard is already in a retracted position, for example when a new window will open.
Switching from an extended keyboard to a retracted or vice versa can only happen automatically if a key of type "2" (toggle button, see here) is available. With an automatic switching all entries of type "2" are gone through and the first one found is chosen.
Important: The keys must be defined completely for small and big, ie some keys that are visible in small and in big must be defined twice.
language:
The language attribute specifies the language for which the current layout has been defined. This is important for an automatic language change to see if the desired layout may already have the correct language setting. Use the 0 if you want to create a keyboard that can switch between all running Windows configured keyboard languages​​. Otherwise, enter the ID of the desired language.
docked:
The docked attribute determines whether the keyboard is to be docked. This means that in contrast to the FLOATING Keyboard, a docked keyboard makes the browser window smaller so that the lays outside of the browser area or undefined areas in dockrect overlap.
With a keyboard DOCKED ensures that the keyboard does not cover the browser window. A FLOATING keyboard in contrast partially covers the browser. -1 Means the keyboard is docked, 0 means it is not docked.
forcewinkeyboard:
The forcewinkeyboard attribute is obsolete.
3.3 dockrect-Element
If a keyboard is docked, the dockrect sets the range a keyboard may extened into the browser window. This area is also the visible part of the retracted keyboard. There are typically buttons such as "(extend-/retract) Keyboard" and scroll buttons. The example code is 1024 pixels wide keyboard and the top 58 pixels overlap the browser.
If dockrect is missing, the browser retracts the keyboard so it does not overlap the browser.

<dockrect x1="0" y1="0" x2="1024" y2="58"/>

The attributes of dockrect are the coordinates for the dimensions of the area. These values ​​are also relevant for the centering of the keyboard.
x1 und y1:
Coordinates for the top left corner of the dockrect area.
x2 und y2:
Coordinates for the bottom right corner of the dockrect area.
3.4 dockbackground-Element
This element specifies how the background of the keyboard in the docked state should look. Here you can specify a color or an image.

<dockbackground type="2" filename="background.png" />

type:
If type is "1", then the color attribute expects a decimal number that specifies the background color.
If type is set to "2", then the attribute must be specified as a filename.
color:
If type is "1", then the color attribute expects a decimal number that specifies the background color or filename.
filename:
If type is set to "2", then the attribute must be specified as a filename. You can use either color or filename.
3.5 painting-Element
This element has two possible locations in the keyboard definition. It can be a child of the keydef element or the subkeydef element.
As a child element of the keydef element it is used to implement default color values for a keyboard, that has colors, that can be customized in the configuration of SiteKiosk, e.g. the TouchBrowser keyboard design. The values can be left as is, as they will be overwritten by those selected in the configuration of SiteKiosk. Therefore they will not be explained in more detail in this document.

<painting>
<color-board>0</color-board>
<color-buttonup>3289650</color-buttonup>
<color-buttondown>16777215</color-buttondown>
<color-symbolup>16777215</color-symboldown>
<color-symboldown>0</color-symboldown>
<color-symbolup-alt>16777215</color-symbolup-alt>
<color-symboldown-alt>0</color-symboldown-alt>
<color-dockbackground>0</color-dockbackground>
</painting>

Example: Painting section of the keydef element.
The painting element as a child of the subkeydef element on the other hand is necessary, if you want to create a keyboard that can automatically switch between all running Windows configured languages​​. The image files for the keyboard then contain no letters, they are suitable for the language specified by the values ​​for color (depressed and raised state), font, etc drawn.

<painting color-up="0" color-down="16777215" font-family="Tahoma" font-weight="600" font-size="-22"/>

Example: Excerpt from the file natural.xml. A language-independent keyboard layout.
color-up:
Font color of the button label when button is not pressed.
color-down:
Font color of the button label while pressing the button.
font-family:
Font of the button label.
font-weight:
Font weight of the key label.
font-size:
Font size of the key label.
Other possible attributes are resolution-x and resolution-y. This allows you to specify to what size the keyboard should be adjusted. If the values ​​are not specified, SiteKiosk uses 1600x1200. For larger or smaller resolutions will be scaled accordingly.

<painting resolution-x="1024" resolution-y="768"/>

Example: Data for a keyboard that will be adapted to a screen resolution of 1024x768.
resolution-x:
Resolution width in pixels.
resolution-y:
Resolution height in pixels.
3.6 languageselector-Element
This element is only required if you want to create a keyboard that can automatically switch between all running Windows configured languages​​. This element represents the available languages ​​to choose from and can be with the type 19 key be setup. The following code example image contains optional elements, if they are not specified, the language is written with a text. Imagerect and TextRect define the position of the image and text area of the element.

<languageselector font-family="Arial" font-weight="600" font-size="-12" check-image="skins\provisio\languages\check.ico">
...
</languageselector>

Example: Excerpt from the file natural.xml. A language-independent keyboard layout.
font-family:
Font selection within the language selection area.
font-weight:
Font weight of the language selection area.
font-size:
Font size within the language selection area.
check-image:
Icon image that marks the selected language.
menu-align:
Position of the language selection menu. Optional decimal value. 32 (default) positions the language selection menu at the upper left cornder of the keyboard.
The value is the sum of a few hex values, whose result has been converted to a decimal value.

0x00 | Position relative to the keyboard area
0x01 | Position relative to the language selector button on the keyboard
0x00 | Position left-aligned
0x40 | Position center (X-axis)
0x80 | Position right-aligned
0x00 | Position lower border
0x10 | Position center (Y-axis)
0x20 | Position upper border

Example: The position should be the upper right corner of the language selector button on the keyboard. This means 0x01 + 0x80 + 0x20 = A1. The decimal value that needs to be used is 161.
The following parameters are available within language selector:

<imagerect x1="135" y1="222" x2="157" y2="236"/>
<textrect x1="161" y1="222" x2="181" y2="236"/>
<image id="1">skins\provisio\languages\jpg\sa.jpg</image>
<image id="2049">skins\provisio\languages\jpg\iq.jpg</image>

imagerect:
Defines the position of the image area of the languageselector element.
textrect:
Defines the location for the text area of the l anguageselector element.
image:
Specifies the path to an image file that represents the language, i.e. a country flag.
3.7 hotspot-Element

This allows you to setup a point that will stay the same on the screen for keyboard changes. If you switch between two similar keyboards, this avoids a displaced representation of the keyboards. If the hotspot element cannot be setup here, the pont (x=0, y=0) is automatically defined as a hotspot.
Docked keyboards, which are displayed centered are not influenced by the hotspot element.

<hotspot x="0"y="0"/>

x und y:
Defines the coordinates of a hotspot.
3.8 shape-Element
A shape element specifies the outline for an entire keyboard layout (Example 1) or a single key (Example 2). The geometric elements available for a key are described here.

<shape>
<rect x1="0" y1="0" x2="1024" y2="58"/>
</shape>

Example 1: Specifies that the keyboard layout is 1024 pixels wide and 58 pixels from the top of the graphic visible in the retracted keyboard.

<key sound="5" type="5" vkey="0">
<shape>
<polygon>
<point x="322" x="2"/>
<point x="486" x="2"/>
<point x="486" x="53"/>
<point x="322" x="53"/>
<point x="322" x="2"/>
</polygon>
</shape>
</key>

Example 2: Definition of the key "Scroll up" (Type5). On the keyboard layout is the shape (here a polygon with 5 points), determines the position and size of the button through the 5 coordinate values. On click the sound file with the ID 5 is played and the "Scroll Up" is executed.
mode:
shape even has the optional attribute mode, which determines how the individual sub-or child-elements assembled to determine the final shape. The mode can be selected the following values​​: "or" (default), "and", "xor" and "diff". Every single child element, can have a mode attribute, which overwrites the mode attribute of the parent element. The child elements are assembled from top to bottom to form a complete keyboard layout.
3.9 Define Key Areas
Using various geometric elements you can define areas on the keyboard that can be clicked on.

<polygon>
<point x="322" y="2"/>
<point x="486" y="2"/>
<point x="486" y="53"/>
<point x="322" y="53"/>
<point x="322" y="2"/>
</polygon>

Example polygon: A polygon can consist of any number of interconnecting points (5 here).
The following geometric shapes are available:
rect:
With rect, you will determine a rectangle. The attributes are "x1", "y1" point for the upper left and "x2" "y2" for the bottom right point.
ellipse:
With elliptical, you determine an elliptical area. The ellipse is described by a rectangle, which touches the ellipse in four points from the inside. Again, the attributes of the co-ordinates "x1" "y1" and "x2" "y2" are.
roundrect:
This lets you specify a rounded rectangle. In addition to the attributes for the rectangular coordinates ("x1", "y1" and "x2", "y2") can be used to determine how much the rectangle should be rounded at its corners.
polygon:
A polygon defines an area of several points. The polygon can be formed with two different Polymode attributes. If the Polymode "winding" is (default), then all regions are filled. Should be Polymode "alternate", then the regions between odd and even sides of a polygon are to be filled.
Using point some of the points from which the polygon is composed of the set of coordinates x and y attributes.
3.10 nondragarea-Element
This optional field specifies where the user does not have the possibility of dragging the keyboard. The element nondragarea is constructed the same as the element shape.
3.11 language-Element
Tip: This element is not required if you want to create a keyboard that can automatically switch between all running Windows configured languages​​. In that case use the languageselector-Element.
With the optional language element, different keyboard layouts with language layouts are possible. When a automatice language change occurs all the language definitions are scanned and the first layout that matches the language code ("ID") of the newly selected language us used.

<keydef name="TX82-Ultra Universal (floating)">
<subkeydef name="ger, docked, small" language="7" type="small" docked="-1" forcewinkeyboard="1">
<dockrect x1="0" y1="22" x2="991" y2="47"/>
<hotspot x="0" y="0"/>
<language id="7" target="ger, docked, small"/>
<language id="9" target="eng, docked, small"/>
<language id="12" target="fre, docked, small"/>
...
</keydef>

Example: excpert from the file tx82_ultra_universal_floating.xml. three-language keyboard layout (English, German, French).
target:
The keyboard layout to be loaded is specified in target. Target stands for the name attribute of the element subkeydef.
id:
The id attribute specifies the language, whose layout is loaded on target.
The language IDs are as follows:

LANG_AFRIKAANS | 54
LANG_ALBANIAN | 28
LANG_ARABIC | 1
LANG_ARMENIAN | 43
LANG_ASSAMESE | 77
LANG_BULGARIAN | 2
LANG_CATALAN | 3
LANG_CHINESE | 4
LANG_CROATIAN | 26
LANG_CZECH | 5
LANG_DANISH | 6
LANG_DUTCH | 19
LANG_ENGLISH | 9
LANG_ESTONIAN | 37
LANG_FINNISH | 11
LANG_FRENCH | 12
LANG_FRENCH-BELGIUM | 2060
LANG_GERMAN | 7
LANG_GREEK | 8
LANG_HEBREW | 13
LANG_HINDI | 57
LANG_HUNGARIAN | 14
LANG_ICELANDIC | 15
LANG_INDONESIAN | 33
LANG_ITALIAN | 16
LANG_JAPANESE | 17
LANG_KANNADA | 75
LANG_KOREAN | 18
LANG_LATVIAN | 38
LANG_LITHUANIAN | 39
LANG_MACEDONIAN | 47
LANG_MALAY | 62
LANG_MALAYALAM | 76
LANG_MARATHI | 78
LANG_NORWEGIAN | 20
LANG_POLISH | 21
LANG_PORTUGUESE | 22
LANG_ROMANIAN | 24
LANG_RUSSIAN | 25
LANG_SERBIAN | 26
LANG_SLOVAK | 27
LANG_SLOVENIAN | 36
LANG_SPANISH | 10
LANG_SWEDISH | 29
LANG_THAI | 30
LANG_TURKISH | 31

3.12 jpeg-Element
The jpeg element defines the images for two key images; non-pressed keys (type="normal") and pressed keys (type="pressed"). The pictures can be jpeg files as well as png files.
The picture for type="normal" is displayed completely. From the picture for type="pressed" only the part of the button that was pressed is displayed. This section is defined by the key area. The specification of both images is necessary for a functioning on-screen keyboard.

<jpeg type="normal">skins\tx-82\englishscroll\qwerty0001.jpg</jpeg>
<jpeg type="pressed">skins\tx-82\englishscroll\qwerty0002.jpg</jpeg>

Note that there is a third type called mask, that is used for keyboards with customizable colors. The colors are defined in the configuration of SiteKiosk. An example would be the TouchBrowser keyboard design.

<jpeg type="mask">skins\provisio\lightweight_int_touchbrowser\lightweight_int_touchbrowser_mask_min.png</jpeg>
<jpeg type="normal">skins\provisio\lightweight_int_touchbrowser\lightweight_int_touchbrowser.tga</jpeg>
<jpeg type="pressed">skins\provisio\lightweight_int_touchbrowser\lightweight_int_touchbrowser.tga</jpeg>

type:
Either normal, for not pressed keys, or pressed for key presses. Type mask is optional and used for keyboards, that have customizable colors. It refers to a black and white picture, black for the keyboard body and white for the keys. If mask is used the usage of normal and pressed is optional and would then refer to pictures with grey scales and an alpha channel (tga format).
3.13 sound-Element
Between the opening <sound> and closing </sound> the path for the sound file to play is defined. Enter as many sound elements as you need. However, please provide different id attributes for each.

<sound id="0">wavs\key_click.wav</sound>

id:
The id of the sound element determines when the sound is played. In the key- or macro element with the sound attribute set the desired sound for the element.
3.14 nonshiftkeys Element
In the nonshiftkeys element, determine all the buttons that can be used without using the shift key. These include buttons such as "a", "b", "+", "-", "." or "," as well as buttons for switching the keyboard layout, scroll buttons etc.

<nonshiftkeys>
...
</nonshiftkeys>

The single keys are defined the help of key-Elements.
3.15 keyswithoutshift Element and keyswithshift Element
This allows you to determine which keys should be simulated with the shift key up (keyswithoutshift) or with the shift key down. As child elements only key elements are provided, as described under KEY and SHAPE.

<keyswithoutshift>
...
</keyswithoutshift>
<keyswithshift>
...
</keyswithshift>

The buttons in the respective keyswithoutshift and keyswithshift areas are defined with key elements.
3.16 key-Element
The key element has several attributes. They do not all need to be defined.

<key sound="5" type="5" vkey="0">
<shape>
<polygon>
<point x="322" x="2"/>
<point x="486" x="2"/>
<point x="486" x="53"/>
<point x="322" x="53"/>
<point x="322" x="2"/>
</polygon>
</shape>
</key>

Example 2: Define the key "Scroll up" (Type 5). On the keyboard layout is the shape (here a Polygon with 5 points), determines the position and size of the button through the 5 coordinate values. On click the sound file with the ID 5 is played and the "Scroll Up" is executed.
sound:
The sound attribute specifies which sound is to be played when a button is pushed. Here the corresponding Sound-ID is specified.
vkey:
The attribute vkey can determine which virtual key is to be simulated with the push of a button. Please read this notice and also the Window API documentation.
scancode:
The attribute scancode can determine alternatively, which virtual key is to be simulated with the push of a button. Please refer to the Window API documentation.
shift:
With shift, you can determine whether the shift key is to be simulated.
language:
This attribute is only used when the button that invokes the language selector element (Type 19). At this time the only accepted value is -1.
char:
In most cases, the char attribute is sufficient, simply because this is the desired character is specified, then the entire necessary key press of the corresponding button (including Shift, Ctrl and Alt) is simulated.
target:
In target a URL or a specific keyboard layout are is assigned. The desired destination is then displayed at the touch of a button. To control a keyboard layout enter the name of the keyboard under subkeydef .
type:
The key element type can have different attributes that define each key type.

1. Type 0:
   This type represents a normal key. Here is the key to be pressed just as composed as in the mkey element and simulated.
2. Type 1:
   This is the Caps Lock key and switches to the internal shift state in SiteKiosk. If the internal state to "shift" is, then when the user clicks on the keyboard all checked keyswhithshift and simulated according to a key press. If the internal state is not "Shift", then the keys are defined without shift in nonshiftkeys and in keyswithoutshift. Note, that type = "1" always combined with vkey = "16" in order to simulate the Caps Lock key.
3. Type 2:
   This button is there to change the size of the keyboard. This button should appear only once instead of a keyboard. The layout is defined in the target attribute. To switch between languages​​, or for general changes of the layout use Type 17.
4. Type 3:
   This button simulates scrolling of the contents of all frames to the left.
5. Type 4:
   This button simulates scrolling of the contents of all frames to the right.
6. Type 5:
   This button simulates scrolling of the contents of all frames up.
7. Type 6:
   This button simulates scrolling of the contents of all frames down.
8. Type 7:
   This type cannot be used (reserved).
9. Type 8:
   This button simulates a click on the back button..
10. Type 9:
    This button simulates a click on the forward button.
11. Type 10:
    This button simulates a click on the stop button.
12. Type 11:
    This button simulates a click on the refresh button.
13. Type 12:
    This button simulates a click on the start page button (home page).
14. Type 13:
    This button simulates a click on the print button.
15. Type 14:
    This button simulates a click on the search button.
16. Type 15:
    This type cannot be used (reserved).
17. Type 16:
    This type starts a browser navigation to the URL defined in the target attribute.
18. Type 17:
    This type changes the on-screen keyboard layout specified in target.
19. Type 18:
    The type cannot be used (reserved).
20. Type 19:
    This type is for the language selection, if you want to create a keyboard that can dynamically switch between keyboard languages ​​configured in Windows, and is always combined with language="-1" in the language attribute of the key element. Other language values ​​are currently not possible. The language attribute of subkeydef will also be set to 0 in a dynamically adapted to the Windows keyboard language browser layout.
21. Type 20:
    This type simulates Alt Gr key.
22. Type 21:
    This type simulates shift key.
23. Type 22:
    This type simulates Ctrl key.

Tip: To print using the char attribute special characters, Unicode must be used. Please note that only characters can be used, which also occur on the official keyboard layout to the selected language.

<key sound="0" type="0" char="="& #8364;">
<shape>
<rect x1="644" y1="151" x2="696" y2="201">
</shape>
</key>

Example: Defines a key to the character "€" issues.
3.17 macro-Element
This item allows you to create macros, which means that by pressing a single button automatically several single-key actions can be simulated.

<macro sound="8">
<shape>
<polygon>
<point x="806" y="289"/>
<point x="906" y="290"/>
<point x="906" y="344"/>
<point x="805" y="343"/>
<point x="806" y="289"/>
</polygon>
</shape>
<mkey char=";"/>
<mkey char="-"/>
<mkey char=")"/>
</marco>

Example: On activation this macro writes the emoticon ";-)".

sound:
A macro-element has a sound attribute, which is assigned under the sound-element ID value for the desired sound file.
Further comprising the macro-element is a subelement shape, which determines the coordinates for the area in which a key press for that key will be registered. The shape element is described here.
A macro contains a child element any number of elements mkey. These define the individual keys that make up a macro.

<mkey char=")"/>

mkey:
The attribute mkey can contain vkey, press, char or shift.
The vkey attribute determines which virtual key (see Window API documentation and here) to be simulated with the Tastentendruck.
By pressing one determines whether the button is pressed ("1"), released ("0") or press and release ("-1") (default) should be.
With the shift you can determine whether previously pressing the Shift key is to be simulated.
In most cases, however, the char attribute is sufficient, simply because the desired character is specified, then the entire necessary key press of the the corresponding button (including Shift, Ctrl and Alt) is simulated.

3.18 icon-Element
The icon element is optional (it is used for keyboards with customizable colors) and can be used to assign an icon image to a key or macro. The shape of the icon should match the shape of the key it is assigned to. More information can be found here.

<key sound="3" type="5">
<icon path="skins\provisio\lightweight_int_touchbrowser\up.png">
<rect x1="644" y1="151" x2="696" y2="201">
</icon>
<shape>
<rect x1="644" y1="151" x2="696" y2="201">
</shape>
</key>

path:
The path of the icon element determines the image for the icon. The image needs to be black and white. The background is black and the icon symbol white. The symbol will be painted with the color selected in the SiteKiosk configuration.
4. Tips
4.1 Virtual Keycodes
virtkeys.exe is a free downloadable tool. With this tool, you can easily find out the virtual key codes that you need to supply for an on-screen keyboard layout.
A glance at the most important key codes:

- ENTER = 13
- SHIFT LEFT= 16, 160
- ESC = 27
- SPACE= 32
- TAB = 9
- BACKSPACE= 8

4.2 Conversion of older keyboard layouts
Note: The tool mentioned here is not officially supported.
We offer a free conversion tool for download. With this program you can convert old .kbd files (SiteKiosk 4.8 and below) in the new .xml format. A reworking of the converted file is however necessary to ensure the full functionality with current versions of SiteKiosk.

See also

Manually Configurable Options
Language Files
SKSKIN File
Browser Layout
Start Page Layout
Remapping Keys

Back to top