Tutorial
Die im folgenden dargestellte Beispielsitzung verdeutlicht die Wirkungsweise der Keymap-Option. Die Voraussetzungen hierfür sind:
XmetaX muß vollständig installiert sein (Installation).
Sie müssen in einer X Window Umgebung mit XmetaX-Proxy angemeldet sein und die Keymap-Option muß konfiguriert sein (Optionen).
Sie müssen einen Terminalemulator wie xterm, cmdtool, dtterm, etc. von der Kommandozeile aus starten können.
Zuerst ändern Sie den Kommandopfad so ab, daß der XmetaX-Proxy und das xxmodmap-Programm im Installationsverzeichnis /opt/XSOXmetaX (Installationsverzeichnisse) gefunden werden. Ändern Sie den Kommandopfad entsprechend ab, etwa in der Bourne-Shell:
PATH="$PATH:/opt/XSOXmetaX/bin"
export PATH
oder in der C-Shell:
set path=($path /opt/XSOXmetaX/bin)
Dann wählen Sie eine freie X Window Displaynummer, zum Beispiel :1, und setzen die Umgebungsvariable $DISPLAY entsprechend, etwa in der Bourne-Shell:
DISPLAY=:1
export DISPLAY
oder in der C-Shell:
setenv DISPLAY :1
Jetzt können Sie den XmetaX-Proxy im Hintergrund starten:
xmetax $DISPLAY display :0 accessControl off &
Sie werden im folgenden verschiedene Tastaturbelegungen verändern, was auch auf bereits laufende X Window Clients Auswirkungen haben kann. Damit Sie die Verhältnisse jederzeit wieder zurücksetzen können, speichern Sie zuerst die aktuelle globale Belegung in einer Datei:
xxmodmap -pke > Reset
Diese können Sie mit einem der folgenden Kommandos wieder laden:
xxmodmap Reset
xmodmap Reset
Jetzt legen Sie zwei Dateien mit xmodmap-Ausdrücken an:
echo keysym q = w > Xqw
echo keysym w = q >> Xqw
echo keysym y = z > Xyz
echo keysym z = y >> Xyz
Jeweils zwei dieser Ausdrücke vertauschen die Belegung von zwei Tasten.
Die Auswirkung einer geänderten Tastaturbelegung läßt sich am einfachsten durch Tippen in einem Terminalemulator-Fenster beobachten. Starten Sie jetzt zwei Terminalemulatoren von der Kommandozeile:
xterm -name one &
xterm -name two &
Um das Global Mapping zu ändern, verwenden Sie das Kommando:
xxmodmap -global Xqw
Jetzt sind für alle X Window Clients die (Bedeutungen der) Tasten q und w vertauscht. Die nochmalige Anwendung derselben Ausdrücke stellt die normalen Verhältnisse wieder her:
xxmodmap -global Xqw
Mit dem Kommando
xxmodmap -name one Xqw
ändern Sie die Tastaturbelegung nur für den ersten der zuvor gestarteten Terminalemulatoren. Wenn Sie jetzt wieder das Global Mapping ändern (diesmal mit den Tasten y und z):
xxmodmap -global Xyz
so hat dies auf diesen Terminalemulator keine Auswirkung. Setzen Sie das Global Mapping und das Client Mapping wieder zurück:
xxmodmap -global Xyz
xxmodmap -name one Xqw
Obwohl der Terminalemulator jetzt wieder die ursprüngliche Tastaturbelegung hat, ist dennoch ein Client Mapping definiert, so daß jede Änderung des Global Mappings ohne Auswirkung bleibt:
xxmodmap -global Xyz
Setzen Sie das Global Mapping wieder zurück:
xxmodmap -global Xyz
Erst wenn Sie das Client Mapping tatsächlich aufheben, reagiert der Client auf eine globale Änderung:
xxmodmap -name one
xxmodmap -global Xyz
Die Tasten y und z sind jetzt für alle Clients, auch den ersten Terminalemulator, vertauscht. Stellen Sie wieder normale Verhältnisse her:
xxmodmap -global Xyz
Wenn Sie das Default Mapping ändern, hat dies auf bereits laufende Clients keinen Einfluß:
xxmodmap -default Xqw
Nur neu gestartete Clients übernehmen die geänderte Tastaturbelegung:
xterm -name three &
Wenn Sie das Default Mapping aufheben, beeinflußt dies den dritten Terminalemulator nicht:
xxmodmap -default
Für den dritten Terminalemulator bleiben die Tasten vertauscht. Ein jetzt gestarteter Client verhält sich wieder normal:
xterm -name four &
Schließen Sie alle Fenster der Terminalemulatoren und laden Sie wieder die ursprüngliche globale Tastaturbelegung:
xmodmap Reset
Zum Schluß beenden Sie den XmetaX-Proxy-Prozess:
xmetaxtool -terminate