Does the Evtouch driver support the usb Elo 2216 resistive touch screen?

Nate Moseman natemoseman at
Sun Oct 28 04:38:48 PDT 2007

On 10/27/07, Nate Moseman <natemoseman at> wrote:
> I've been banging my head against this one for a while now, but I can't
> figure out what I am suppose to be doing.
> I am using Debian Lenny/Sid with their Xorg packages. I've tried the
> Elographics driver, but my thing is not serial; it's usb so I figured that
> it's not suppose to be used with my device. I've tried hacking a 'elousb'
> driver and was able to get it to compile and sorta get loaded in this
> release... but I have absolutely know clue what I am doing. I can get the
> module to load but in it still complains that the driver is non-existant.
> I got it from:
> So I figured the evtouch seems to be the right driver.. but people only
> talk about Elo Intellitouch devices work which are accuostic devices, mine
> is a accutouch and is resistive so I figure it's different and I don't know
> if it's supported. I can get it to respond to key presses and I can
> sometimes get the cursor to wiggle back and forth at the bottom of the
> screen or the top of the screen and once sort a middle of the screen.
> But I can't get it to move up and down any.
> When trying to run the calibration tool it'll respond to clicks, but it
> doesn't seem to know that the cursor is moving around any. The minimal stays
> at '0' and the maximum stays at '2000' always for both X and Y no matter how
> much I move things around.

Ok.  PROBLEM SOLVED... Almost.

I am still curious about the evtouch stuff. But in fact I got it to work
passably well through the JOYSTICK DRIVER INTERFACE?! Who in the hell would
think that would work. The only clue I had was the screwy *-event-joystick
symbolic link that was created. Otherwise I would of never guessed to try
the joystick driver.

Seriously. This was a big wtf to me.  I was getting desperate and
frustrated.. I was lookup up HID specifications and trying to wrap my head
around a combination of code from X's evtouch driver, that out-of-date
elousb thing, and kernel's HID stuff.


If any body would happen to have the Accutouch USB Elo touch screen then you
can use the joystick driver to get it to work. Hopefully this will end up in
the top ten results for anybody searching for 'Elo usb touchscreen linux' or
whatever they would search for.

Note that is is the Accutouch touch screen. This is a resistive-based touch
screen and it's usb. There are many different types of Elo touch screens and
it seems that the most common are either going to be serial-based resistive
or usb-based acoustic-based.

For the resistive serial I expect you'd want to use the elographics driver.
The acoustic-based Elo touch screens are the Intellitouch things and I guess
are usb-based. For those it seems (according to Ubuntu user's wiki) that the
evtouch driver is what you'd want.
But for the Accutouch Elo stuff that's usb-based give the joystick driver a

I got it to work by switching to virtual console (ctrl-alt-f2) and run the
jscal program. This program is designed for calibrating joystick devices and
works 'ok' well for calibrating my touchscreen.

You'd want to be carefull though.. it's tricky and pay close attention to
the instructions. You don't want to save a bum calibration.

> jscal -c /dev/input/js0

What I did is: Axis 0 --- touch the very left of the screen,, right pressing
on the bezel. Then the middle of the screen. Then the far far right.
Then for Axis 1 -- touch the very bottom of the screen, then the middle,
then the top.
Axis 2 is the 'tap' mechanism. I hit 'enter' for for the 'minimal' without
touching the screen so it gets set to 0. Then again for the middle. For the
maximum I pressed down on the screen and hit enter. I don't know if it's
correct, but it seems to be working ok for now.

The realy tricky part is finding the center. I literally had to tape string
in a big X across my screen to get a accurate center position. (linux
usability kicks-ass, woot!) I'll play around and try to whip up a little gui
for doing calibraiton, but I suck at programming so don't bet on me
finishing it.

Once you get the calibration done (it'll probably take a half dozen tries)
then save it to a file, which you can execute at boot-up to restore the

jscal -p /dev/input/js0  > /etc/

After that is done then you have to configure X. This is the configuration I

Section "InputDevice"
    Identifier "touchscreen"
    Driver "joystick"
    Option "Device" "/dev/input/js0"
    Option "MapAxis1" "mode=absolute deadzone=0 axis=x"
    Option "MapAxis2" "mode=absolute deadzone=0 axis=-1y"

Don't forget to adjust the 'ServerLayout' section accordingly. (add the
'touchscreen' name identifier)
Now I tried the jscalibrator program in X, but apparently having X
configured to use the joystick realy screws things up when you try to run
the calibration program. So I recommend running jscal with X turned off.

Please, please, please will somebody add this information to some document
somewere for this AND correct any misinformation I spread in this email list
and in potential documentation.

I couldn't find any information on this anywere and I am happy that it
works. BTW the drivers for Debian Lenny/Sid are a bit broken right now. I
had to compile them from the git repo to get it to work right. The problem
was with the Axis 2 configured in 'absolute' mode it wouldn't work at all...
either with the x or y axis.  It would work fine in the default joystick
configuration, but that's not usefull for a touch screen.

Don't get me wrong. IT works nice now and I know that X developers are busy
and very smart (and probably very good looking) and my touch screen isn't
common, so I am not bitching at you guys so much as just a little venting.
IT works, I am happy. Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the xorg mailing list