ELO touchscreen

From LinuxMCE
Revision as of 05:18, 5 December 2008 by Simon b (Talk | contribs)

Jump to: navigation, search

available starting with: LinuxMCE beta 4 only for the USB version of the touchscreen

The ELO touchscreen drivers only run on the 32 bit architecture (i386), not the 64-bit. You can install them on a media director that is 32 bit even if the core is 64 bit. Just be sure the architecture for the media director is i386 and not amd64.

To install the ELO touchscreen drivers in LinuxMCE 0710, run this command:

apt-get install elo-touchscreen

and reboot the computer.

The commands for running the calibration utility are:

cd /elo
./elova -u

These must the run under X.



-----------

Above mentioned solution for Linuxmce 7.10 RC1 and above + ELO 1545L does not work.

In that case you need to uninstall elo driver, provided above (or make a clean installworked in my case) and use following how-to:

--------------------

Elo Touch Screen Intelli Touch (USB) <o:p></o:p>


1.-Sources, and an incomplete tutorial can be found here:
<a href="http://stz-softwaretechnik.com/%7Eke/touchscreen/evtouch.html" target="_blank">http://stz-softwaretechnik.com/~ke/t...n/evtouch.html</a>

Basic installation is copied from the website, but added my monitor's right values for xorg.conf, and udev-rules so the right events are triggered.

2.-The specs of the monitor I used, plus my PC specs:<o:p></o:p>

  • Elo Touch Screen monitor with IntelliTouch (Surface Acoustic Wave). Model 1939L, I used USB although monitor also has Serial interface.<o:p></o:p>
  • Linux ubuntu 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686 GNU/Linux<o:p></o:p>
  • Ubuntu 7.04 Feisty Fawn<o:p></o:p>
  • CPU: Intel P4 3Ghz with HT<o:p></o:p>


3.-Why this guide?
This guide is meant to help people install touch screen monitors that use IntelliTouch technology (Surface Acoustic Wave), hopefully, other technologies will also work, although I don't have the hardware to test it. This guide was also meant to complement the source's website, as it lacked right values for Elo Touch monitor, and tutorial didn't mention udev-rules, which are needed to set the right handlers for the linux kernel.

4.-Things you need:
I used the precompiled binaries, you can find them in the website I mentioned in the first point. The latest at the time I'm writing this is:

Precompiled driver for X V0.8.7

Also, you will need to copy udev-rules, the file you need can be found also in the same website, inside a sources tarball:

X driver sources V0.8.4

5.-Installation
Download precompiled binaries.<o:p></o:p>

Code:<o:p></o:p>

tar -zxvf evtouch-0.8.7.tar.gz<o:p></o:p>

cd evtouch-0.8.7<o:p></o:p>

sudo cp evtouch_drv.so /usr/lib/xorg/modules/input/<o:p></o:p>

Open /etc/X11/xorg.conf and add this lines:<o:p></o:p>

Code:<o:p></o:p>

Section "InputDevice"<o:p></o:p>

    Identifier "touchscreen"<o:p></o:p>

    Driver "evtouch"<o:p></o:p>

    Option "Device" "/dev/input/evtouch_event"<o:p></o:p>

    Option "DeviceName" "touchscreen"<o:p></o:p>

    Option "MinX" "4095"<o:p></o:p>

    Option "MinY" "4095"<o:p></o:p>

    Option "MaxX" "0"<o:p></o:p>

    Option "MaxY" "0"<o:p></o:p>

    Option "ReportingMode" "Raw"<o:p></o:p>

    Option "Emulate3Buttons"<o:p></o:p>

    Option "Emulate3Timeout" "50"<o:p></o:p>

    Option "SendCoreEvents" "On"<o:p></o:p>

EndSection<o:p></o:p>

<o:p> </o:p>

Section "InputDevice"<o:p></o:p>

    Identifier "dummy"<o:p></o:p>

    Driver "void"<o:p></o:p>

    Option "Device" "/dev/input/mice"<o:p></o:p>

EndSection<o:p></o:p>

If Min/Max values don't work correctly for you, you'll have to adjust that values manually (calibration application doesn't work, the author of the sources himself has stated that, at least at the writing of this how to).

Now search for "ServerLayout" section in the same file, and add this lines just before EndSection<o:p></o:p>

Code:<o:p></o:p>

        InputDevice     "touchscreen"   "CorePointer"<o:p></o:p>

        InputDevice    "dummy"<o:p></o:p>

Note that Section "InputDevice" with Identifier "dummy" and InputDevice "dummy" are only needed if you use xorg > 7.2.

Next, you have to find your monitors name:<o:p></o:p>

Code:<o:p></o:p>

cat /proc/bus/input/devices<o:p></o:p>

you'll get something like this:<o:p></o:p>

Code:<o:p></o:p>

I: Bus=0003 Vendor=04e7 Product=0020 Version=0100<o:p></o:p>

N: Name="Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface"<o:p></o:p>

P: Phys=usb-0000:00:10.1-1/input0<o:p></o:p>

S: Sysfs=/class/input/input2<o:p></o:p>

H: Handlers=js0 event2<o:p></o:p>

B: EV=b<o:p></o:p>

B: KEY=10000 0 0 0 0 0 0 0 0<o:p></o:p>

B: ABS=100 3<o:p></o:p>

Next, you have to add udev-rules to your system, download and extract "X driver sources V0.8.4":<o:p></o:p>

Code:<o:p></o:p>

tar -jxvf xf86-input-evtouch-0.8.4.tar.bz2<o:p></o:p>

cd xf86-input-evtouch-0.8.4<o:p></o:p>

Modify 69-touchscreen.rules file for your monitor, check the bold letters (or if you are using the same monitor as me, I will paste my file for you):<o:p></o:p>

Code:<o:p></o:p>

# Evtouch udev.rules<o:p></o:p>

#<o:p></o:p>

# Because Evtouch can't autoprobe devices we assume that we only<o:p></o:p>

# Have one device so we can make it like this :P<o:p></o:p>

#<o:p></o:p>

# List here your touchscreen, check if it works  and send it to rpms_AT_ilmi_DOT_fi<o:p></o:p>

# Name can be found in /proc/bus/input/devices (In console make command 'cat /proc/bus/input/devices')<o:p></o:p>

#<o:p></o:p>

# Tested on Telepeak  Model 800-Y-Y-V (http://www.telepeak.com). Should work on most eGalax based stuff!<o:p></o:p>

KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface", SYMLINK+="input/evtouch_event"<o:p></o:p>

#<o:p></o:p>

# This could be also like this (eGalax Inc. USB TouchController)<o:p></o:p>

# KERNEL=="event*", SUBSYSTEM=="input", ATTRS{idVendor}=="0eef", ATTRS{idProduct}=="0001", SYMLINK+="input/evtouch_event"<o:p></o:p>

#<o:p></o:p>

Now, copy the file to /etc/udev/rules.d/

That should be it, restart your system, and it should work.<o:p></o:p>

----------------------