Home > Customization (Skins) > Tastaturlayout

Dokumentation zur Definitionsdatei für Tastaturlayouts

Die XML-Definitionsdatei für Bildschirmtastaturlayouts beschreibt die Tastenbereiche, die auf der Bildschirmtastatur gedrückt werden können und die Funktionen, die dann ausgeführt werden sollen.

Bitte beachten Sie:
Für die Erstellung eines eigenen Tastaturlayouts sind gewisse Grundkenntnisse notwendig. Aus verständlichen Gründen können wir Ihnen (ausser dieser ausführlichen Dokumentation) keinen Support bei der Erstellung eines eigenen Skins leisten
!
1. Hinweise zur Bildschirmauflösung
Die von uns zur Verfügung gestellten Tastaturlayouts sind für eine Bildschirmauflösung von 1600x1200 Pixel optimiert worden.

Sollten Sie eine andere Auflösung innerhalb von SiteKiosk verwenden, so rechnet SiteKiosk automatisch alle Werte in die entsprechende Auflösung um. D.h., die Hintergrundbilder der Tastatur und alle Positionierungswerte der einzelnen Tasten werden entsprechend runter- bzw. hochgerechnet, weshalb unsere Skins auch unter z.B. 800x600 einwandfrei funktionieren. Eine Tastatur wird unter normalen Umständen aber nicht größer als die Originalgröße des Tastaturbildes angezeigt, um eine unscharfe Anzeige zu verhindern.

Durch explizite Angabe des painting-Elements können Sie die Darstellung aber auch auf eine von Ihnen festgelegte Auflösung optimieren.

Der besseren Bildqualität wegen empfehlen wir Ihnen bei der Erstellung eines eigenen Tastaturlayouts von einer Auflösung von mindestens 1024x768 auszugehen, sofern Sie ein allgemein verwendbares Tastaturlayout planen. Wollen Sie ein für einen bestimmten Einsatz vorgesehenes Layout erstellen, sollten Sie dieses von Anfang an auf die eingesetzte Bildschirmauflösung abstimmen.

2. Genereller Aufbau der Definitionsdatei
Um die Zusammenhänge zu verstehen, ist es oft am einfachsten, die Datei eines fertigen Bildschirmtastaturlayouts unter die Lupe zu nehmen. Das Layout Standard Scroll Bars (english) ist eine recht einfach konzipierte Bildschirmtastatur. Laden Sie sich das Layout herunter und schauen Sie sich die Datei "standard_english_scroll.xml" im Verzeichnis ..\ SiteKiosk\skins\standard\englishscroll mit einem Editor (z.B. Notepad) genauer an.

Hier ein Auszug mit den wichtigsten Bereichen der Datei:

<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. Dokumentation zu den Elementen und Attributen
3.1 keydef-Element
Jedes Layout einer Tastatur gliedert sich in einen keydef(Tastendefinitions)-Abschnitt mit mehreren subkeydef-Abschnitten. Die subkeydef-Abschnitte beschreiben die Tasten bei verschiedenen möglichen Zuständen der Tastatur, z.B. ein- (small) oder ausgefahren (big).

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

name:
Einziges Attribut des keydef Abschnittes ist name, welches den Namen der Tastatur definiert. Der Inhalt dieses Attributes wird in der SiteKiosk Konfiguration angezeigt. Das Attribut name muss für jedes Layout eindeutig sein.
3.2 subkeydef-Element
Die subkeydef-Abschnitte beschreiben die Tasten bei verschiedenen möglichen Zuständen der Tastatur, z.B. ein- (small) oder ausgefahren (big).

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

name:
Das Attribut name legt einen eindeutigen Namen für das Sublayout fest. Dieser Name wird benötigt, wenn Sie Tasten einbauen, die Tastaturwechsel zur Laufzeit ermöglichen (z.B. bei mehrsprachigen Tastaturen, wie den TX-82 Ultra Universal Modellen), da in diesem Fall auf name referenziert wird.


