It’s always interesting to have a touchscreen, it can be used in many purposes. Somebody use it on their car with a GPS system, and the others use a touchscreen with a multimedia system in their home.
I got a 8.4″ TouchScreen from Yahoo!Bid last week. It has a Toshiba 8.4″ TFT-LCD, 1 VGA interface, 2 AV interface and a USB cable for eGalax (鑫科資訊股份有限公司) touch panel controller. I tried to use the touch panel controller named touchkit on Debian GNU/Linux distribution.
Actually, eGalax provides software and documents of touchkit for Linux, they even support Debian! You can download the kernel/X server drivers and calibration utilities from the web site. Tim Starr wrote a well instruction for people who want to use eGalax software on Debian.
Unfortunately, the driver/program from eGalax are just too complicated for me. I don’t want to recompile a kernel module and driver for X server. Especially I don’t want to install software with many Tcl/TK scripts, either.
In fact, there is a kernel module for eGalax called touchkitusb comes with stock 2.6 kernels. If you installed udev, the driver will be loaded when you plug the usb cable. You can do “lsusb” to display verndor id and product id of the connected device, mime is 0xeef, 0x0001.
Bus 002 Device 003: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
But you still need a driver for X server. There is touchscreen driver for Fujitsu/Siemens LifeBook wrote by Kenan Esau. If you are using Debian, you can download my precompiled package from my web site or apt-get installl xserver-xorg-input-evtouch with the deb source. If you are a debian developer want to sponser this package, please make contact with me.
deb http://blog.nutsfactory.net/debian/ sid main contrib non-free
deb-src http://blog.nutsfactory.net/debian/ sid main contrib non-free
After install these package, you will also need to setup X server config, it looks like below
Section “InputDevice”
Identifier “Touchkit”
Driver “evtouch”
Option “Device” “/dev/input/event5”
Option “DeviceName” “touchscreen”
Option “MinX” “1970”
Option “MinY” “1933”
Option “MaxX” “118”
Option “MaxY” “100”
Option “ReportingMode” “Raw”
Option “SendCoreEvents”
Option “SwapY” “1”
EndSection
You have to modify the device name, do “cat /proc/bus/input/devices” to get the right device handler if you don’t know. You will also need to change the MinX,MinY,MaxX,MaxY options by running a calibration program. There is one in evtouch tallball, but the device name is hardcoded. It’s not very easy to use. My suggestion is download another program from http://linux.chapter7.ch/touchkit/, compile it with this command “gcc -L/usr/X11R6/lib/ -lX11 -o calibrator calibrator.c”, and execute “./calibrator /dev/input/event5”. Then you can get the options. There are many other options for advanced configuration, please consult the project page.
If you are not using Debian, Daniel Ritz wrote a mini-HowTo for touchkit.