Im Artikel "Tasten-Wirbel" [1] wurden die Verwendungsmöglichkeiten von xmodmap ausführlich beschrieben. Die Generierung von Umlauten und speziellen Zeichen wie ©, ® oder ½ auf Tastaturen, auf denen diese nicht vorgesehen sind, lässt sich ebenfalls mit xmodmap erreichen. In den folgenden Beispielen wird die [CapsLock]-Taste, ein Relikt aus den Zeiten der Schreibmaschine, zur Aktivierung von Sonderzeichen umfunktioniert.
Tasten, die man einfach braucht
In Tabelle 1 sind die Zeichen aufgeführt, die mit Hilfe der neu belegten [CapsLock]-Taste, der [Shift]-Taste und einer weiteren Taste erzeugt werden sollen.
Tabelle 1: Tastenkombination für Sonderzeichen
| Taste | [CapsLock] + Taste | [CapsLock] + [Shift] + Taste |
|---|---|---|
| a | ä | Ä |
| o | ö | Ö |
| u | ü | Ü |
| s | ß | ß |
| 1 | ¡ | ½ |
| 5 | ß | ° |
| 6 | ||
| 0 | ° | º |
| = | ± | ¬ |
| e | è | È |
| r | ê | Ê |
| w | é | É |
| i | ï | Ï |
| n | ñ | Ñ |
| c | ç | Ç |
| q | © | ® |
Dies funktioniert nicht nur bei XFree86 (z. B. unter Linux oder FreeBSD), sondern auch auf den Workstations von Silicon Graphics, die unter dem hauseigenen Unix-Derivat IRIX ebenfalls ein X11 mitbringen. Allerdings unterscheiden sich die keycodes der einzelnen Tasten erheblich von denen eines PCs, was getrennte Parameterdateien für beide Hardware-Plattformen notwendig macht.
Mit Linux, oder @L: *BSD
Für XFree86 wird die Zuweisung der Tasten in der ~/.Xmodmap festgelegt. Das Listing 1 zeigt die notwendigen Einträge.
Listing 1
für XFree86
keycode 66 = Mode_switch Multi_key keycode 117 = Mode_switch Multi_key keycode 39 = s S ssharp keycode 38 = a A adiaeresis Adiaeresis keycode 30 = u U udiaeresis Udiaeresis keycode 32 = o O odiaeresis Odiaeresis keycode 14 = 5 percent ssharp degree keycode 26 = e E egrave Egrave keycode 28 = t T EuroSign EuroSign keycode 27 = r R ecircumflex Ecircumflex keycode 25 = w W eacute Eacute keycode 31 = i I idiaeresis Idiaeresis keycode 21 = equal plus plusminus notsign keycode 57 = n N ntilde Ntilde keycode 58 = m M Multi_key keycode 15 = 6 asciicircum dead_acute dead_circumflex keycode 19 = 0 parenright degree masculine keycode 10 = 1 exclam exclamdown onehalf keycode 54 = c C ccedilla Ccedilla keycode 24 = q Q copyright registered
Eine automatische Umdefinition der Tasten wird bereits beim Login erreicht, wenn in der /etc/X11/xdm/Xsession ein entsprechender Befehl steht:
if [ -f "$HOME/.Xmodmap" ]; then xmodmap "$usermodmap" fi



