Man merkt LinuxPPC & Co. deutlich an, das sie vor allem im mden USA entwickelt werden (was auch am geringer Marktanteil des Macs hierzulande im Vergleich zu den USA liegt). Daher sind keine deutschen Tastaturlayouts vorgesehen und auch der Mechanismus von KDE scheint nicht zu funktionieren. Zum Glück kann man sich aber eigene Layouts basteln. :-)
Dazu nutzt man das Kommando xmodmap. Mit diesem Kommando kann jeder User für sich (und auf eigene Verantwortung) ein eigenes Tastaturlayout laden. Dazu müssen aber einige Voraussetzungen zu gegeben sein. Wenn man sich mit kdm oder xdm[1] (ob der gdm auch geht weiss ich nicht) einloggt, sollte es aber alles stimmen (siehe mehr dazu weiter unten). Für die ungeduldigen hier eine Schnellanleitung:
.Xmodmap
umbennen und im Homeverzeichnis ablegen xmodmap ~/.Xmodmap
oder
cd ; xmodmap .Xmodmap
userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi
Wenn nicht sollte dies unter root ergänzt werden. Bei Einloggen mit dem kdm oder mit xdm reicht es i.d.R. aus /etc/X11/xdm/Xsession zu überpr&uum;fen.
Nun kann man entweder sich eine eigenes Layout basteln oder man nimmt eine vorgefertigtes, wie z.B. eines der unten angegebenen.
Als nächstes muss man die keycodes der einzelenen Tasten bestimmen. Man kann sich dabei auf dies Tasten beschräncken, die man ändern möchte.
Zunächst startet man das Programm xev in einem Terminalfenster. Dieses Programm öffent ein kleines Fenster, ind as nun die Maus rein bewegt wird. Wenn man nun eine Taste drückt, erscheint im Terminalfenster eine Mdelung, wie die folgende (es erscheinen massig verschiedene Meldungen, uns interessieren aber nur die nach einem Tastendruck):
KeyPress event, serial 27, synthetic NO, window 0x6400001, root 0x25, subw 0x0, time 3212830677, (176,175), root:(606,648), state 0x0, keycode 8 (keysym 0x61, a), same_screen YES, XLookupString gives 1 characters: "a" KeyRelease event, serial 30, synthetic NO, window 0x6400001, root 0x25, subw 0x0, time 3212830797, (176,175), root:(606,648), state 0x0, keycode 8 (keysym 0x61, a), same_screen YES, XLookupString gives 1 characters: "a"
In der jeweils 3. Zeile steht der Keycode. In der 4. Zeile wird das Zeichen angezeigt, dass ausgegeben würde. Diese Keycodes notiert man sich nun.
Für die Apple USB-Tastatur, wie sie in Deutschland ausgeliefert wird (z.B. beim iMac, Yosimite oder PowerMac G4) habe ich die Keycodes in einer Tabelle abgelegt, die ihre euch hier herunterladen könnt.
Zur Sicherheit sollte man nicht gleich die Date ~/.Xmodmap editieren, sondern erst mal eine anders beannte Datei (z.B. .Xmodmap.test).
Die Xmodmap-Datei muss nicht fuer alle Tasten eine Übersetzung enthalten. Da ja schon vorher eine Layout esxistiert, reicht es nur seine Änderungen reinzuschreiben. Also Vorlage kann man aber auch die aktuelle Xmodmap (allerdings ohne die modifier-bindings) abfragen und das ganze in eine Datei packen (z.B. Xmodmap.vorlage):
> xmodmap -pke > Xmodmap.vorlageGuckt man nun in Xmodmap.vorlage rein, so sieht man, dass eine Xmodmap-Datei vor allem aus Zeilen wie der folgenden besteht:
keycode 8 = a AHier wird das 'a' auf die Taste mit dem Keycode 8 gebunden und das 'A" aufg dieselbe Taste bei gedrückter Shift-Tatste. Man kann bis zu vier "Symbole" auf eine Taste legen:
keycode 34 = 7 slash bar backslashDamit aber die zweiten beiden Symbole auch wirklich erzeugt werden, muss einer der modifizierenden Tasten (also Ctrl,Shift,Alt oder Apfel) die Funktion Mode_Switch zugeordnet werden:
keycode 63 = Mode_switchNun ist diese Taste (genauer der Keycode der Taste) schon an eine Modifiziererfunktion gebunden. Diese muss daher am Ende gelölscht und neu eingerichtet werden. Bei Alt und Apfel ist dies mod1:
clear mod1 add Mod1 = Alt_L Meta_LHier werden die Tasten mit dem Symbol 'Alt_L' oder 'Meta_L' als erster Modifizierer (nach Shift und Control). Das Linux keine getrennte Funktionalität von Alt und Apfel (=Command) kennt, sollte man eine der beiden als Alt/Command-Taste (also als mod1) und die andere als Mode_switch nutzen.
Um nun das frisch editierte Layout zu testen, aktibiert man es mit:
> xmodmap .Xmodmap.test
Der Name der Xmodmap-Estdatei muss ggfs. angepasst werden.
Nun kann man das neue Layout testen. Allerdings verstehen nicht alle X-Programme deutsche Umlaute.
die Terminals unter KDE tun sich z.B. schwer. Gut funktionieren tun sie aber z.B. im Xemacs.
Mit dem bereits oben erwähnten Program xev kann man testen, ob das X selbst
das neue Layout akzeptiert hat. Wenn hier nicht die richtigen keysrmbols erscheinen. Ist etwas schief
gegangen.
Wie soll man aber deutsche Umlaute in der Xmodmap-datei eingeben,
ohne dass man sie bereits auf der Tastatur hat?
Nun es würde auch nichts nützen sie auf der Tastatur zuhaben.
Im Gegensatz zu den 26 Buchstaben, des Standardalphabetes haben, längere Namen.
Die meisten findet man heraus, wenn man - wie oben beschrieben - die aktuelle Xmodmap abfragt.
Die wichtigsten die nun noch für ein deutsches Layout fehlen sind:
"Buchstabe" | Name in der Xmodmap |
ä | adiaeresis |
ö | odiaeresis |
ï | udiaeresis |
Ä | Adiaeresis |
Ö | Odiaeresis |
Ü | Udiaeresis |
ß | ssharp |
§ | section |
Da immer das zuletzt erzeugte Layout modifiziert kann es passieren,
dass sich Änderungen angehäft haben, die sich aber nicht mehr in der letzten Version der
Xmodmap-Datei finden. Deshalb sollte man sich bevor amn seine Test-Datei umbenennt neu einloggen
und die die Datei mit einem letzten > xmodmap .Xmodmap.test testen.
Wenn jetzt alles gutgegangen ist, kann man die datei in .Xmodmap umbenennen und beim nächsten
einloggen, hat amn automatsiche sein eignes Layout.
Für alle die zu faul sind ( ;-) ) sich dieser Totur zu unterziehen, habe ich drei Xmodmap-Dateien für die Apple-USB-Tastatur vorbereitet, die an sich hier herunterladen kann (Layouts für die Apple-ADB-Design-Tastatur sind in Arbeit):
Eine Übersicht der Layouts zusammen mit einer Auflistung der keycode gibt es hier.
Nachdem man diese Dateien heruntergeladen hat, sollte man sie mit
> xmodmap Xmodmap.xyz
testen. Wenn dann alles O.K. ist kann man sie mit
> mv Xmodmap.xyz .Xmodmap
aktivieren. Für die Korrektheit dieser Dateien übernehme ich keine Garantie!
Demnächst will ich das ganze auch auf das Tastaurlayout auf den Textconsolen übertragen.