Home / LinuxUser / 2002 / 06 / The Answer Girl

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(229 Punkte bei 11 Stimmen)
Pardus Linux am Ende?
(201 Punkte bei 6 Stimmen)
Meinst Du: Patch CD Updates?
(179 Punkte bei 5 Stimmen)
One goes, one comes
(161 Punkte bei 4 Stimmen)
Speichern in der Cloud
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Tasten-Wirbel

The Answer Girl

01.06.2002 Nervt die CapsLock-Taste? Suchen Sie einen sinnvollen Verwendungzweck für die Windows-Tasten? Alles eine Frage der Definition …

The Answer Girl

Dass der Computeralltag auch unter Linux des Öfteren für Überraschungen gut ist, ist eher eine Binsenweisheit: Immer wieder funktionieren Dinge nicht oder nicht so, wie eigentlich angenommen. Das Answer-Girl im LinuxUser zeigt, wie man mit solchen Problemchen elegant fertig wird.

Ein neuer Arbeitsplatz, ein neuer Rechner oder ein Keyboard, das nach langen, treuen Jahren der Zusammenarbeit den Weg alles Irdischen ging – irgendwann kommt jede/r mal in die Verlegenheit, sich mit einer neuen Tastatur anfreunden zu müssen, die heutzutage ganz sicher mit Windows-Tasten aufwartet. Selbst wenn man die gegen Pinguin-Tasten austauscht, so ändert das noch nichts an ihrer – je nach Distribution – (Nicht-)Funktion.

Mag eine unbenutzt vor sich hindämmernde Windows-Taste noch so unschön sein – richtig nervig ist oft die [CapsLock]-Taste, mit deren Hilfe man immer wieder mal aus Versehen das arme Rechnerlein anschreit.

Warum also nicht dem Quälgeist eine vernünftige Funktion geben? Sinnvoll wäre zum Beispiel, ihn zu einer zweiten linken [Umschalt]-([Shift]-)Taste umzufunktionieren, an deren Stelle er so oft aus Versehen gedrückt wird. Manche Leute tauschen einfach die Funktionen von [CapsLock] und der linken [Strg]-Taste. Auch einer individuellen Lösung steht wenig entgegen – zunächst einmal nur die Frage, wie das eigentlich geht.

Leider nicht mit einer einzigen Änderung, denn die beiden Benutzer-Schnittstellen unter Linux, die Textkonsole und das grafische X-Window-System, kümmern sich separat um die Tastenbelegung. Wer schon einmal eine Distribution installiert hat, bei der er/sie sich selbst um eine deutsche Tastenbelegung kümmern musste [1] oder Umlaute nachrüsten wollte [2], ahnt bereits, dass man dazu an separaten Rädchen drehen muss.

Tastenbelegung ohne X

Dass auch eine deutsche Tastatur mit einer amerikanischen Belegung arbeiten kann, weiß jede/r, die/der im BIOS-Menü ein y für "yes" eingeben wollte und mit der passenden Taste eines deutschen Keyboards ein z produzierte. Erst beim Hochfahren lädt das System die deutsche Tastenbelegung. Dazu muss es einen Befehl geben, und der sollte der Schlüssel zum Problem sein. Ihn im Alleingang zu finden, gibt es (mindestens) drei Möglichkeiten: * Die Lieblingssuchmaschine mit passenden Stichwörtern wie Tastaturbelegung, keytable und Linux zu füttern. * Die Boot-Skripte im init.d-Verzeichnis (meist /etc/rc.d/init.d oder /etc/init.d) nach einem Befehl zu durchsuchen, der vermutlich irgendwas mit key heißt. * In der whatis-Datenbank des eigenen Systems nach diesem Befehl zu fahnden.

Die erste Möglichkeit überlasse ich Ihren persönlichen Präferenzen; ob man mit der zweiten Erfolg hat, hängt stark von der verwendeten Distribution ab: Bei SuSE (als Beispiel dient 7.2) mit ihrer Vorliebe für möglichst komplexe, für Normal-Benutzer nahezu undurchschaubare Skripte kommt man zwar mit

