Die Tage war mal wieder eine komplette Neuinstallation meines Rechners fällig. Ab und zu ist das ganz gut alles auszumisten. Dabei trat mal wieder ein altes Problem aus: Ich habe eine Tastatur von Microsoft, das "Natural Ergonomic Keyboard 4000", mit diversen Sondertasten. Die üblichen Tasten funktionieren auf Anhieb, nur die Sondertasten sind mal wieder ein Problem. Bisher hatte ich eine der mitgelieferten Layouts benutzt (Microsoft Natural Keyboard Pro OEM), im besten Fall sind damit dann die meisten Tasten nutzbar. Die Sache hatte allerdings, zumindest unter KDE3, einen Haken: Die Vorwärts- und Zurück-Tasten lagen auf den Events XF86Forward und XF86Back, die KDE unbedingt zum springen in der History haben will. Ich dagegen will mit diesen Tasten die Arbeitsflächen wechseln. Umkonfigurieren geht, allerdings zickt es in manchen Anwendungen dennoch und nach manchen Paketupdates muss man die Tasten neu konfigurieren. Deswegen hab ich mich im Zuge der Neuinstallation um eine neue Lösung gekümmert: Eine angepasste Modmap, damit bekommen die Sondertasten eigene Symbole. Anfangs hatte ich die Modmap über ein Shellskript im Autostart von XFCE starten lassen, das lief allerdings nicht immer, ich schätze die Startreihenfolge war nicht ganz eindeutig. Einfacher und zuverlässiger dagegen ist es die Modmap bereits vorher setzen zu lassen. Dazu legt man ein kleines Skript namens "10-DoModMap" im Verzeichnis /etc/X11/Xsession.d ab. Die dort liegenden Skripte werden der Reihe nach (deswegen die Zahlen am Anfang des Dateinamens) von Xsession eingelesen und ausgeführt. Das Skript muss nicht executable sein, benötigt auch kein Shebang und sieht so aus: if [ -f /etc/X11/Xmodmap ]; then xmodmap /etc/X11/Xmodmap fi Die Keycode-Tabelle mit den Zuweisungen liegt demnach in der Datei /etc/X11/Xmodmap und sieht bei mir so aus: !! Remove Capslock remove Lock = Caps_Lock add mod4 = Caps_Lock
!! MS Keyboard keycode 234 = XF86Launch0 keycode 233 = XF86Launch1 keycode 178 = XF86Launch2 keycode 229 = XF86Launch3 keycode 236 = XF86Launch4 keycode 183 = XF86Launch5 keycode 184 = XF86Launch6 keycode 92 = XF86Launch7 keycode 131 = XF86Launch8 keycode 247 = XF86Launch9 keycode 160 = XF86LaunchA keycode 174 = XF86LaunchB keycode 176 = XF86LaunchC keycode 162 = XF86LaunchD keycode 161 = XF86LaunchE keycode 230 = XF86LaunchF Zuerst wird die Caps-Lock-Taste umkonfiguriert damit sie nicht mehr als Caps-Lock arbeitet sondern als Mod4. Im Anschluss werden die ganzen Sondertasten der Tastatur auf die Events XF86Launch[0-F] gelegt. Meinen bisherigen Erfahrungen nach sind diese Events üblicherweise frei und nicht mit irgendwelchen Defaults belegt. Sprich man kann sie belegen wie man will ohne mit irgendwelchen Defaulteinstellungen Probleme zu bekommen. Startet man jetzt X neu, sollte die neue Tastenbelegung nach dem Login am kdm (gdm hab ich nicht getestet) aber noch vor dem Start des Desktop-Environments/Windowmanager/WasAuchImmer angewendet werden. |