type:
Das type-Attribut legt fest, ob die Tastaturdefinition für eine große (ausgefahrene) Tastatur (big) oder ein kleine (eingefahrene) Tastatur (small) designed ist. Dies dient vor allem dazu, dass SiteKiosk zur Laufzeit erkennen kann, ob sich die Tastatur schon in einem eingefahrenen Zustand befindet oder ob diese zu einem bestimmten Moment noch eingefahren werden muss, z.B. wenn ein neues Fenster geöffnet wird.
Das Umschalten von einer ausgefahrenen Tastatur auf eine eingefahrene oder andersherum kann nur dann automatisch geschehen, wenn eine Taste des Typs "2" (Toggle-Taste, siehe hier) zur Verfügung steht. Bei einem automatischen Umschalten werden alle Einträge vom Typ "2" durchgegangen und das erste gefundene Layout wird gewählt.
Wichtig: Die Tastendefinition muss für small und big jeweils komplett angegeben werden, d.h. einige Tasten, die im small wie auch im big Zustand sichtbar sind, müssen zweimal definiert werden.


language:
Das Attribut language legt fest, für welche Sprache das aktuelle Layout definiert worden ist. Dies ist bei einer automatischen Sprachänderung wichtig, um zu erkennen, ob das gewünschte Layout eventuell schon die richtige Spracheinstellung besitzt. Nutzen Sie die 0, wenn Sie ein Keyboard erstellen wollen, das zwischen allen unter Windows konfigurierten Tastatursprachen wechseln kann. Geben Sie ansonsten die ID der gewünschten Sprache an.


docked:
Das docked Attribut legt fest, ob die Tastatur gedockt werden soll. Das heißt im Gegensatz zur FLOATING-Tastatur verkleinert SiteKiosk das Browserfenster bei einer gedockten Tastatur so, dass entweder die gesamte Tastatur außerhalb des Browserbereiches liegt oder der nicht unter dockrect festgelegte Bereich den Browser noch überlappt.
Mit einer DOCKED Tastatur ist sichergestellt, dass die Tastatur nicht das Browserfenster überdeckt. Eine FLOATING Tastatur liegt im Gegensatz hierzu auf dem Browser und überdeckt diesen teilweise.
-1 heißt die Tastatur ist gedockt, 0 heißt sie ist nicht gedockt.

forcewinkeyboard:
Das Attribut forcewinkeyboard ist obsolet.
3.3 dockrect-Element
Wenn eine Tastatur gedockt ist, legt das dockrect fest, welcher Bereich des Keyboards in das Browserfenster hineinragen darf. Dieser Bereich ist gleichzeitig der sichtbare Teil der eingefahrenen Tastatur. Dort werden in der Regel Buttons wie "Tastatur (aus-/einfahren)" und Scroll-Buttons untergebracht. Im Beispielcode ist die Tastur 1024 Pixel breit und die oberen 58 Pixel überlappen den Browser.
Sollte das dockrect fehlen, so wird der Browser soweit verkleinert, dass die Tastatur nicht den Browser überlappt.

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

Die Attribute von dockrect sind die Koordinaten für die Abmessungen des Bereichs. Diese Werte sind auch maßgeblich für die Zentrierung der Tastatur. Es wird immer versucht, die Tastatur so zu schieben, dass der dockrect-Bereich zentriert in der Mitte des Bildschirms liegt.

x1 und y1:
Koordinaten für die obere linke Ecke des dockrect-Bereichs.

x2 und y2:
Koordinaten für die untere rechte Ecke des dockrect-Bereichs.

3.4 dockbackground-Element
Dieses Element legt fest, wie der Hintergrund der Tastatur im gedockten Status aussehen soll. Hier kann man eine Farbe oder ein Bild festlegen.

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

type:
Wenn type den Wert "1" hat, dann wird für das Attribut color eine Dezimalzahl erwartet, die die Hintergrundfarbe bestimmt.
Wenn type den Wert "2" hat, dann muss für das Attribut filename eine Datei angegeben werden. Aus dieser wird der Hintergrund gekachelt aufgebaut.

color:
Wenn type den Wert "1" hat, dann wird für das Attribut color eine Dezimalzahl erwartet, die die Hintergrundfarbe bestimmt. Nutzen Sie entweder color oder filename.

filename:
Wenn type den Wert "2" hat, dann muss für das Attribut filename eine Datei angegeben werden. Aus dieser wird der Hintergrund gekachelt aufgebaut. Nutzen Sie entweder color oder filename.
3.5 painting-Element
Dieses Element kann an zwei unterschiedlichen Stellen in der Keyboard-Definition gefunden werden. Es kann ein direktes Unterelement vom keydef- oder vom subkeydef-Element sein.
Als Unterlement des keydef-Elements wird es dazu verwendet, die Standardfarbwerte eines Keyboards festzulegen, das in der Konfiguration von SiteKiosk mit editierbaren Farben belegt werden kann. Das ist z.B. das TouchBrowser Tastaturdesign. Die Werte können bei den Standardeinstellungen belassen werden, da Sie beim Start von SiteKiosk mit den Werten, die in der SiteKiosk Konfiguration gewählt wurden, überschrieben werden. Aus diesem Grund werden Sie in diesem Dokument nicht weiterführend erklärt.

<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>
Beispiel: Painting-Bereich des keydef-Elements.

Das painting-Element als Unterelement von subkeydef ist u.a. erforderlich, wenn Sie eine Tastatur erstellen wollen, die automatisch zwischen allen unter Windows konfigurierten Sprachen umschalten kann. Die Bilddateien für das Keyboard enthalten dann keine Buchstaben, diese werden passend zur Sprache mit den hier angegeben Werten zu Farbe (gedrückter und ungedrückter Zustand), Schriftart usw. gezeichnet.

<painting color-up="0" color-down="16777215" font-family="Tahoma" font-weight="600" font-size="-22"/>
Beispiel: Teilbereich der Datei natural.xml. Ein sprachunabhängiges Tastaturlayout.

color-up:
Schriftfarbe der Tastenbeschriftung bei nicht gedrückter Taste.

color-down:
Schriftfarbe der Tastenbeschriftung bei gedrückter Taste.

font-family:
Schriftart der Tastenbeschriftung.

font-weight:
Schriftgewicht (Dicke und Stärke) der Tastenbeschriftung.

font-size:
Schriftgröße der Tastenbeschriftung.

Weitere mögliche Attribute sind resolution-x und resolution-y. Damit kann die Bildschirmauflösung angegeben werden, an der die Tastatur angepasst werden soll. Werden die Werte nicht angegeben, arbeitet SiteKiosk mit 1600x1200. Bei größeren oder kleineren Auflösungen wird entsprechend skaliert.

<painting resolution-x="1024" resolution-y="768"/>
Beispiel: Angaben für eine Tastatur, die an eine Bildschirmauflösung von 1024x768 angepasst werden soll.

resolution-x:
Breite der Bildschirmauflösung in Pixeln.

resolution-y:
Höhe der Bildschirmauflösung in Pixeln.
3.6 languageselector-Element
Dieses Element ist nur erforderlich, wenn Sie eine Tastatur erstellen wollen, die automatisch zwischen allen unter Windows konfigurierten Sprachen umschalten kann. Dieses Element stellt die zur Verfügung stehenden Sprachen zur Auswahl und kann über den Key Type 19 aus- und eingeklappt werden. Das nachfolgende Codebeispiel enthält optionale image-Elemente, wenn diese nicht angegeben werden, wird die Sprache nur mit einem Text beschrieben. imagerect und textrect definieren die Position für den Bild- und Textbereich des Elements.

<languageselector font-family="Arial" font-weight="600" font-size="-12" check-image="skins\provisio\languages\check.ico">
     ...
</languageselector>
Beispiel: Teilbereich der Datei natural.xml. Ein sprachunabhängiges Tastaturlayout.