trish@linux:~ > grep keys /etc/init.d/*[…]

/etc/init.d/kbd:        rc_status && retmsg="`loadkeys $KEYMAP 2>&1`"[…]

recht schnell zu der Ansicht, dass die Datei /etc/init.d/kbd (wie "keyboard") für's Laden der richtigen Tastaturtabelle verantwortlich ist, doch wer einen Blick in dieses Skript wirft und nicht bereits weiß, wonach er/sie sucht, wird sich vermutlich etwas verlassen vorkommen. Das Suchergebnis bei Debian (/etc/init.d/keymap.sh), Red Hat (/etc/init.d/keytable) oder Caldera OpenLinux (/etc/rc.d/init.d/keytable) ist wesentlich übersichtlicher und legt das Ergebnis nahe, dass loadkeys der gesuchte Befehl ist.

Die Suche in der whatis-Datenbank mit dem Befehl apropos oder

trish@linux:~ > man -k keys
loadkeys (1)         - load keyboard translation tables

und ein anschließender Blick in die entsprechende Manpage bestätigen den Verdacht: Mit diesem Kommando lässt sich die Tastaturbelegung auf der Konsole ändern. Die Belegung wiederum ist in sogenannten Map-Dateien unterhalb von /usr/lib/kbd/keymaps (SuSE, Red Hat), /usr/share/keymaps (Debian) oder /usr/share/kbd/keymaps (Caldera) zu finden. Allerdings nicht in genau diesem Unterverzeichnis, sondern fein säuberlich sortiert nach Rechner-Architektur (i386, sun, mac etc.) und Keyboard-Layout (qwerty, qwertz usw.).

Die darin liegenden Map-Dateien (z. B. i386/qwertz/de-latin1.map.gz) lassen sich als mit gzip gepackte Textdateien beispielsweise mit dem Befehl zless anschauen (Listing 1 zeigt einen Ausschnitt).

Listing 1

Ausschnitt aus

de-latin1.map
# de-latin1.map: German keymap
[…]
include "qwertz-layout"
[…]
#            Normal    Shift   AltGr      Strg
keycode  1 = Escape    Escape
[…]
keycode 54 = Shift
keycode 56 = Alt
keycode 57 = space     space   Meta_space nul
keycode 58 = Caps_Lock
keycode 86 = less      greater bar
keycode 97 = Control

Wie so oft, leitet ein #-Zeichen am Anfang der Zeile einen Kommentar ein, der keine Auswirkung auf die Funktionalität hat. Interessant ist die Zeile include "qwertz-layout" – statt wirklich alles selbst zu definieren, kann man also auch bereits vordefinierte Keymaps einbinden. Bei den einzelnen Tastenbelegungsdefinitionen steht auf der linken Seite des Gleichheitszeichens ein sogenannter Keycode, rechts davon werden bis zu vier Funktionswerte definiert: einer für den einfachen Druck der jeweiligen Taste, einer für den Tastendruck bei gleichzeitig niedergehaltener [Umschalt]-Taste, ein dritter bei gleichzeitig gedrückter [AltGr]-Taste und ein vierter, wenn die Taste zusammen mit [Strg] gedrückt wird.

Wider das Geschrei auf der Konsole

Netterweise bekommen wir den Keycode von [CapsLock] frei Haus geliefert und können damit sehr schnell die Funktionalität des Quälgeists umdefinieren: Wir erzeugen eine neue Datei namens personal.map, und schreiben dort hinein, dass wir die Taste mit dem Keycode 58 auf Shift-Funktionalität setzen wollen, uns bei der restlichen Belegung aber auf die de-latin1.map verlassen:

include "/usr/share/kbd/keymaps/i386/qwertz/de-latin1.map.gz"
keycode 58 = Shift

(Den Pfad zu de-latin1.map.gz müssen Sie eventuell an Ihr System anpassen.) Testweise auf der Konsole mit

trish@linux:~ > loadkeys personal.map
Loading personal.map

aufgerufen, wirkt das neue Key-Mapping wunderbar: [CapsLock] arbeitet jetzt wie die [Shift]-Taste.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1263 Hits
Wertung: 0 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2012_02

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...
Skype für 64-Bit-Prozessor u. Suse 12.1
Klaus Sigerist, 05.02.2012 11:39, 3 Antworten
Hallo Gemeinde! Ich bin nur ein einfacher Nutzer und habe Probleme mit der Installation von Skyp...
8! Anfängerfrage :) Wie finde ich in Ubuntu die Datenträger (Bild, Text)
samuel leusam, 04.02.2012 15:53, 1 Antworten
Ich habe neu Ubuntu. Wenn ich die SD Karte im Laptop einstecke, erkennt er sie und gibt ihr den N...
OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 1 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...