Wird ein Nicht-Standard-Tastatur-Treiber verwendet, so muß er in der system.ini statt des Standard-Treibers angegeben werden. Dies wird meist im Rahmen einer Installationsprozedur automatisch und ohne Hinweis vorgenommen.
Der Standard-Eintrag sieht normalerweise so aus:
[boot]
...
keyboard.drv=keyboard.drv
....
Bei der Verwendung eines speziellen Windows-Tastaturtreibers, also mit einem anderen Eintrag als dem obigen, muß für Terms97801 eine entsprechende Tastaturtabelle verwendet werden, die den virtuellen Keycodes der zusätzlichen Tasten den richtigen 97801-Scancode zuordnet. Hierbei sollte beachtet werden, daß die Funktionstasten F13 - F22 von dem Treiber nicht unbedingt auf VK_F13 - VK_F22 abgebildet werden. In der Beispieltabelle pcto978.key finden sich die auskommentierten Einträge für den Treiber der trimodalen Tastatur.
Es ist auch möglich, die zusätzlichen Einträge der Tastaturtabelle über die interaktive Tastenprogrammierung zu erzeugen.
[Keyboard]
....
OEMtoVK=b22tovk.oem
...
Ist eine Umsetzungstabelle angegeben, erzeugt sich Terms97801 eigene virtuelle Keycodes. Die Umsetzungstabelle hat folgenden Aufbau:
<OEM-Scancode>:<virtueller keycode>
<OEM-Scancode>:<virtueller keycode>
....
Leerzeilen und Kommentare, die mit ';' beginnen, sind erlaubt.
In der Tabelle muß der OEM-Scancode für jede Taste als hexadezimaler Wert angegeben werden, gefolgt von einem Doppelpunkt und dem hexadezimalen Wert des zugeordneten virtuellen Keycodes.
Der Wert für den virtuellen Keycode liegt zwischen 00 und ff. Der Wert für den OEM-Scancode liegt zwischen 00 und 7f, mit eventuell vorangestellter 1 für die 'extended keys'.
Beispiel:
01:1b; Esc
02:31; 1
03:32; 2
04:33; 3
...
79:f1; del line
...
11c:0d; Eingabe Ziffernblock
....
135:6f; / Ziffernblock
Die 'extended keys' sind diejenigen Tasten, die zusätzlich über die Tasten des Ziffernblocks erreicht werden können. Zur Umschaltung der Bedeutung der Tasten des Ziffernblocks dient die NUMLOCK-Taste. Windows gibt je nach Zustand der NUMLOCK-Taste unterschiedliche virtuelle Keycodes ab. Diese Eigenschaft geht bei der Verwendung der OEM-Tabelle verloren; die Tastatur verhält sich in diesem Punkt wie eine echte 97801-Tastatur. Das Lämpchen zur Anzeige des Zustands der NUMLOCK-Taste wird von Terms97801 als Ch.-Code-Lämpchen verwendet.
Die Vergabe von virtuellen Keycodes ist prinzipiell beliebig, solange die Terms97801-Tastaturtabelle auf diese Codes abgestimmt ist. Durch die Tasteninfo-Funktion von Terms97801 sind die virtuellen Keycodes festgelegt. Die gilt auch für diejenigen virtuellen Keycodes, die neu vereinbart werden müssen, da sie durch Microsoft nicht definiert sind.
Eine Liste der virtuellen Keycodes befindet sich im Anhang A.2.
HINWEIS: Die Taste, die von Windows als VK_SNAPSHOT interpretiert wird macht ein paar Probleme. Diese Taste, auf der Standard-PC-Tastatur mit 'Druck/S-Abf' bezeichnet, hat die Windows-Funktion, den aktuellen Bildschirminhalt in die Zwischenablage zu kopieren. Außer der unangenehmen Eigenschaft den Inhalt der Zwischenablage zu verändern, hat diese Taste noch das Problem, vom System nicht an Programme, also auch Terms97801, weitergereicht zu werden. Genauer gesagt, das System gibt für diese Taste in Hoch- oder Strg-Kombination keine Nachricht an Programme, und in der Alt-Kombination und als normaler Tastendruck nur die Nachricht, daß die Taste losgelassen wurde.
Unangenehm an den trimodalen Tastaturen ist die Tatsache, daß bestimmte Funktionstasten (je nach Variante) von Windows als VK_SNAPSHOT interpretiert werden.
Während für alle anderen Tasten nur das Niederdrücken der Taste ausgewertet wird, wertet Terms97801 für diese Taste das Loslassen aus. Damit ist es möglich, auch diese Taste zu verwenden. Der aktuelle Inhalt der Zwischenablage wird aber durch diese Taste gelöscht.
Da dieses Utility alle Tasten anzeigen soll, ist jegliche Windows-Tastatur-Funktion abgeschaltet. Ohne Maus kann das Programm weder beendet werden, noch auf ein anderes Programm umgeschaltet werden.
Abb. 22: Tastatur-Utility TermsKey
Der OEM-Scancode ist Bestandteil des lParam-Parameters; der Einfachkeit halber wird der OEM-Scancode nochmals in einer eigenen Spalte angezeigt.
Eine OEM-Tabelle, die die Standardtastatur auf dieselben virtuellen Keycodes umsetzt wie der Standard-Tastaturtreiber, findet sich als pctovk.oem im Lieferumfang. Diese Tabelle kann als Ausgangsbasis für eigene Modifikationen genommen werden.
Diese Tasten können genau wie alle anderen Tasten unter Terms97801 programmiert und verwendet werden. Die Anwendungstaste ist dann ein guter Kandidat für die MENU-Taste des 97801-Terminals.