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.
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
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"
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 latest evtouch archive.
- 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://18.104.22.168/web20/eg/drivers.htm.
- The driver I used (32bit) is http://22.214.171.124/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
- download the file (below is for 32bit)
- 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
- 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.
- 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.