[Home]Debian Wheezy

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Installing a Serial TouchScreen in Debian Wheezy

Install the package " inputattach"

 Open a terminal or command line and type -
sudo apt-get install inputattach

 You will be prompted for the password and only you know what it is

Install the Elographics driver package

 From that same command line, type - 
Modprobe elo

 It should install and return you right back to the prompt 

Installing the package " xinput-calibrator "

 Add the " sid " repository to /etc/apt/sources.list so that you can install the " xinput-calibrator " package.
 If you dont do this, it will not find the package and will not be able to install it. 
 I typed these lines exactly as you see here -

deb http.debian.net/debian sid main contrib non-free

 Update apt so that it can "see" the new repository 
 Again, from the command line, type -
sudo apt-get update

 Once it has completed, install the package " xinput-calibrator " 
 From the command line, type -
sudo apt-get install xinput-calibrator

 Comment the sid repository back out and leave it commented out so that it does not get used in the future!
 If you do not, you run the risk of causing yourself many problems in the future! 
#deb http.debian.net/debian sid main contrib non-free

 Now update apt again, so that it removes that repository from normal use
 From the command line, type - 
sudo apt-get update

Determining what port your touchscreen is connected to

 Now, you want to get some information about your touchscreen 
 From the command line, type - 
$> cat /proc/bus/input/devices

 The result of this is that some information will be retrned to the screen. 

 Look for your touchscreen's section and make note of the serial port being used.

Example output -

I: Bus=0013 Vendor=0029 Product=0000 Version=0107
N: Name="Elo Serial TouchScreen"
P: Phys=ttyS0/serio0/input0
S: Sysfs=/devices/pnp0/00:07/tty/ttyS0/serio2/input/input4
U: Uniq=
H: Handlers=mouse1 event4
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=1000003

 In my case, you can see on the "P" line that it is using ttyS0. ( /dev/ttyS0 )

Edit /lib/udev/60-inputattach.rules to add

# Attach Elo Serial TouchScreen
ACTION=="add|change", SUBSYSTEM=="tty", KERNEL=="ttyS0", \
RUN+="/sbin/modprobe elo", \
RUN+="/lib/udev/inputattach --daemon -elo /dev/%k "
Section "InputClass"
Identifier "elographics config"
MatchProduct "Elo Serial TouchScreen"
Option "EmulateThirdButton" "on"

 Replace "ttyS0" with your own appropriate value.

Create and then edit the file /usr/share/X11/Xorg?.conf.d/99-elographics.conf

# Elo Serial TouchScreen calibration values from xinput-calibrator
# Note - these are my values. You can place them in here, but they will get changed when you run xinput-calibrator

Section "InputClass"
Identifier "calibration"
MatchProduct "Elo Serial TouchScreen"
Option "Calibration" "4074 5 4032 44"
Option "SwapAxes" "0"
Option "EmulateThirdButton" "on"

Run xinput-calibrator & follow the prompts.

When it is done, it _should_ update the 99-elographics.conf file. 
However, due to variances in some distributions, it may not work as intended and you may have to edit the values foryourself. 
When it has completed running, it will pop up a window with your resultant calibration values. 
Write these down and then edit the 99-elographics.conf file to reflect them in the " Option"Calibration" " field.

Restart X or reboot and the touchscreen should work.

I want to thank everyone that help me get through this on the Linuxcnc discussion forum. In no particular order - ArcEye, cncbasher, BigJohnT, DaBit, EW57. 
If I've fogotten someone, I apologize.

There you have it. I hope this helps someone retain the amount of hair I myself lost and avoid 
the long term effects of the conclusions by avoiding slamming one's head into the wall repeatedly.

Thank you very much Gentlemen!

Installing other TouchScreens in Debian Wheezy

Acer FT200FQL. USB vendor:model id 222a:0037

This screen appears to work (partially, right button context unresolved as yet) with the generic hid_multitouch driver

Increasingly in later kernels the vendor / model specific drivers seem to be being dropped, so the first port of call for a usb touchscreen is probably to try this driver


sudo modprobe hid_multitouch
in a terminal, then see what appears in the kernel messages having loaded it
tail -f /var/log/messages
and see if you can get response from it.

There is also a Ubuntu wiki page found by @dracozny which offers some strategies for various popular touchscreens. https://wiki.ubuntu.com/Touchscreen

Not all the advice will be relevant, but the solutions for 12.04 should not be too far from those required for Wheezy.

If you find a solution for a particular touchscreen under Wheezy, please don't keep it to yourself, advise the larger community.

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions
Last edited September 12, 2014 12:58 am by ArcEye (diff)
Published under a Creative Commons License