(c) 2002-2006 by Christoph Baumann, cgb(at)debian.org
v3.4 -- Nov 7, 2006 -- the GNU FreeDocumentation License applies to this document
Linux noob here struggling with setting up a touchscreen under Debian Wheezy. The screen in an Elo TouchSystems 1519L connected via USB. I have verified that the screen works under windows so I know the hardware functions. I have tried installing drivers elographics, evtouch but no joy.
This document describes how to set up a touch screen input device under XFree86. As the author had only the opportunity to work with devicesfrom EloTouch(R) and MicroTouch(R) this HOWTO is rather specific for thesedevices. The examples given in this HOWTO concentrate on devicesconnected via the serial port i.e. /dev/ttyS0 or /dev/ttyS1.(Information about USB devices would be appreciated!)
Touch screen devices are configured in the Xinput section in the XF86Configfile (mostly /etc/X11/XF86Config or /etc/XF86Config).At first verify that the device driver modules exist. They are located in/usr/X11R6/lib/modules/ (the modules for the above mentioned devices are xf86Elo.so and xf86MuTouch.so). Now have a look into XF86Config.There should be a section looking like this:
To get the module loaded by the X server there has to be a section like this:
Now the more tricky part. X needs to know some parameters about the device.The section for this looks like this (see 'man XF86Config' for more details):
The values for the entries MinimumXPosition etc. are of course specificfor the setup of the hardware (i.e. depend on the position of the touchscreen relative to the monitor). The values determine where the points (0,0)and (xmax,ymax) on your monitor (xmax and ymax depend on the resolutionchosen for the Xserver, such as 1024x768) are mapped on the touch screen.The device driver reads these values and interpolishes the other coordinates.For illustration:
This mapping can be done by trial and error or by reading the raw outputof the device (needs some serial port programming, see 'The Linux Serial Programming HOWTO'). For the types EloTouch and MicroTouch exists arudimentary calibration tool (written by the author of this document,it can be found at http://touchcal.sourceforge.net).
After starting X, type in an Xterminal the command
xsetpointer <devicename>
where<devicename> is the name defined in XF86Config with the lineDeviceName '.....', in this example it would be TouchScreen.
To get the device working on startup use the AlwaysCore option inthe touch screen section (see above)
To use the touch screen and a mouse in parallel you need to enter themouse specs in the Xinput-section. This definitions should be the sameas in the Pointer-section. The following example is for aPS/2-mouse:Several people pointed this out, especially the usage of theAlwaysCore option. Thanks to them all.
(from Lee Monamy)
Example XF86Config-4 for an ELO touch screen:
Noteable differences between this and the version 3 config are that youspecify a Device, *not* a Port, otherwise you get an error.Also, AlwaysCore from v3 has been replaced with SendCoreEvents.
You must also add to the ServerLayout section, despite that X mightsay:'(II) XINPUT: Adding extended input device 'TOUCHSCREEN' (type:Elographics Touch Screen)'
from Dirk Mueller (for Microtouch SMT3 Series):
Option 'Type' can be 'finger' or 'stylus'Since Microtouch was bought by 3M-Touch, the resources are onhttp://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux
According to Wong Yeow Sen the configuration option names have changedin XFree86 4.2 (at least with Red Hat 7.3). If it seems yourcalibration values aren't parsed try the following:
(from Joerg Hau)
Information about these devices can be found here:
'...
Harald Hoyer's Linux Touch Panel Drivers for the Fujitsu LifebooksB112/B142/B2130, http://parzelle.de/Linux/Lifebook/. Unfortunately,this is XFree 3.x only and it seems that this information is now'static' (dead?).
Kenan Esau's Lifebook Series B Touchscreen driver, which is theadaptation of Harald's driver to XFree 4.x.http://www.conan.de/lifebook/lifebook.html.
I [Joerg Hau] have used Kenan's driver on my Fujitsu LifeBook B142 (described athttp://www.mysunrise.ch/users/joerg.hau/linux/b142.htm), and it works like a charm.
...'
(from Kenan Bektas)
Example xorg.conf for an Elo TouchSystems 2216 AccuTouch® USB Touch-Monitor:
Manpage for XF86Config
http://www.hof-berlin.de/tablet/tablet.html (Thanks toChrister Olofsson for sending me this URL)
http://freshmeat.net/projects/xf86elousb (Driver for iTouch USB)
The manual shipped with your touch screen :-)
I´m trying to get this ELO touchscreen (ELO 1229L using the 2500U USB controller) to work in linux. I´ve already setup X to use the second display, but I´m having some difficulty getting the touch input setup. I have a linux driver for the monitor which I´ve compiled and installed and now I just need get the driver to talk to the device. The problem is that I don´t know what /dev name to use. All the documentation for the touchscreens assume that one is using the RS232 version of the screen which plugs into a normal serial port so it talks on /dev/ttyS0. But what should I use for the USB device? The usbserial kernel module claims to use /dev/ttyUSB0-255 but they didn´t exist on my machine so I used mknod /dev/ttyUSB0 c 188 0 as directed by the kernel documentation. But when I tell the driver to use that, it gives me 'System error while sending to Elographics touchscreen'. Are there any other /dev names that I can try? Is there anyway of finding out to which /dev name a specific device is linked to? Programs like usbview does show the touchscreen USB device plugged in but doesn´t tell me which /dev name it´s using. Some potentially helpful info: Distro: Mandriva Limited Edition 2005 (MDK 10.2) Kernel: 2.6.11-6mdksmp System: P4 3.0GHz HyperThreading, 1GB RAM, Intel 865 mobo lsusb output: Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 003: ID 04e7:0007 Elo TouchSystems Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Thanks, ZX_SA