font-family:
Schriftart innerhalb des Sprachauswahlbereichs.

font-weight:
Schriftgewicht (Dicke und Stärke) innerhalb des Sprachauswahlbereichs.

font-size:
Schriftgröße innerhalb des Sprachauswahlbereichs.

check-image:
Bild mit dem Icon, welches die gewählte Sprache markiert.

menu-align:
Positionierung der Sprachauswahl. Optionale Angabe eines Dezimalwerts. 32 (Defaultwert) bedeutet linke obere Ecke der Tastatur.
Der Dezimalwert ergibt sich aus der Addition verschiedener Hexwerte, deren Ergebnis in einen Dezimalwert umgerechnet wird.

0x00
 Positionierung relativ zum Tasturbereich
0x01  Positionierung relativ zum Sprachauswahlbutton auf der Tastatur
 
0x00  Positionierung linksbündig
0x40  Positionierung mittig (X-Achse)
0x80  Positionierung rechtsbündig
   
0x00  Positionierung am unteren Rand
0x10  Positionierung mittig (Y-Achse)
0x20  Positionierung am oberen Rand

Beispiel: Die Positionierung soll am oberen rechten Rand des Sprachauswahlbuttons der Tastatur ausgerichtet sein. Daraus ergibt sich 0x01 + 0x80 + 0x20 = A1. Der Dezimalwert, der zu verwenden ist, ist folglich 161.


Folgende Parameter sind innerhalb von languageselector verfügbar:

<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:
Definiert die Position für den Bildbereich des languageselector-Elements.

textrect:
Definiert die Position für den Textbereich des languageselector-Elements.

image:
Gibt den Pfad zu einer Bilddatei an, die die unter id gesetzte Sprache symbolisiert, z.B. eine Landesflagge.
3.7 hotspot-Element

Hiermit legt man einen Punkt fest, der bei einem Tastaturwechsel an der gleichen Stelle des Bildschirms liegen soll. Wenn man also zwischen zwei ähnlichen Tastaturen wechselt, wird so eine versetzte Darstellung der Tastaturen vermieden. Sollte das hotspot-Element nicht mit angegeben werden, wird automatisch der Punkt (x=0, y=0) als hotspot definiert.
Gedockte Tastaturen, die zentriert dargestellt werden, werden von dem hotspot-Element nicht beeinflusst.

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

x und y:
Gibt die Koordinaten für den Hotspot an.
3.8 shape-Element
Ein shape-Element gibt den Umriss für ein gesamtes Tastatur-Layout (Beispiel 1) oder für eine einzelne Taste (Beispiel 2) vor.

<shape>
         <rect x1="0" y1="0" x2="1024" y2="58"/>
</shape>
Beispiel1: Definiert, dass das Tastatur-Layout 1024 Pixel breit ist und 58 Pixel vom oberen Rand der Grafik bei eingefahrener Tastatur sichtbar sind.


<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>
Beispiel 2: Definition der Taste "Nach oben scrollen" (Type5). Auf dem Tastatur-Layout wird die Form (hier ein Polygon aus 5 Punkten), Position und Größe der Taste durch die 5 Koordinatenwerte bestimmt. Bei Klick/Druck wird die Sounddatei mit der ID 5 abgespielt und die Funktion "Nach oben Scrollen" ausgeführt.

mode:
shape
selbst hat das optionale Attribut mode, das festlegt, wie die einzelnen Unter- oder auch child-Elemente zusammengesetzt werden, um die endgültige Form zu bestimmen. Als mode können folgende Werte gewählt werden: "or" (default), "and", "xor" und "diff". Jedes einzelne child-Element kann wiederum ein mode-Attribut besitzen, der das mode-Attribut des Parent-Elements shape überschreibt. Die child-Elemente werden von oben nach unten zu einem Gesamttastaturlayout zusammengefügt.

3.9 Festlegen der Tastenbereiche
Mit Hilfe verschiedener geometrischer Elemente können Sie Bereiche auf der Tastatur festlegen, auf die gedrückt bzw. geklickt werden kann.

