Search:  
Gentoo Wiki

Elo_Touchscreen


This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc

Contents

Intro

In this guide we will configure Gentoo and X11 to use a serial based Elo touchscreen.

Kernel Config

This information is valid as of the 2.6.16-gentoo-r9 kernel.

Enter menuconfig:

Navigate to Device Drivers >> Input device support And build into the kernel the touchscreen interface and enter in the target screen resolution.

Linux Kernel Configuration: Input device support
< >   Joystick interface
<*>   Touchscreen interface
 (1024)  Horizontal screen resolution
 (768)   Vertical screen resolution
< >   Event interface
< >   Event debugging

Now scroll down to Touchscreens --->:

Linux Kernel Configuration: Touchscreens
 --- Touchscreens
 < >   Gunze AHL-51S touchscreen
 <*>   Elo serial touchscreens
 < >   MicroTouch serial touchscreens
 < >   ICS MicroClock MK712 touchscreen

Build in support for the Elo serial touchscreens. You could of course make this a module if you so desired.

Note: If you build it as a module it will be called elo

Rebuild Kernel

Once you have done that you can exit and save the kernel configuration. Rebulid the kernel and make sure you have your system set to boot off the new kernel.

X11 Driver

It is assumed you are attempting to get the touchscreen to work with X11 7.0 or newer. You will want to add the elographics flag in the INPUT_DEVICES parameter in your make.conf

File: /etc/make.conf
 INPUT_DEVICES="keyboard mouse elographics"
 

New X11 Installation

You can now emerge x11-base/xorg-x11: emerge -av xorg-x11

Existing X11 Installation

You only need to emerge the X driver for the touchscreen: emerge -av x11-drivers/xf86-input-elographics

X11 Configuration File

Generate a new X11 configuration file, X -configure if needed. The touchscreen input device is going to need to be added into the X11 configuration file. The modified sections are shown in the file below.

File: xorg.conf.new
 Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "Touchscreen1" "SendCoreEvents"
 EndSection
 
 Section "InputDevice"
        Identifier "Touchscreen1"
        Driver     "elographics"
        Option     "Device"     "/dev/ttyS0"
        Option     "AlwaysCore"
        Option     "screeno"    "0"
        Option     "MinimumXPosition" "4024"
        Option     "MaximumXPosition" "-18"
        Option     "MinimumYPosition" "4026"
        Option     "MaximumYPosition" "23"
        Option     "UntouchDelay" "3"
        Option     "ReportDelay" "1"
 EndSection
 

You can specify which serial port the monitor is connected to on the Option "Device" "/dev/ttyS0" line. The calibration of the touchscreen is controlled with the 4 position options and these numbers are just an example, your screen will more than likely require different values.

Calibration

This is where things become complicated. Elo does provide a calibration program for Linux however it was originally intended for XFree86 as best can be determined. As such it doesn't work very well under X11. The program can be downloaded from: http://www.elotouch.com/files/unrestricted_drivers/linux_public.zip

The elocalX program included in the archive at the above link may or may not work however it is worth trying. It might take a few attempts to get it to work.

When it does, it will generate the values you need to put in for the 4 position options in the X11 configuration file mentioned earlier.

Here is a universal calibration utility for those of you that have linux-2.6. It needs the linux with input event layer and user input activated. It works by cloning a absolute enabled input and transforms the abs_x and abs_y according with the calibration. Downloaded from: http://downloads.sourceforge.net/tabletvk/calibrater-0.9.tgz

Another calibration program that will run under console and can be used to calibrate Elo touch screen is touchcal. Usage is pretty simple, just run:

touchcal e /dev/ttyS0 

(assuming ttyS0 is where Your touch screen is connected) and it will prompt to touch screen in places marked with plus sign, then it will give You correck calibration data to insert to xorg.conf

Note: This area of the HOWTO is where I could use the most help.

Additional Information and Solutions

There is a thread on the Gentoo forums discussing Elo touchscreens and getting them to work. http://forums.gentoo.org/viewtopic-p-3534148.html#3534148

I made my 1515 Elo touchscreen work over USB with: http://www.stz-softwaretechnik.de/~ke/touchscreen/evtouch.html ;-) Make sure you have USB touchscreen support in kernel thou.

Retrieved from "http://www.gentoo-wiki.info/Elo_Touchscreen"

Last modified: Thu, 04 Sep 2008 22:45:00 +0000 Hits: 12,802