Evtouch
Drivers for evtouch, generally this devices are systems with touchscreen embedded. To check if this driver must be installed check the devices under /proc/bus/usb/devices and find for eGalaxy
# cat /proc/bus/usb/devices | grep -A2 eGalax S: Manufacturer=eGalax Inc. C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbtouchscreen
Driver
In order to get driver working on a system is necessary to have done 3 parts:
- Xorg modules
- Xorg configuration
- udev rules
How to setup Xorg modules for evtouch
The modules are installed under /usr/lib/xorg/modules/input
- evtouch_drv.la
- evtouch_drv.so
The xorg configuration will have 3 new sections.
- Two new input devices under _Section "ServerLayout"
InputDevice "touchscreen0" InputDevice "dummy"
- A new section for the touchscreen
Section "InputDevice" Identifier "touchscreen0" Driver "evtouch" Option "Device" "/dev/input/evtouch_event" Option "MinX" "165" Option "MinY" "230" Option "MaxX" "1750" Option "MaxY" "1700" Option "SwapX" "1" Option "ReportingMode" "Raw" Option "SendCoreEvents" "On" Option "ButtonMapping" "1" EndSection
- Finally, a new section for a null pointer device will be added to avoid weird behavior on the touchscreen
Section "InputDevice" Identifier "dummy" Driver "void" Option "Device" "/dev/input/mice" EndSection
There are 2 ways to have it installed on system, from Bashlinux repository and manually.
- From Bashlinux repository, innstall the driver using yum
# yum install xorg-x11-drv-evtouch
- Manually
- Download the driver from http://www.conan.de/touchscreen/evtouch.html
- Decompress the driver
- Follow readme instructions
Calibration
Calibration is done by modifying Xorg configuration on /etc/X11/xorg.conf
Each device has different values to work correct, this section describes some working values for specific devices. All configurations were tested at 1024x768
How to calibrate evtouch touchscreens on small factor devices
Note that all devices need in some point to swap one of the axis and/or rotate the pointer movements.
- MTP-1702
Option "MinX" "215" Option "MinY" "400" Option "MaxX" "1700" Option "MaxY" "1750" Option "SwapX" "1"
- MTP-1502
Option "MinX" "165" Option "MinY" "230" Option "MaxX" "1750" Option "MaxY" "1700" Option "SwapX" "1"
- Protech PS-6508
Option "MinX" "500" Option "MinY" "500" Option "MaxX" "3500" Option "MaxY" "3580" Option "SwapY" "1" Option "Rotate" "CW"
- IRTouch as USB
Option "MinX" "50" Option "MinY" "50" Option "MaxX" "4050" Option "MaxY" "4050"
- Partner EM-200
Option "MinX" "200" Option "MinY" "200" Option "MaxX" "3900" Option "MaxY" "3900"
touchcal doesn't work This driver is intended for USB evtouch devices and touchcal calibration tool might not work because this tool was designed for serial devices. |
How to calibrate evtouch touchscreens on Fedora
On FC10 evtouch
handles almost all USB touchscreens, excepting PenMount which has its own driver build from source with its own calibration tool.
The touchscreens that are going to be handled by evtouch driver, are initiated by the usbtouchscreen
kernel module, and then called from xorg fro the special device /dev/input/evtouch_event that points to the proper event defined on udev rules.
The rules are defined on /etc/udev/rules.d/50-tapcode.rules file, and the following are the current defined USB touchscreens for evtouch driver:
* USB IRTouch # IRTOUCHSYSTEMS Co. Ltd. KERNEL=="event*", SUBSYSTEM=="input", ATTRS{idVendor}=="595a", ATTRS{idProduct}=="0001", SYMLINK+="input/evtouch_event" * USB IRTouch # IRTOUCHSYSTEMS Co. Ltd. KERNEL=="event*", SUBSYSTEM=="input", ATTRS{idVendor}=="6615", ATTRS{idProduct}=="0001", SYMLINK+="input/evtouch_event" * Elo entuitive # Elo TouchSystems KERNEL=="event*", SUBSYSTEM=="input", ATTRS{idVendor}=="04e7", ATTRS{idProduct}=="0020", SYMLINK+="input/evtouch_event" * Partner EM-200 # D-WAV Scientific Co., Ltd eGalax TouchScreen KERNEL=="event*", SUBSYSTEM=="input", ATTRS{idVendor}=="0eef", ATTRS{idProduct}=="0001", SYMLINK+="input/evtouch_event"