<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>
Beispiel Polygon: Ein Polygon kann aus beliebig vielen Punkten (hier 5) bestehen, die miteinander verbunden sind.

Die folgenden geometrischen Formen sind verfügbar:

rect:
Mit rect legt man ein Rechteck fest. Die Attribute sind "x1", "y1" für den oberen linken punkt und "x2", "y2" für den unteren rechten Punkt.


ellipse:
Mit ellipse legt man einen elliptische Bereich fest. Die Ellipse wird durch ein Rechteck beschrieben, welche die Ellipse in vier Punkten von innen berührt. Auch hier sind die Attribute die Koordinaten "x1", "y1" und "x2", "y2".


roundrect:
Hiermit kann man ein abgerundetes Rechteck angeben. Zusätzlich zu den Attributen für die Rechteck-Koordinaten ("x1", "y1" und "x2", "y2") kann man mit den Attributen widthellipse und heightellipse bestimmen, wie stark das Rechteck an seinen Ecken abgerundet sein soll.


polygon:
Ein Polygon definiert einen Bereich aus mehreren Punkten. Das Polygon kann mit zwei unterschiedlichen polymode-Attributen gebildet werden. Wenn der polymode "winding" ist (default), dann werden alle Regionen gefüllt, die einen winding-Wert ungleich Null haben. Sollte der polymode "alternate" sein, dann werden die Regionen zwischen ungraden und geraden Polygonseiten gefüllt.
Im Gegensatz zu den anderen geometrischen Formen hat polygon ein Unterlement. Mit Hilfe von point werden die einzelnen Punkte aus denen das Polygon zusammengesetzt ist über die Koordinaten-Attribute x und y festgelegt.


3.10
nondragarea
-Element
Hier wird optional ein Bereich festgelegt, in dem der User nicht die Möglichkeit hat durch Draggen (Tastatur mit dem Finger oder der Maus bewegen) die Tastatur zu verschieben. Das Element nondragarea ist genauso wie das Element shape aufgebaut.

3.11 language-Element
Hinweis: Dieses Element ist nicht erforderlich, wenn Sie eine Tastatur erstellen wollen, die automatisch zwischen allen unter Windows konfigurierten Sprachen umschalten kann. Nutzen Sie dann bitte das languageselector-Element.
Mit dem optionalen language-Element können Tastatur-Layouts mit verschiedenen fest definierten Sprachlayouts ermöglicht werden. Wenn also ein automatischer Sprachwechsel stattfindet, so werden in der aktuellen Tastaturdefinition alle language-Elemente durchsucht und das erste Layout, dass mit dem Sprach-Code ("ID") der neu gewählten Sprache übereinstimmt, geladen.

<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>
Beispiel: Teilbereich der Datei tx82_ultra_universal_floating.xml. Ein dreisprachiges Tastaturlayout (Deutsch, Englisch, Französisch).

target:
Das zu ladende Tastatur-Layout wird in target angegeben.Target steht hier für das name-Attribut des subkeydef-Elements.

id:
Das id-Attribut gibt die Sprache an, deren Layout unter target geladen wird.

Die language IDs sind wie folgt:

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
Mit dem jpeg-Element gibt man die beiden Tastaturbilder an, die für nicht gedrückte Tasten (type="normal") und die für gedrückte Tasten (type="pressed") geladen werden sollen.
Das Bild für type="normal" wird dem Benutzer komplett angezeigt. Vom Bild für type="pressed" wird nur der Ausschnitt der Taste angezeigt, die gedrückt wurde. Dieser Ausschnitt wird durch den Tastenbereich festgelegt.
Die Angabe beider Bilder ist für eine funktionierende Bildschirmtastatur notwendig.

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

Beachten Sie bitte, dass es einen dritten Typ gibt, der mask heißt und für Tastaturen mit änderbaren Farben verwendet wird. Die Farben sind in der Konfiguration von SiteKiosk einstellbar. Ein Beispiel wäre die TouchBrowser Tastatur.

