wacom-tools installieren
Da zwar der touch von Haus aus funktioniert, aber nicht wirklich konfigurierbar ist, habe ich die wacom-treiber installiert.
Geht auch ganz einfach aus den Paketquellen:
sudo apt-get update
sudo apt-get install wacom-tools xserver-xorg-input-wacom
Da allerdings seit 9.04 die input-devices umbenannt wurden, finden sämtliche gerade installierten Tools das Touc-Display nicht. Jedoch gibt es auch hierfür eine Lösung, wir schreiben uns einfach ein Skript, welches die devices kurzerhand beim Start umbenennt (gefunden bei aliencam).
sudo nano /etc/init.d/wacom-names
#! /bin/sh ## find any wacom devices for udi in `hal-find-by-property --key input.x11_driver --string wacom` do type=`hal-get-property --udi $udi --key input.x11_options.Type` ## rewrite the names that the Xserver will use hal-set-property --udi $udi --key info.product --string $type done
Dieses muss ausfürbar gemacht werden, und in die runlevels aufgenommen werden. Wichtig, es muss nach HAL aber vor X gestartet werden.
sudo chmod +x /etc/init.d/wacom-names
sudo update-rc.d wacom-names defaults 27
Der dabei resultierende Fehler ist zu vernachlässigen. (Er entsteht, da wir nicht alle Runlevels berücksichtigen, sondern nur die beim starten durchlaufenden)
Nun einmal den Rechner neustarten und nach dem starten mit
xsetwacom list
prüfen ob etwas gefunden wird.
Wenn dies funktioniert kann zb mit wacomcpl der stylus beliebig konfiguriert werden.
Alternativ im Schnelldurchlauf
wget http://download.cnlpete.de/scripting/wacom-names
sudo cp wacom-names /etc/init.d/wacom-names
rm wacom-names
sudo chmod +x /etc/init.d/wacom-names
sudo update-rc.d wacom-names defaults 27
rotate-script und swivel-events
Achtung, die 5 Skripte die ich im folgenden erläutere können auch direkt herunter geladen werden, siehe unten
rotatetablet Skript
Als erstes erstellen wir das rotate-Skript, welches eine beliebige Rotierung des Bildschirms mittels xrandr erlaubt, gefunden hier und angepasst, da ich kein Compiz nutze.
sudo nano /usr/local/bin/rotatetablet
#!/bin/bash
#STATUS_FILE=~/.rotate-status
STATUS_FILE=/tmp/.rotate-status
######################## Keycodes PgUp/PgDown
function keymap() {
USER=`who |grep tty7 |awk -F" " '{print $1}'`
if [ "$USER" ]
then
case "$1" in
1)
echo 'Modifying xmodmap ...'
DISPLAY=":0.0" sudo -H -u $USER xmodmap -e 'keycode 105 = Prior'
DISPLAY=":0.0" sudo -H -u $USER xmodmap -e 'keycode 99 = Next'
;;
*)
echo 'xmodmap normal ...'
DISPLAY=":0.0" sudo -H -u $USER xmodmap -e 'keycode 105 = Next'
DISPLAY=":0.0" sudo -H -u $USER xmodmap -e 'keycode 99 = Prior'
;;
esac
fi
}
###############################
function rotate() {
case "$1" in
3|right)
N=3;
T=cw;
keymap 0
;;
1|left)
N=1;
T=ccw;
keymap 1
;;
2|inverted)
N=2;
T=half;
keymap 0
;;
0|normal)
N=0;
T=none;
keymap 0
;;
*)
echo -e "Usage:\n $(basename $0) [left|right|inverted|normal]\n\nIf no option is given, rotates the screen 90 degrees to the right.\n";
exit 1
;;
esac
#xrandr -o $N & \
#More secure
if [ "`/usr/bin/xrandr -o $N -v | grep -i 'randr' | wc -l`" -ne "1" ]
then
echo '!! Something went wrong...'
export DISPLAY=":0.0"
export XAUTHORITY=/var/lib/gdm/\:0.Xauth
#/usr/bin/xset -display $DISPLAY dpms
echo 'Trying to unrotate again...'
/usr/bin/xrandr -o $N &
fi
xsetwacom set stylus Rotate $T & \
echo $N > $STATUS_FILE
}
if [ "$#" == "0" ]; then
rotate $(((3+0$(cat $STATUS_FILE 2>/dev/null))%4))
else
rotate $1
fi
dann machen wir das Skript noch ausführbar:
sudo chmod +x /usr/local/bin/rotatetablet
Nun kann zum testen schonmal versucht werden den Bildschirm zu drehen, durch einen einfachen Aufruf von rotatetablet
rotatetablet #rotate to the left
rotatetablet normal #normalize again
Wenn das klappt können wir mit den swivel-events fortfahren.
swivel-up und swivel-down
Vom Prinzip brauchen wir 4 Dateien, 2 Skripte die den entsprechenden rotatetablet-Aufruf tätigen (in /etc/acpid/) und 2 Event-Skripte in /etc/acpid/events, in denen die swivel-Events deklariert sind.
In den ersten beiden Dateien müssen die event-keys eventuell angepasst werden, herausfinden könnt ihr die event-keys durch ein einfaches
acpi_listen
Nun werden sämtliche Events aufgeführt, die ihr so tätigt, also einfach einmal umklappen und wieder aufrichten und ihr erhaltet eine ähnliche Ausgabe wie die folgende:
ibm/hotkey HKEY 00000080 00005009 ibm/hotkey HKEY 00000080 0000500a
Nun die Dateien erstellen:
sudo nano /etc/acpi/events/x41t-swivel-down
# /etc/acpi/events/x41t-swivel-down # called when tablet head swivels down event=ibm/hotkey HKEY 00000080 00005009 action=/etc/acpi/x41tsdown.sh
sudo nano /etc/acpi/events/x41t-swivel-up
# /etc/acpi/events/x41t-swivel-up # called when tablet head swivels up event=ibm/hotkey HKEY 00000080 0000500a action=/etc/acpi/x41tsup.sh
sudo nano /etc/acpi/x41tsdown.sh
#!/bin/sh #/etc/acpi/x41tsdown.sh echo 'Rotating Tablet...' /usr/local/bin/rotatetablet right
sudo nano /etc/acpi/x41tsup.sh
#!/bin/sh #/etc/acpi/x41tsup.sh echo 'Unrotating Tablet...' /usr/local/bin/rotatetablet normal
und die beiden Shell-Skripte noch ausführbar machen
sudo chmod +x /etc/acpi/x41tsdown.sh
sudo chmod +x /etc/acpi/x41tsup.sh
Dann ACPID einmal neustarten, damit die neuen Events auch aufgefangen werden
sudo service acpid restart
.
im Schnelldurchlauf
wget http://download.cnlpete.de/scripting/rotate/x41t-swivel-down
wget http://download.cnlpete.de/scripting/rotate/x41t-swivel-up
wget http://download.cnlpete.de/scripting/rotate/x41tsdown.sh
wget http://download.cnlpete.de/scripting/rotate/x41tsup.sh
wget http://download.cnlpete.de/scripting/rotate/rotatetabletsudo cp x41t-swivel-down /etc/acpi/events/x41t-swivel-down
sudo cp x41t-swivel-up /etc/acpi/events/x41t-swivel-up
sudo cp x41tsdown.sh /etc/acpi/x41tsdown.sh
sudo cp x41tsup.sh /etc/acpi/x41tsup.sh
sudo cp rotatetablet /usr/local/bin/rotatetabletrm x41t-swivel-down
rm x41t-swivel-up
rm x41tsdown.sh
rm x41tsup.sh
rm rotatetabletsudo chmod +x /etc/acpi/x41tsdown.sh
sudo chmod +x /etc/acpi/x41tsup.sh
sudo chmod +x /usr/local/bin/rotatetabletsudo service acpid restart







Ich habe ebenfalls ubuntu 9.10 auf meinem x41t installiert und deine Anleitung benutzt, um Screenrotation und Stylus hinzubiegen. Hatte auf dem Weg bei 9.04 wunderbar funktioniert.
Bei 9.10 bin ich auf das Problem gestoßen, dass wacom trotz Umbennung der devices nach Anleitung mein Touchdisplay nicht erkennt bzw. es kurzzeitig funktioniert hat bis zu einem erneuten Neustart. Würde mich über Hilfe freuen.