English / Deutsch | Druckversion

Xorg Evdev Touchscreen Driver - plpevtch


Einleitung


Der plpevtch Treiber ist ein Eventdevice Treiber für Touchscreens mit Xorg 7.x.

Weshalb ein neuer Touchscreen Treiber, obwohl evtouch bereits existiert? Ich habe evtouch mit meinem Flybook und Xorg 6.9 sehr lange verwendet. Jedoch hat der Treiber unter Xorg 7.3 bei mir nicht mehr funktioniert. Vor kurzem habe ich einen eGalax Touchscreen gekauft und auch hier hat evtouch nicht funktioniert. Deshalb programmierte ich schnell einen eigenen Treiber und der funktioniert jetzt so wie ich es mir vorstelle. plpevtch ist keine Weiterentwicklung von evtouch.


Download


xf86-input-plpevtch-0.5.0.tar.gz (2010/05/25).

xf86-input-plpevtch-0.4.1.tar.gz (2010/04/17) SwapAxes hinzugefügt von Ken
xf86-input-plpevtch-0.4.0.tar.gz (2009/02/26)


Unterstützte Geräte


Ich habe nur 2 unterschiedliche Touchscreens. Daher kann ich nur sagen, das der Treiber bei diesen Touchscreens funktioniert. Der Treiber sollte aber auch mit anderen Touchscreens, die einen evdevice Kernel Treiber haben, funktionieren.

Der Treiber wurde erfolgreich getestet mit

  • USB Touchscreen eGalax (ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen)
  • Flybook Touchscreen PenmountLPC


Konfiguration


Wichtig: das evdev Kernel Modul muss geladen oder in den Kernel kompiliert sein!

Hier ist ein Teil einer Beispielkonfiguration für Xorg 7.x xorg.conf

Section "InputDevice"
    Identifier "touchscreen"
    Driver    "plpevtch"

    Option "Device" "/dev/input/event3"	# <-- use the evdev name
					# see /proc/bus/input/devices for your eventX
    
#    Option "Calibrate" 	# <-- uncomment this line to calibrate
#    Option "Debug" 		# <-- uncomment this line for debug

#    Option "MinX" "67"
#    Option "MaxX" "1984"

#    Option "MinY" "42"
#    Option "MaxY" "1920"

#    Option "InvX"		# <-- uncomment this line to invert X
#    Option "InvY"		# <-- uncomment this line to invert Y

#    Option "RightClick" 	"False"	# <-- uncomment this line to disable right click
					# right click is enabled by default
#    Option "RightClickMS" 	"5000"	# make right click after 5 seconds without moving the cursor
					# default is 3 seconds
#    Option "RightClickSquare"  "10"	# allow moving in a square of 10x10 pixels when waiting for
					# right click
					
#    Option "TouchFilter" 	"False"	# <-- uncomment this line to disable touch filter
					# touch filter is enabled by default
#    Option "TouchFilterMS" 	"20"	# ignore press/release within 20ms, default is 10ms

#    Option "SwapAxes" 		"True"	# swap X/Y axis

#    Option "GrabDevice"        "True"  # force  a  grab on the event device. Doing so will ensure that no
	                                # other driver can initialise the same device

EndSection    
ServerLayout ist auch zu bearbeiten
Section "ServerLayout"

    Identifier  "Simple Layout"
    Screen "Screen 1"
    InputDevice "Keyboard1" "CoreKeyboard"
    InputDevice "Mouse1" "CorePointer"

    InputDevice "touchscreen" "Pointer"  # <--- add this to ServerLayout

EndSection

Wie funktioniert die Kalibrierung


  • Fügen Sie Option "Calibrate" in der Touchscreenkonfiguration hinzu

  • Starten Sie den X Server neu

  • Fahren Sie am Touchscreenrand mehrmals entlang (ignorieren Sie den Mauszeiger). Dieser Schritt is nötig um die minimum und maximum Werte des Touchscreens zu erfahren.

  • Suchen Sie in /var/log/Xorg.0.log den letzten Eintrag von 'plpevdev' und 'Calibrate'. Sie sollten dies sehen

    (II) touchscreen: Calibrate | MinX: 67 | MaxX: 1984 | MinY: 42 | MaxY: 1920

    Tragen Sie Ihre Werte in der xorg.conf ein

  • Entfernen Sie die Calibrate Option in der xorg.conf.

  • Starten Sie den X Server neu.


Install


Falls Xorg in /usr/X11R7 installiert ist, dann
./configure --prefix=/usr/X11R7 && make && make install

Falls Xorg in /usr installiert ist, dann
./configure --prefix=/usr && make && make install



© 2024 by Elmar Hanlhofer
Die Seite wurde zuletzt am 25/May/2010 geändert.