<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:
Entweder normal, für nicht gedrückte Tasten, oder pressed, für gedrückte Tasten. Der Typ mask ist optional und wird für Tastaturen mit änderbaren Farben genutzt. Er bezieht sich auf ein Schwarz-Weiß-Bild, Schwarz für die Tastatur und Weiß für die Tasten. Wenn mask genutzt wird, ist die Verwendung von normal und pressed optional und bezieht sich dann auf Bilder mit Graustufen und Alphakanal (tga format).
3.13 sound-Element
Zwischen dem öffnenden <sound> und schließenden </sound> wird der Pfad für die zu spielende Sounddatei angegeben. Geben Sie so viele sound-Elemente an, wie Sie benötigen. Sorgen Sie aber bitte für unterschiedliche id-Attribute.

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

id:
Mit der id des sound-Elements wird bestimmt, wann der Sound gespielt wird. Im key- oder macro-Element weist man dem Attribut sound das zum dem gewünschte Klang gehörende sound-Element zu.
3.14 nonshiftkeys-Element
Im nonshiftkeys-Element legt man alle Tasten fest, welche auf der normalen Tastatur ohne Drücken der Shift-Taste erzeugt werden können. Dazu gehören zum Beispiel Tasten wie "a", "b", "+", "-", "." oder "," genauso wie Tasten für das Umschalten des Tastaturlayouts, Scroll-Tasten usw.

<nonshiftkeys>
     ...
</nonshiftkeys>

Die Tasten werden mit Hilfe von key-Elementen definiert.


3.15 keyswithoutshift-Element und keyswithshift-Element
Hier kann man bestimmen, welche Tasten bei nicht gedrückter Shift-Taste (keyswithoutshift) oder bei gedrückter Shift-Taste (keyswithshift) simuliert werden sollen. Als child-Elemente sind hier nur key-Elemente vorgesehen, wie unter KEY und SHAPE beschrieben.

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

Die Tasten innerhalb der jeweiligen keyswithoutshift- und keyswithshift-Bereiche werden mit Hilfe von key-Elementen definiert.

3.16 key-Element
Das key-Element hat verschiedene Attribute. Es müssen nicht alle angegeben werden. Informationen zu den shape-Angaben finden Sie hier.

<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>
Beispiel 2: Definition der Taste "Nach oben scrollen" (Type 5). Auf dem Tastatur-Layout wird die Form (hier ein Polygon aus 5 Punkten), Position und Größe der Taste durch die 5 Koordinatenwerte bestimmt. Bei Klick/Druck wird die Sounddatei mit der ID 5 abgespielt und die Funktion "Nach oben Scrollen" ausgeführt.

sound:
Das sound-Attribut gibt an, welcher Sound bei Betätigung einer Taste abgespielt werden soll. Hier wird die entsprechende Sound-ID angegeben.

vkey:
Mit dem Attribut vkey kann festgelegt werden, welche virtuelle Taste mit dem Tastendruck simuliert werden soll. Lesen Sie dazu bitte auch diesen Hinweis und die Window-API Dokumentation.

scancode:
Mit dem Attribut scancode kann alternativ ebenfalls festgelegt werden, welcher virtuelle Key mit dem Tastendruck simuliert werden soll. Lesen Sie dazu bitte auch die Window-API Dokumentation.

shift:
Mit shift legt man fest, ob zuvor noch das Drücken der Shift-Taste simuliert werden soll.

language:
Dieses Attribut findet nur Verwendung bei der Taste, die das languageselector-Element aufruft (Type 19). Als Wert wird hier zur Zeit nur -1 akzeptiert.

char:
In den meisten Fällen wird allerdings das Attribut char ausreichen, denn hier wird einfach das gewünschte Zeichen angegeben, dann wird der komplette notwendige Tastendruck der entsprechenden Tasten (inklusive Shift, Strg und Alt) simuliert.

