Egalax-Touchscreen

From LinuxMCE
Revision as of 21:00, 11 September 2008 by Hari (Talk | contribs) (Configuration)

Jump to: navigation, search

egalax series Touchscreens

Used by many devices, some examples:

  • UnyTouch 15" LCD TouchScreens
  • Skyport GmbH 12.1" TFT Touchscreen VGA Monitor

There is a egalax driver, but for usb you can also use the evtouch xorg input driver.

evtouch driver

Installation

Install the evtouch package:

apt-get install xserver-xorg-input-evtouch

Adapt udev with the file provided by the evtouch driver:

cp 69-touchscreen.rules /etc/udev/rules.d

Configuration

Deactivate the existing mouse input device by setting the driver to "void", otherwise you get strange results:

Section "InputDevice"
    Identifier "Configured Mouse"
    Driver "void"
    Option "Device" "/dev/input/mice"
EndSection

Add a new input device:

Section "InputDevice"
    Identifier "touchscreen"
    Driver "evtouch"
    Option "Device" "/dev/input/evtouch_event"
    Option "DeviceName" "touchscreen"
    Option "MinX" "68"
    Option "MinY" "161"
    Option "MaxX" "1893"
    Option "MaxY" "1864"
    Option "ReportingMode" "Raw"
#    Option "Emulate3Buttons"
#    Option "Emulate3Timeout" "50"
    Option "SendCoreEvents" "On"
    Option "SwapY" "1"
#    Option "Calibrate" "1"
EndSection

And adjust the server layout:

Section "ServerLayout"
[...]
	InputDevice "touchscreen" "CorePointer"

Calibration

To calibrate the touchscreen, activate the "Calibrate" option in the touchscreen input device.

Run the calibration utility:

cd /usr/lib/xf86-input-evtouch/
./calibrate

If you get an error about a missing "empty_cursor.xbm", fetch it from the web and put it into "/". Use a pen or your finger to move across all corners and edges. Do not tap but drag over the screen. After you are done put the printed MinX/MinY/MaxX/MaxY values into the "xorg.conf" file. Note: the calibration did not work for me with the calibrate tool in the package. I used the one from the actual evtouch archive.

Links

http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html

http://linux.chapter7.ch/touchkit/mini-howto.txt

egalax driver

These instructions are the basic instructions included with the driver. If you get lost, follow those.
My units are USB. If you have PS2 or Serial devices, follow the instructions included with the driver.


Downloading the drivers

Drivers can be downloaded from http://210.64.17.162/web20/eg/drivers.htm.
The driver I used (32bit) is http://210.64.17.162/web20/drivers/touch_driver/Linux/TouchKit-1.08.1227-32b-k26.tar.gz
Here's how I did it. My MD is moon80, yours may vary. First, as root, ssh to your MD (from your core)
sudo ssh moon80
now, make sure your in /root
cd /root 
download the file (below is for 32bit)
wget http://210.64.17.162/web20/drivers/touch_driver/Linux/TouchKit-1.08.1227-32b-k26.tar.gz
unarchive the file:
tar -xvvf TouchKit-1.08.1227-32b-k26.tar.gz
cd TouchKit

Installing the drivers

First, we have to copy the driver into the right place
cp egalax_drv.so /usr/lib/xorg/modules/input

modifying /etc/X11/xorg/conf

There are 2 main modifications to the xorg.conf file.
first define the driver as an inputdevice. Add this section:
Section “InputDevice”
    Identifier  “EETI”
    Driver     "egalax" 
    Option     “Device”     “usbauto”
    Option     “Parameters” “/var/lib/egalax.cal”
    Option     “ScreenNo”   “0”
EndSection
Second, is to add this section to the serverlayout. Add this line to your [ServerLayout] section:
InputDevice    "EETI"       "SendCoreEvents"
That's it for xorg.conf. Restart X, (simply reboot the MD is easiest)

Configuring the TouchScreen

Once your MD comes back up, boot up KDE Desktop, and open a terminal.
cd /root/TouchKit
sudo ./TouchKit
This will load the touchkit configuration, allow you to calibrate the screen, etc.

Beta Drivers

The download site has some beta drivers for xorg 1.3 / 32bit. From what I can see, it simply automates the above. I did not try them as this worked perfectly.