Für Ubuntu gibt es hier eine neue Anleitung:Rotation unter Ubuntu
So im zweiten Teil kümmern wir uns um die Zusatztasten des Tablets. Dazu untersuchen wir zunächst die relevanten Keycodes. Dazu gibt es zwei Werkzeuge, eins für die Konsole und eins für den XServer.
Für die Konsole showkey und für den XSever xev
Auf meinem Tablet ließen sich so folgende Keycodes herausfinden:
1 2 3 4 5 6 7 8 9 10 | Taste Showkey xev Rotate 191 199 Werkzeugkasten 152 (160) Escape 1 9 Oben 103 111 Rechts 106 114 Unten 108 116 Links 105 113 Enter 28 36 Reset Unknown->code 0x67 no_event |
Bei mir waren die xev-Codes alle um 8 größer als die von showkey. Dies ist aber wohl nicht immer der Fall.
Escape und Enter haben natürlich schon die Standardfunktionen, ebenso sind die Oben, Rechts, Unten und Links-Tasten bereits richtig belegt. Der Werkzeugkasten sperrt bei mir den Bildschirm, nur der Rotierknopf ist mit keiner Funktion belegt.
Diesem wollen wir nun Leben einhauchen.
Dazu müssen wir die Tastenbelegung des XServers editieren.
1 2 3 4 | cp /etc/X11/Xmodmap /etc/X11/Xmodmap.ORIGINAL echo "! Custom Xmodmap for X61 Tablet PC" > /etc/X11/Xmodmap xmodmap -pke >> /etc/X11/Xmodmap nano /etc/X11/Xmodmap |
Dort suchen wir nun nach dem oben gefundenen Keycode und schreiben hinter das Istgleich XF86User1KB.
Damit führt der Xserver dann beim Drücken der Taste die Aktion XF86User1KB aus. Jetzt müssen wir also nur noch eine Rotationsfunktion einbinden die wir dann mit der Aktion verknüpfen und dann funktioniert das ganze schon hoffentlich. Da ich nicht der erste bin der ein Tablet gekauft hat, gibt es bereits ein Python Script welches die Rotation sehr gut erledigt. (Lukes Homepage) Es ist zwar für ein X60 Tablet geschrieben aber man wird es schon so umbiegen können, dass es auch auf einem X61 Tablet läuft.
Mit folgenden Anweisungen sollte das Script installiert sein:
1 2 3 4 5 6 7 8 | mkdir -p /usr/local/src/X61_XF86 pushd /usr/local/src/X61_XF86 wget http://luke.no-ip.org/x60tablet/examples/rotate chmod ugo+x rotate pushd /usr/local/bin ln -s /usr/local/src/X61_XF86/rotate popd popd |
Als nächstes müssen wir noch Berechtigungen setzen, so ist es erforderlich sudo zu verwenden wenn man den Bildschirm rotiert oder die globale Tastaturbelegung ändern möchte.
Dazu müssen wir einmal eine Gruppe der Tabletbenutzer anlegen. Gruppen werden in der Datei /etc/group eingerichtet.
1 | nano /etc/group |
Wir fügen in eine zusätzliche Zeile einfach folgendes ein:
1 | tabletgroup:x:501:root,<strong>Tabletnutzernamen</strong> |
Wobei die Nutzernamen jeweils durch Komma getrennt einzutragen sind, bei mir wäre es zum Beispiel tabletgroup:x:501:root,arsenal.
Jetzt müssen wir der Gruppe noch die Rechte zuweisen die sie haben soll: sudo benutzen für Rotation und Tastenbelegungändern. Dabei wollen wir natürlich nicht jedemal unser Passwort eingeben um dieses Ziel zu erreichen. Die Berechtigungen für sudu sind in der Datei /etc/sudoers zu finden. Also bedienen wir uns wieder unseres allseitsbeliebten Konsoleneditor als root:
1 | nano /etc/sudoers |
Wir fügen dort am Ende hinzu:
1 2 | ##Allow users to do tablet screen rotations if in this group %tabletgroup ALL=(ALL) NOPASSWD:/usr/bin/setkeycodes,/usr/local/bin/rotate |
Zudem suchen wir nach der Zeile:
1 | Defaults requiretty |
und kommentieren diese durch voranstellen eines # aus.
Jetzt müssen wir noch die XF86User1KB mit dem rotate-Script in Verbindung bringen.
Dazu benötigt man wohl den gconf-editor (zumindest für Gnome) um das ganze etwas komfortabel zu gestalten. (Dank an Codejacked.com für den Guide)
Wir starten ihn aus dem Menü Anwendungen -> Systemwerkzeuge -> Konfigurationseditor oder über ein Terminal mit der Eingabe von gconf-editor.
Wir wechseln dann in der Liste zu apps/metacity/keybinding-commands.
Nun können wir rechts bei command_1 oder einem anderen freien Befehl folgendes eingeben:
1 | sudo /usr/local/src/X61_XF86/rotate |
Danach wechseln wir zu /apps/metacity/global_keybindings/run_command_1 und fügen dort XF86User1KB ein und „schon“ sollte die Rotation beim drücken des Knopfes ausgeführt werden.
Beim Testen ist mir jedoch aufgefallen, dass das Script nicht ganz funktioniert sondern aus der Funktion mit einem Fehler herausspringt, es versucht einfach für jedes Wacomgerät die Rotation zu verändern. Dummerweise ist jedoch ein recht seltsames Gerät gelistet, namens „ThinkPad Extra Buttons“, es kann jedoch nicht vom Wacomtreiber angesteuert werden. Daher muss im Script ausgeschlosssen werden, dass versucht wird die Rotation von dem Gerät zu ändern, dargestellt im folgenden Screenshot:
rotatescript
Ein Download ist auch verfügbar: rotate
Einfach als root folgendes ausführen:
1 2 3 4 5 6 7 8 | mkdir -p /usr/local/src/X61_XF86 pushd /usr/local/src/X61_XF86 wget http://www.arsenal-of-wisdom.org/wp-content/uploads/2009/01/rotate chmod ugo+x rotate pushd /usr/local/bin ln -s /usr/local/src/X61_XF86/rotate popd popd |
Damit verhält sich unser Tablet schon recht zufriedenstellend unter Linux. Als nächtes werde ich versuchen die automatische Orientierung des Bildschirms zu aktivieren.
Dieser Artikel entstand haupsächlich aus Informationen die ich auf folgenden Seiten erhalten habe:
Installing Fedora 8 on an X61 Tablet
Lukes X60 tablet Seite