target:
In target kann einer Taste eine URL oder ein bestimmtes Tastaturlayout zugewiesen werden. Das gewünschte Ziel wird dann beim Tastendruck angezeigt. Um ein Tastaturlayout anzusteuern, trägt man hier den unter subkeydef festgelegten Namen der Tastatur ein.

type:
Das Element key kann verschiedene type-Attribute haben, die den jeweiligen Tastentyp festlegen.
  1. Type 0:
    Dieser Typ steht für eine normale Taste. Hier wird die zu drückende Taste genauso wie bei dem mkey-Element zusammengesetzt und simuliert.
  2. Type 1:
    Diese Taste ist die Feststelltaste (Capslock) und schaltet den internen Shift-Status in SiteKiosk um. Wenn der interne Status auf "Shift" steht, dann werden bei einem Klick auf die Tastatur alle keyswhithshift überprüft und entsprechend ein Tastendruck simuliert. Wenn der interne Status nicht "Shift" ist, dann werden die Tasten, die in nonshiftkeys und in keyswithoutshift definiert sind, überprüft. Beachten Sie, dass type="1" immer mit vkey="16" kombiniert werden muss, um die Feststelltaste zu simulieren.
  3. Type 2:
    Diese Taste ist dafür da, um die Größe der Tastatur zu verändern. Diese Taste sollte nur einmal vorkommen und statt einer Tastatur die "big" ist eine laden, die "small" ist, oder umgekehrt. Das zu ladene Layout ist im Attribut target definiert. Zum Wechsel zwischen Sprachen, oder zum generellen Wechsel des Layoutes ist der Typ 17 zu verwenden.
  4. Type 3:
    Diese Taste simuliert ein Scrollen des Inhaltes aller Frames nach links.
  5. Type 4:
    Diese Taste simuliert ein Scrollen des Inhaltes aller Frames nach rechts.
  6. Type 5:
    Diese Taste simuliert ein Scrollen des Inhaltes aller Frames nach oben.
  7. Type 6:
    Diese Taste simuliert ein Scrollen des Inhaltes aller Frames nach unten.
  8. Type 7:
    Dieser Typ darf nicht benutzt werden (reserved).
  9. Type 8:
    Diese Taste simuliert einen Klick auf den Back-Button.
  10. Type 9:
    Diese Taste simuliert einen Klick auf den Forward-Button.
  11. Type 10:
    Diese Taste simuliert einen Klick auf den Stop-Button.
  12. Type 11:
    Diese Taste simuliert einen Klick auf den Refresh-Button.
  13. Type 12:
    Diese Taste simuliert einen Klick auf den Startpage-Button bzw. Home-Button.
  14. Type 13:
    Diese Taste simuliert einen Klick auf den Druck-Button.
  15. Type 14:
    Diese Taste simuliert einen Klick auf den Suchen-Button.
  16. Type 15:
    Dieser Typ darf nicht benutzt werden (reserved).
  17. Type 16:
    Dieser Typ führt eine Browser-Navigation auf die die im Attribut target angegebene URL aus.
  18. Type 17:
    Dieser Typ wechselt das Bildschirmtastaturlayout auf das in target angegebene Layout.
  19. Type 18:
    Dieser Typ darf nicht benutzt werden (reserved).
  20. Type 19:
    Dieser Typ ist für die Sprachauswahl, wenn Sie eine Tastatur erstellen wollen, die dynamisch zwischen den unter Windows konfigurierten Tastatursprachen wechseln kann, und wird immer mit language="-1" beim language-Attribut des key-Elements kombiniert. Andere language-Werte sind zur Zeit nicht möglich. Das language-Attribut von subkeydef muss zudem auf 0 gesetzt werden bei einem dynamisch an die Windows Tastaursprachen angepassten Browserlayout.
  21. Type 20:
    Dieser Typ simuliert Alt Gr.
  22. Type 21:
    Dieser Typ simuliert die Umschalttaste (Shift).
  23. Type 22:
    Dieser Typ simuliert die Strg-Taste.
