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
Versandkosten Deutschland
- Paket (DHL-Standard) 4.80 EUR (inkl. Samstagszustellung)
- Paket (UPS-Standard) 6.90 EUR (exkl. Samstagszustellung)
- Paket (UPS-Express Saver) ab 14.90 EUR (exkl. Samstagszustellung)
- Paket (UPS-Express) ab 19.90 EUR (exkl. Samstagszustellung)
UPS Versandkosten Europa (+ Schweiz, Norwegen, Großbritannien)
- Paket (UPS Standard) 13.50 EUR
- Paket (UPS Express Saver) ab 29.00 EUR
- Paket (UPS Express) ab 49.00 EUR
DHL Versandkosten Europa I (AT, CZ, NL, PL)
- Paket (DHL Economy) 13.50 EUR
DHL Versandkosten Europa II (BG, CH, DK, EE, ES, FI, FR, GR, HU, IE, LV, LT, LI, LU, MC, NO, PT, SE, SM, VA)
- Paket (DHL Economy) 14.90 EUR
UPS Versandkosten Weltweit
- Paket (UPS Standard) ab 49 EUR
- Paket (UPS Express Saver) ab 79 EUR
- Paket (UPS Express) ab 98 EUR
(Je nach Gewicht der Sendung können die Verssandkosten höher anfallen. Die genauen Kosten werden im Warenkorb angezeigt.)