öffnen Tags

öffnen Kategorien

Vom WebReader vorlesen lassen

Meine neue SUN

22. Jul 2009, 22:36

Ich habe vor kurzem von einem Freund eine neue Tastatur bekommen.

Es ist eine Sun Type 6, mit dem Vorteil, dass Semikolon und Slash nun eigene Tasten besitzen!
Nach einer zweistündigen Reinigungs-Session war das Teil auch entkeimt und hat sich sofort super in meinen Schreibtisch integriert.

Es ist noch etwas gewöhnungsbedürftig, dass y und z vertauscht sind, aber das wird sich schon geben.
Die Tastatur hat aber einen Haken, nicht nur y und z sind getauscht, auch CONTROL und CAPS_LOCK! Daran will ich mich erst gar nicht anpassen, bevor ich die Tastatur immer mitnehmen muss.

Gelöst hab ich das Problem mit einem Eintrag in der /etc/X11/xorg.conf. In der Keyboard-Section wurde die XkbOptions wie folgt erweitert:

1
Option "XkbOptions" "lv3:ralt_switch, ctrl:nocaps"


Mit ctrl:nocaps besitzt die Tastatur nun gar kein CAPS_LOCK mehr (ich kann gut darauf verzichten!), aber dafür zwei linke CONTROL-Tasten. Oder besser gesagt, die CAPS_LOCK-Taste wird wie CONTROL behandelt, es steht natürlich weiterhin "Caps Lock" drauf ;-)
Die ganze Section sieht nun so aus:

1
2
3
4
5
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbOptions" "lv3:ralt_switch, ctrl:nocaps"
EndSection

Das nächste Problem ergab sich mit den lieben Umlauten. Die Amerikaner haben irgendwie vergessen unsere schönen Buchstaben mit den beiden Pünktchen auf die Tastatur zu platzieren. tztztzzz.
Hier hab ich mir mit Xmodmap beholfen. Mit diesem Tool kann man die Tasten lustig umhermappen und so bestimmen welches Signal bei welcher Taste erkannt werden soll. Mit xmodmap -pke > .Xmodmap wird die aktuelle Map in eine Datei geschrieben, die sieht dann in etwa folgendermaßen aus:

1
2
3
4
5
6
7
8
9
keycode 8 =
keycode 9 = Escape NoSymbol Escape NoSymbol Escape
keycode 10 = 1 exclam 1 exclam onesuperior exclamdown onesuperior exclamdown 1
keycode 11 = 2 quotedbl 2 at twosuperior oneeighth twosuperior dead_doubleacute
keycode 12 = 3 section 3 numbersign threesuperior sterling threesuperior dead_macron
keycode 13 = 4 dollar 4 dollar onequarter currency currency sterling
keycode 14 = 5 percent 5 percent onehalf threeeighths EuroSign
keycode 15 = 6 ampersand 6 asciicircum notsign fiveeighths dead_circumflex asciicircum
[...]


Einige Keycodes haben keine, andere mehrere durch Leerzeichen getrennte Belegungen. Dabei bedeuten die einzelnen Werte ein einfaches Tastendrücken, Schift + Taste, Mode_Switch + Taste und Shift + Mode_Switch + Taste, in dieser Reihenfolge.
Hier kann man nun nach Lust und Laune umhermappen (die Keycodes der Tasten erhält man mit xbindkeys -k oder xev)!
Control und Caps Lock stellen neben Shift, Alt, Num Lock und der Super-Taste eine Ausnahme dar (deren Belegung erfährt man mit dem Befehl xmodmap). Diese muss man erst von ihrer aktuellen Belegung trennen bevor man sie neu belegen kann. Trennen geht, wer hätte es gedacht, mit clear und neue Tasten kann man mit add hinzufügen, dies aber nur am Rande.
Um nun die Umlaute zu bekommen, musste ich mir fünf Tasten herauspicken. Da die Buchstaben-Taste für Mode_Switch sowieso keine spezielle Bedeutung haben, benutz ich einfach die zu den Umlauten passenden Vokale-Tasten. Ich musste also die Zeilen mit den Keycodes 30 (u), 32 (o), 38 (a) und 39 (s) anpassen (Die Keycodes können natürlich für jeden Tastaturtyp variieren). Zusätzlich hab ich mir noch das Eurozeichen auf das E gemappt und die geänderten Zeilen in der .Xmodmap lauten nun wie folgt:

1
2
3
4
5
keycode 26 = e E EuroSign eacute
keycode 30 = u U udiaeresis Udiaeresis
keycode 32 = o O odiaeresis Odiaeresis
keycode 38 = a A adiaeresis Adiaeresis
keycode 39 = s S ssharp ssharp


Nun kann ich mit meiner Mod_Switch-Taste (bei mir Alt_Graphics) und dem a ein ä erzeugen, plus zusätzlichem Shift wirds ein Ä. Einer meiner Freunde hat ein é im Namen, daher gibts das nun auch als einzelne Taste!
Mit xmodmap .Xmodmap kann man die Datei einlesen und die Änderungen werden übernommen. Im Netz hab ich gelesen, dass das File bei jedem Anmelden automatisch eingelesen wird wenn es .Xmodmap heißt, hat für mich aber nicht funktioniert. Ich hab mir einen Eintrag in die .loginrc geschrieben, der dies nun für mich erledigt.

Und wo der Artikel nun schon fast zu einem Tastatur-Tutorial mutiert ist, gibts noch den Hinweis auf Xbindkeys. Hiermit hat man die Möglichkeit, spezielle Tastenkombinationen zum Ausführen von Befehlen festzulegen. Syntax ist denkbar einfach, in einer Zeile wird der auszuführende Befehl, in der darauf folgenden die Tastenkombination an die er gebunden werden soll eingetragen. So hab ich mir zum Beispiel auf die Kombination Alt_Gr + Print_Screen den Screenshot mit einer Verzögerung von 5 Sekunden gelegt:

1
2
3
# screenshot mit altgr-printscreen-taste -> delay=5
"xfce4-screenshooter -f -d 5"
m:0x90 + c:107


Welche Tastencodes eine Tastenkombination liefert kann man wieder mit xbindkeys -k oder xev herausfinden. So lassen sich auch leicht zusätzliche Maustasten belegen, beispielsweise ist auf meinem Button 9 Kopieren und Button 8 Einfügen definiert:

1
2
3
4
5
6
7
# kopieren
"xte 'keydown Control_L' 'key x' 'keyup Control_L'"
b:9

# einfuegen
"xte 'keydown Control_L' 'key v' 'keyup Control_L'"
b:8


Ein schönes Tutorial hierfür gibt es im Ubuntu-Wiki.

Tags: Keyboard SUN Xbindkeys Xmodmap xorg.conf

Kategorien: Keyboard

15. Feb 2010

Von: Martin, 21:17:58

André wird sich geehrt fühlen.

© 2009-2018 by Martin Scharm