Nun ja, ich hatte das Problem vor allem deshalb, weil ich auf den vom Hersteller bereitgestellten Xorg-Treiber gesetzt hatte. Statt dessen verwende ich nun den Evtouch-Treiber der mit Ubuntu mitgeliefert wird. Das Paket heißt:
universe: xserver-xorg-input-evtouch
Für den Achsentausch muss die Datei /etc/modprobe.d/usbtouchscreen erstellt werden, mit dem Inhalt:
options usbtouchscreen swap_xy=1
Zusätzlich (was jetzt genau bei mir geholfen hat, weiß ich eigentlich nicht mehr) habe ich noch in /sys/modules/usbtouchscreen/parameters/swap_xy stehen:
Y
Zumindest war das die erste Variante, die auch funktioniert hat. Kann auch sein, dass es mit dem Evtouch-Treiber auch wirklich in der Xorg.conf funktioniert, wie in der Doku angegeben (siehe weiter unten).
Danach gab es aber auch noch andere Fallstricke, ich schreibe also gleich mal noch was dazu, weil das dann bei mir die nächsten Probleme waren.
Meine xorg.conf sieht an den entscheidenden Stellen dann so aus:
...
# weiß nicht mehr genau, ob dieser Abschnitt für die normale Maus überhaupt notwendig war und ob das drin blieb damit ich doch mal mit der Maus arbeiten kann und ich dann schnell umstellen kann
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
# Option "CorePointer" # muss auskommentiert werden
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "InputDevice"
Identifier "EETI"
Driver "evtouch"
Option "Device" "/dev/input/touchscreen"
Option "DebugLevel" "0"
Option "Parameters" "/etc/egalax.cal" # wahrscheinlich nicht notwendig
Option "MinX" "59"
Option "MaxX" "1965"
Option "MinY" "1961"
Option "MaxY" "125"
# hier gibt es noch eine calibrate-Option, die aber irgendwie bei mir nicht funktioniert hat, daher habe ich die hier angegebenen Werte durch ausprobieren herausgefunden.
Option "ReportingMode" "Raw"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
Option "SendCoreEvents" "1"
EndSection
# als Ersatz für die oben auskommentierte Zeile mit "CorePointer" oder für den ganzen Mausabschnitt (weiß ich nicht mehr so genau)
Section "InputDevice"
Identifier "dummy"
Driver "void"
Option "Device" "/dev/input/mice"
EndSection
...
Section "ServerLayout"
Identifier "Default Layout" screen "VGA Screen" screen 1 ...
Inputdevice "Generic Keyboard"
Inputdevice "Configured Mouse"
Inputdevice "EETI" "CorePointer"
Inputdevice "dummy"
EndSection
...
Das Ganze ist auch gut unter http://www.stz-softwaretechnik.de/~ke/touchscreen/evtouch.html dokumentiert.
Hervorzuheben ist vielleicht noch die Zeile
Option "Device" "/dev/input/touchscreen"
Normalerweise wird bei erkennen des Touchscreen, dieser an irgend ein /dev/input/event* rangehangen (also kein festes). Nun wird ein neues Device /dev/input/touchscreen verwendet, das dann an das aktuelle Touchscreen-Device rangehangen wird. Das erfolgt in z.B. /etc/udev/rules.d/69-touchscreen.rules oder wie bei mir in /etc/udev/rules.d/010-local.rules mit dem Inhalt:
SUBSYSTEMS=="usb", DRIVERS=="usbtouchscreen", KERNEL=="event*", SYMLINK+="input/touchscreen"
Hilfreich waren unter anderem:
http://linux.chapter7.ch/touchkit/mini-howto.txt
http://www.harbaum.org/till/cnc/cx-t100/index.shtml
http://www.nextabyte.com/support/touchscreen/Touchscreen_HowTo.pdf
http://www.mp3car.com/vbulletin/linux/79902-touchscreen-whose-drivers-play-nice-linux.html