Hinweis: Um mit Hilfe des char-Attributes Sonderzeichen auszugeben, müssen Unicodes verwendet werden. Beachten Sie, dass nur Zeichen verwendet werden können, die auch auf dem offiziellen Tastatur-Layout der gewählten Sprache vorkommen.

<key sound="0" type="0" char="="& #8364;">
         <shape>
                  <rect x1="644" y1="151" x2="696" y2="201">
         </shape>
</key>
Beispiel: Definiert eine Taste die das Zeichen"€" ausgibt.

3.17
macro-Element

Mit diesem Element können Sie Makros erzeugen, das bedeutet, dass durch Drücken einer einzelnen Taste automatisch mehrere Einzeltasten-Aktionen simuliert werden.

<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>
Beispiel: Dieses Makro schreibt bei Aktivierung den Emoticon ";-)".

sound:
Ein Makro-Element hat als Attribut sound, welches den unter einem sound-Element festgelegten ID-Wert für die gewünschte Sound-Datei zugewiesen bekommt.

Weiterhin enthält das macro-Element ein Subelement shape, welches die Koordinaten für den Bereich bestimmt, in dem ein Tastendruck für diese Taste registriert werden soll. Das shape-Element wird hier beschrieben.

Ein Makro enthält als child-Element beliebig viele mkey-Elemente. Diese definieren die Einzeltasten, aus denen ein Makro besteht.

<mkey char=")"/>

mkey:
mkey kann als Attribut vkey, press, char oder shift enthalten.
Das vkey-Attribut legt fest, welcher virtuelle Key (siehe Window-API Dokumentation und hier) mit dem Tastentendruck simuliert werden soll.
Mit press legt man fest, ob die Taste gedrückt ("1"), losgelassen ("0") oder gedrückt und losgelassen ("-1") (default) werden soll.
Mit shift legt man fest, ob zuvor noch das Drücken der Shift-Taste simuliert werden soll.
In den meisten Fällen wird allerdings das Attribut char ausreichen, denn hier wird einfach das gewünschte Zeichen angegeben, dann wird der komplette notwendige Tastendruck der entsprechenden Tasten (inklusive shift, Strg und Alt) simuliert.
3.18 icon-Element
Das icon-Element is optional (es kommt bei Tastaturen mit anpassbaren Farben zum Einsatz) und kann dafür verwendet werden einer Taste/Makro ein Icon-Bild zuzuweisen. Die Form sollte der Form des Tasten-Elements entsprechen. Weitere Informationen finden Sie hier.

<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:
Mit path geben Sie den Pfad zum Bild für das Icon an. Bei dem Bild muss es sich um ein Schwarz-Weiß-Bild handeln, der Hintergrund ist schwarz, das Iconsymbol weiß. Das Symbol wird dann mit der in der Konfiguration von SiteKiosk gewählten Farbe dargestellt.

4. Hinweise und Tipps

4.1 Virtual Keycodes
Kostenlos herunterladbar ist das Tool virtkeys.exe. Mit diesem Tool können Sie spielend die Virtual Keycodes herausfinden, die Sie zum Teil für ein eigenes Bildschirmtastaturlayout benötigen.

Die wichtigsten Virtual Keycodes auf einen Blick:
  • ENTER = 13
  • SHIFT LEFT= 16, 160
  • ESC = 27
  • SPACE= 32
  • TAB = 9
  • BACKSPACE= 8
4.2 Konvertierung älterer Tastaturlayouts
Hinweis: Das hier erwähnte Tool wird nicht mehr offiziell unterstützt.
Wir bieten ein kostenloses Konvertierungstool zum Download an. Mit dem Programm können Sie alte .kbd Files (bis SiteKiosk 4.8) in das neue .xml-Format umwandeln. Eine Nachbearbeitung der umgewandelten Datei ist allerdings notwendig, um die vollwertige Funktionalität mit aktuellen Versionen von SiteKiosk zu gewährleisten.

Siehe auch



Nach oben