Klasse: XWPKeyboard
Seit V0.9.3 erlaubt es &xwp;, bestimmten Tasten, die normalerweise nicht unter &os2; funktionieren, eine besondere Bedeutung zuzuweisen. Diese zus„tzlichen Tasten lassen sich dann auch als Objekt-Tastenkrzel verwenden. Damit dies funktioniert, mssen diese Tasten ber die Seite "Funktionstasten" des erweiterten "Tastatur"-Objekts registriert werden.

Auch diese Funktion wird ber den &xwp;-PM-Hook implementiert. Damit Sie verstehen, wie es funktioniert (und bevor Sie die Seite "Funktionstasten" verwenden), sollten Sie die folgenden Erl„uterungen nachvollziehen.

Die Verarbeitung von Tastatureingaben ist bei jedem Betriebssystem eine komplexe Angelegenheit. Sie umfaát die Interpretierung von Hardwarenachrichten und deren šbersetzung gem„á den aktuellen Spracheinstellungen.

Unter &os2; wird diese Verarbeitung auf mehreren Systemebenen durchgefhrt. Erstens w„re da der Tastatur-Hardwaretreiber, der in &cfgsys; ber eine BASEDEV-Anweisung geladen wird. Dieser reagiert auf Hardware-Interrupts, die von der physischen Hardware der Tastatur ausgel”st werden, und empf„ngt deshalb jeden einzelnen Tastendruck im System.

Der &os2;-Kernel verarbeitet dann diese Tastendrcke fr diejenige Anwendung, die momentan den Eingabefokus innehat. Die weitere Verarbeitung unterscheidet sich je nach Art der Anwendung. Presentation-Manager- (PM) Anwendungen (einschlieálich der Workplace Shell) empfangen gew”hnlich eine Nachricht, daá eine Taste gedrckt oder losgelassen worden ist. Der &xwp;-PM-Hook kann deshalb diese Nachrichten abfangen und sie manipulieren. (Auf diese Weise funktionieren brigens auch die Objekt-Tastenkrzel.)

Unglcklicherweise basiert die Standardverarbeitung der Tastatur unter &os2; immer noch auf den originalen, IBM-kompatiblen AT-Tastaturen mit 101/102-Tasten, die in den 1980ern eingefhrt wurden. Heutzutage besitzen viele Tastaturen zus„tzliche Tasten, die von &os2; berhaupt nicht erkannt werden oder einfach eine Zeichenausgabe produzieren, was eigentlich nicht geschehen sollte.

Bei diesen zus„tzlichen Funktionstasten handelt es sich beispielsweise um die drei "Windows"-Tasten, die man auf den meisten heute angebotenen Tastaturen vorfindet. Auáerdem gibt es noch einige erweiterte Tastaturen mit zus„tzlichen "Multimedia"-Tasten. Auch besitzen viele Laptops ein paar Tasten mehr.

Der &xwp;-PM-Hook kann herausfinden, welche physische Taste eigentlich bet„tigt wurde, indem er den Hardware-Scan-Code der Taste auswertet, der von der Hardware der Tastatur an alle PM-Anwendungen gereicht wird. Bei jeder Tastatur sollte jede Taste einen eindeutigen Code besitzen. Dieser Code hat nichts mit dem ASCII-Code eines Zeichens zu tun, es ist einfach eine eindeutige Nummer, die jeder physischen Taste der Tastatur zugewiesen wurde. Beispielsweise hat sowohl die "Umschalt"-Taste als auch die Taste "A" einen solchen Code, auch wenn die "Umschalt"-Taste allein keinen ASCII- (Zeichen-) Code erzeugt.

Deswegen muá der &xwp;-Hook den Hardware-Scan-Code Ihrer Funktionstasten kennen, um darauf reagieren zu k”nnen. Infolgedessen mssen Sie Ihre zus„tzlichen Tasten bei &xwp; registrieren. Diese Tasten werden dann zu "&xwp;-Funktionstasten" und werden von &xwp; erkannt. Sie k”nnen sie beispielsweise als Objekt-Tastenkrzel verwenden, nachdem Sie sie registriert haben.

Um eine solche Funktionstaste bei &xwp; zu registrieren, rufen Sie die neue Seite "Funktionstasten" des erweiterten Objekts "Tastatur" auf. Klicken Sie mit der rechten Maustaste auf den leeren Bereich im Container und w„hlen Sie "Neue Funktionstaste" aus. Weitere Informationen erhalten Sie durch Drcken von "Hilfe" auf jener Seite.

Warnungen.

  1. Es gibt praktisch keine šberprfung auf Fehler, wenn Sie eine Funktionstaste bei &xwp; registrieren. Scan-Codes sind hardwareabh„ngig, deswegen gibt es fr &xwp; keine M”glichkeit zu entscheiden, ob ein bestimmter Code nicht registriert werden sollte. Sie k”nnten beispielsweise die Eingabe- oder eine beliebige Zeichentaste als Funktionstaste anmelden, was wirklich keine gute Idee w„re. Registrieren Sie deshalb nur "echte" zus„tzliche Tasten bei &xwp; oder die Taste funktioniert eventuell nicht mehr.

  2. Einige Tasten werden sich nicht registrieren lassen. Falls dies geschieht, bedeutet es, daá die Hardware der Tastatur fr die Taste keinen Scancode produziert. Ich habe eine Fujitsu-Multimediatastatur mit ungef„hr 15 zus„tzlichen Tasten und drei von ihnen funktionieren einfach nicht. Ich denke, man br„uchte einen Ger„tetreiber, der eben diese drei Tasten interpretiert, aber das geht ber meinen Horizont.

  3. Wie gew”hnlich werden die Funktionstasten nur erkannt, w„hrend ein PM-Fenster den Fokus hat. Sie funktionieren nicht innerhalb von DOS- oder &winos2;-Vollbildschirmsitzungen.