Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel
Diese Tasten verhalten sich im wesentlichen wie die anderen Tasten auf der Tastatur auch. Es existiert nur keine entsprechende Tabelle die diese Spezialtasten in die gewünschte Funktion `übersetzt'. Dabei gibt es im Linuxkernel sogar gleich zwei dieser Tabellen. Die erste Übersetzt den von der Tastatur generierten Scancode in einen sogenannten Keycode. Dieser wird über eine weitere, vom Benutzer ladbare und länderabhängige keymaps in die tatsächliche Tastenbelegung verwandelt.
Da die Spezialtasten unbekannte Scancodes erzeugen müssen Sie leider beide Tabellen verändern. Im folgenden aber eine Schritt für Schritt Anleitung.
Sie können das im folgende beschriebene Verfahren zur Zeit nur auf der Textconsole verwenden. Bedingt durch die spezielle Behandlung der Tastatur durch den X-Server werden diese Einstellungen leider nicht unter X übernommen.
Um die Zusatztasten auf der Console zu verwenden können Sie wie folgt vorgehen.
Finden Sie zuerst einmal heraus welche Spezialtaste welchen Scancode
erzeugt. Dies können Sie mit dem Kommando showkey -s
erledigen.
Betätigen Sie danach alle Spezialtasten die in der Regel einen mit 0xe0
beginnenden Code erzeugen den Sie sich am besten auf einem Zettel o.ä.
notieren. Dies kann dann zum Beispiel folgendermassen aussehen:
erde:~# showkey -s kb mode was XLATE press any key (program terminates 10s after last keypress)... 0x9c 0xe0 0x25 0xe0 0xa5 0xe0 0x26 0xe0 0xa6 0xe0 0x32 0xe0 0xb2
Um das Programm zu beenden müssen Sie einfach 10 Sekunden warten ohne in der Zwischenzeit eine Taste zu drücken. Im obigen Beispiel wurden 3 Spezialtasten gedrückt, jede Taste erzeugt einen 2 Byte Code beim Betätigen und beim wieder Loslassen, sie müssen sich nur den Wert der beim Herunterdrücken der Taste angezeigt wird notieren. Der allererste Wert der vom Programm angezeigt wird stammt übrigens vom Loslassen der Return Taste ...
Aus dem obigen Beispiel können Sie also die folgenden Codes entnehmen
0xe0 0x25 für die 1. TasteDies können Sie dann z.B. über ein Shellskript wie folgt einem sogenannten Keycode zuordnen. Keycodes zwischen 112 und 125 sind noch nicht durch andere Tasten belegt, daher stehen diese für die Zuordnung an Spezialtasten zu Ihrer freien Verfügung. Dies erreichen Sie mit folgenden Kommandos.
setkeycodes e025 112 setkeycodes e026 113 setkeycodes e032 114
Nun erzeugt der Kernel also die entsprechenden Keycodes beim
Betätigen der Spezialtasten, diesen müssen nun nur noch über die zweite
Tabelle entsprechenden Funktionen zugeordnet werden.
Dies erreichen Sie über die Tastaturtabelle die beim Booten über eines der
Startskripte zum einstellen der deutschen Tastaturbelegung automatisch
geladen wird. Sie finden die Tastaturtabelle für die deutsche Tastatur unter
dem Dateinamen
/usr/lib/kbd/keymaps/i386/qwertz/de-latin1-nodeadkeys.map.gz
.
Entpacken Sie die Datei mit dem Kommando gunzip
um Sie
verändern zu können. Beachten Sie bitte die man-page zu dem Kommando
loadkeys
und zur Datei keymaps
um spezielle
Funktionalität auf diese Tasten zu legen. In meinem Beispiel lege ich die
Tasten F13 - F15 auf diese Tasten und ordne einer Spezialtaste ein häufig
gebrauchtes Kommando zu. Hängen Sie hierzu an diese Tastaturtabelle
de-latin1-nodeadkeys.map
die folgenden Zeilen an.
keycode 112 = F13 keycode 113 = F14 keycode 114 = F15 string F13 = "ls\n"
Nach dem Laden der neuen Tastaturtabelle mit dem Kommando
loadkeys de-latin1-nodeadkeys.mapkönnen Sie durch den Druck auf die erste definierte Spezialtaste das Kommando
ls
aufrufen. So können Sie auch allen anderen Tasten
beliebige Tastenfunktionen (Die Sie der Manpage zu `keymaps' entnehmen
können) oder auch ganze Zeichenketten zuordnen, die Ihnen dann auf der
Konsole zur Verfügung stehen.
Stichwörter: TASTATUR, SPEZIELL, ZUSATZTASTEN, IBM, RAPID
Kategorien:
Dokumentation
Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel