Touchscreen eGalax unter Linux, Mini-HowTo deutsch
Kurze Beschreibung um ein Touchscreen eGalax unter Linux mit Kernel 2.6.8 in Betrieb zu nehmen.
Hinweis :
Aktuelle Kernel unterstützen bereits viele Touchscreens.
Author:
Wilfried Hemp
24.08.2005
Wichtige Informationen habe ich hier gefunden:
http://stz-softwaretechnik.com/~ke/lifebook/lifebook-2.6.html
http://linux.chapter7.ch/touchkit/mini-howto.txt
Hardware:
TFT 7" Wide Screen LCD Color Monitor USB von CarTFT.com
(baugleich Xenarc 700 Serie?)
System:
SuSE 9.2 (ftp-Download)
Kernel 2.6.8
X-Server Xorg 6.8.1
hotplug muss installiert sein
Bei anderen Systemen müssen evetuell Dateinamen und Pfadangaben angepasst werden.
Installation:
Als Treiber für den X-Server wird "evtouch XFree86" von
http://stz-softwaretechnik.com/~ke/lifebook/lifebook-2.6.htm verwendet.
lt. Seite:
Precompiled driver for X V0.6.1 (This driver should work for XFree 4.x and Xorg 6.8.x)
z.Z. aktuell: evtouch-0.6.1.tar.gz
Die meisten Aktionen benötigen root-Rechte.
Alles aus einer Text-Konsole durchführen.(z.B. tty2).
Datei nach download in ein Verzeichnis Deiner Wahl z.B. /root/src/
kopieren, dann Datei entpacken:
host:~ # mkdir /root/src
host:~ # cd /root/src/
host:~/src/ # tar xzvf evtouch-0.6.1.tar.gz
Dann Treibermodul ins X11 Verzeichnis kopieren:
host:~/src/ # cd evtouch-0.6.1 #
host:~/src/evtouch-0.6.1 # cp evtoch_drv.o /usr/X11R6/lib/modules/input/
USB Stecker des Touchscreen stecken,
prüfen ob Kernelmodul touchkitusb geladen wurde.
host:~/src/evtouch-0.6.1 # lsmod | grep touchkitusb
Falls nicht:
host:~/src/evtouch-0.6.1 # modprobe touchkitusb
Prüfen ob Kernelmodul evdev geladen wurde.
host:~/src/evtouch-0.6.1 # lsmod | grep evdev
Falls nicht:
host:~/src/evtouch-0.6.1 # modprobe evdev
Prüfen der Daten des Touchscreen:
host:~/src/evtouch-0.6.1 # cat /proc/bus/input/devices
Ausgabe etwa:
...
I: Bus=0003 Vendor=0eef Product=0001 Version=0100
N: Name="eGalax Inc."
P: Phys=usb-0000:00:10.2-2/input0
H: Handlers=mouse1 event3
...
In diesem Fall ist das
event3 wichtig.
Was bedeutet das, das Device event3 benutzt wird.
Das kann auf anderen Systemen anders sein.
Prüfen ob das Device vorhanden ist.
host:~/src/evtouch-0.6.1 # ls -al /dev/input/event*
...
crw-r----- 1 root root 13, 67 Dec 3 2004 /dev/input/event3
...
Zum sicherstellen, das das evdev Modul geladen wird, habe ich folgende Zeile:
alias char-major-13-67 evdev
in /etc/modprobe.conf.local eingetragen.
X-Server Konfiguration:
folgende Zeilen in die X-Server-Konfigurationsdatei /etc/X11/XF86Config eintragen:
Section "Files"
...
InputDevices "/dev/input/event3" #Zeile hinzufügen falls nicht vorhanden
...
EndSection
Section "InputDevice" # neue Section anlegen
Identifier "touchscreen"
Driver "evtouch"
Option "Device" "/dev/input/event3"
Option "DeviceName" "touchscreen"
#########################################
# ein guter Anfang, wird später editiert:
#########################################
Option "MinX" "0"
Option "MinY" "0"
Option "MaxX" "2000"
Option "MaxY" "2000"
#########################################
Option "ReportingMode" "Raw"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
Option "SendCoreEvents"
Option "Calibrate" "1" # wird nur zur Kalibrierung gebraucht!
EndSection
Section "ServerLayout"
...
InputDevice "touchscreen" "CorePointer" #Zeile hinzufügen
...
EndSection
Kalibration:
Datei ev_calibrate von evtouch-0.6.1 ins Binary-Verzeichnis des X-Server kopieren:
host:~/src/evtouch-0.6.1 # cp ev_calibrate /usr/X11R6/bin/
X-Server beenden
host:~/src/evtouch-0.6.1 # init 3
aus dem Verzeichnis evtouch-0.6.1
host:~/bin/evtouch-0.61 # ./calibrate.sh
aufrufen.
Auf dem Bildschirm sollte ein heller Hintergrund mit Kreuzen in der Mitte und Ecken erscheinen
ab der ersten Berührung erscheinen 2 Zeilen mit den Min/Max Werten für X/Y und
dem aktuellen Wert der Position.
Den Rand und die Ecken des Bildschirm mit einem Stift mehrmals abfahren.
Die Min/Max Werte für X und Y abschreiben.
(die Kalibration wie in der README.calibration funktionierte bei mir nicht)
X-Server killen mit [STRG] + [ALT] + [BACK]
In der /etc/X11/XF86Config
Section "InputDevice"
...
#########################################
# ein guter Anfang, wird später editiert:
#########################################
Option "MinX" "neuer Wert"
Option "MinY" "neuer Wert"
Option "MaxX" "neuer Wert"
Option "MaxY" "neuer Wert"
#########################################
...
EndSection
editieren mit den abgelesenen Werten,
und Zeile für Kalibration deaktivieren:
# Option "Calibrate" "1"
X-Server starten
host:~/bin/evtouch-0.61 # init 5
Geschafft!
Touchscreen testen, wenn alles OK ist sollte es jetzt funktionieren.
Bei mir waren die Achsen und die Richtung vertauscht
durch einbinden der Optionen
Option "SwapX" "1"
# Option "SwapY" "1"
Option "Rotate" "cw"
# Option "Rotate" "ccw"
konnte ich das korrigieren.
Wilfried Hemp
Shipping Germany
- Parcel (DHL-Standard) 4.80 EUR (incl. saturday delivery)
- Parcel (UPS-Standard) 6.90 EUR (excl. saturday delivery)
- Parcel (UPS-Express Saver) from 14.90 EUR (excl. saturday delivery)
- Parcel (UPS-Express) from 19.90 EUR (excl. saturday delivery)
UPS Shipping Europe (+ Switzerland, Norway, Great Britain)
- Parcel (UPS Standard) 13.50 EUR
- Parcel (UPS Express Saver) from 29.00 EUR
- Parcel (UPS Express) from 49.00 EUR
DHL Shipping Europe I (AT, CZ, NL, PL)
- Parcel (DHL Economy) 13.50 EUR
DHL Shipping Europe II (BE, BG, CH, DK, EE, ES, FI, FR, GR, HU, HR, IE, IT, LV, LT, LI, LU, MC, NO, PT, RO, SE, SK, SL, SM, VA)
- Parcel (DHL Economy) 14.90 EUR
UPS Shipping Worldwide
- Parcel (UPS Standard) from 49 EUR
- Parcel (UPS Express Saver) from 79 EUR
- Parcel (UPS Express) from 98 EUR
(Depending on weight the charges can be higher. You can see final rates in the shopping cart.)