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.


The touchscreen

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.

  • Peter

    Hi
    I tried to install the debian package
    http://people.debian.org.tw/~chihchun/debian/pool/main/e/evtouch/xserver-xorg-input-evtouch_0.8.0-1_i386.deb
    on debian testing (3 february 2007) and I got an unresolvable dependency:
    libaxw8 was required (?)
    I could find libaxw7 but no libaxw8.
    Why do I need a widgets library for a driver?

    Best regards
    Peter

  • Hi Peter,

    Because the package has a calibrate program which uses libxaw8. You are free to download the source package for rebuild a new deb file without libxaw8.

  • Hi Rex, this is Tim Starr the author of the document you have referenced in your entry. If it’s alright with you I would love to include a link to this entry in a continued effort to compile all sources of information on touchscreen drivers. If you are alright with it I will just add a small comment about your success using this method and a link to this article. Thanks and please let me know!

    -Tim

  • Hi, Tim

    Please feel free to do so and thanks for your documents on the driver. 🙂

    -Rex

  • Thanks! This is the only useful article I could find on installing TouchKit.

    I used the latest stable driver from the egalax web site http://home.eeti.com.tw/web20/eg/drivers.htm and installed easily using the instructions. (I’m using Ubuntu 8.04)
    The calibration tool is installed with the driver under /usr/local/TouchKit_x14. Run ./TouchKit in that directory.