Aus LinuxUser 06/2000

Windows-95-Tastaturen unter Linux voll ausnutzen

Von Qwertz und heißen Tasten

Die Windows-Tasten, mit denen die meisten Keyboards heutzutage ausgestattet sind, sind unter Linux nicht besonders nützlich. Das lässt sich zum Glück mit wenig Aufwand ändern. Sowohl unter KDE als auch auf der Konsole lassen sich diese Tasten mit Programmaufrufen oder Sonderfunktionen belegen.

Konsole

Kbd ist unter Linux für die Tastenbelegung zuständig. Die Einstellungen, welche Tasten mit welchen Funktionen verbunden werden, sind in einer „Keymap“ gespeichert. Diese Keymaps befinden sich für deutsche Tastaturen unter /usr/lib/kbd/keymaps/i386/qwertz/. Alle Keymaps haben die Endung .map.gz (bzw. .kmap.gz unter Red Hat Linux 6.x). Das „.gz“ zeigt an, dass die Maps mit gzip komprimiert sind.

Wenn man eine eigene Keymap erstellen möchte, braucht man nicht alle schon bestehenden Einstellungen noch einmal zu definieren, sondern kann diese einfach mit dem Befehl include aus einer anderen Keymap laden. Die Standard-Keymap für deutsche „qwertz“-Tastaturen ist de-latin1.map.gz; dementsprechend sollte die erste Zeile der neuen Keymap

include "de-latin1.map.gz"

lauten. Kbd arbeitet intern mit Keycodes, denen in der Keymap Funktionen zugewiesen werden. Den Keycode einer Taste kann man mit dem Befehl showkey herausfinden. Eine Liste aller Funktionen gibt dumpkeys -l aus. Die allgemeine Syntax, um einen Keycode mit einer Funktion zu verbinden, ist

keycode Nummer = Funktion

Wenn man per Tastendruck ein Programm starten will, muss man den entsprechenden Keycode erst einer ungenutzten Funktion wie F100 (Funktionstaste 100; F1 bis F12 sind die Funktionstasten auf der Tastatur) zuordnen und F100 dann wiederum mit der Zeichenkette „Programname\n“ verknüpfen. Das erledigt ein Eintrag der folgenden Form:

string Funktion = "Programmname\n"

Wenn man nun die Taste drückt, hat das die selbe Folge, als wenn man erst den Programmnamen und dann [Enter] eingegeben hätte.

Eine Keymap, die beide Fenster-Tasten mit startx und die Menü-Taste mit ls verknüpft, ist im Listing 1 abgedruckt. Die fertige Keymap muss man nur unter /usr/lib/kbd/keymaps/i386/qwertz/meine.map speichern und mit dem Aufruf

gzip /usr/lib/kbd/keymaps/i386/qwertz/meine.map

komprimieren.

Man kann die Keymap nun mit loadkeys meine.map laden. Damit beim nächsten Start aber nicht wieder die alten Einstellungen aktiviert werden, sollten die Änderungen an geeigneter Stelle vermerkt werden:

  • Bei SuSE Linux muss man die eigene Keymap in /etc/rc.config eintragen. Dazu muss man die Zeile KEYTABLE=“de-latin1.map.gz“ in KEYTABLE=“meine.map.gz“ ändern.
  • Unter Red Hat Linux verfährt man entsprechend mit der Datei /etc/sysconfig/keyboard.

Tabelle 1: Keycodes

Taste Konsolen-Keycode X-Keycode
linke Fenster-Taste 125 115
rechte Fenster-Taste 126 116
Menü-Taste 127 117

Listing 1

meine.map

include "de-latin1.map.gz"
keycode 125 = F100
keycode 126 = F100
keycode 127 = F101
string F100 = "startx\n"
string F101 = "ls\n"

X Window / KDE

Unter der grafischen Oberfläche X Window ist xmodmap für Keymaps verantwortlich. Man muss auch hier keine eigene Keymap erstellen, sondern kann in der Datei ~/.Xmodmap Änderungen angeben (die Tilde steht für das eigene Home-Verzeichnis /home/username/). Die Syntax ist dabei die selbe, lediglich die Keycodes sind anders (siehe Tabelle 1). Wie im ersten Beispiel weist man den Keycodes unbenutzte Funktionen zu: in diesem Fall von F28 bis F30.

Jetzt kann man mit einem Programm namens KHotKeys (Internet: http://dforce.sh.cvut.cz/~seli/en/khotkeys/) den Windows-Tasten Programmaufrufe zuordnen – dieses Programm ist z. B. bei SuSE Linux enthalten und lässt sich über das Kontrollzentrum konfigurieren. Damit KHotKeys immer gestartet wird, muss man eine Verknüpfung im Ordner Autostart mit dem Befehl

ln -s /opt/kde/bin/khotkeys ~/Desktop/Autostart/

oder via Drag & Drop anlegen.

LinuxUser 06/2000 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: