Tslib
From ArmadeusWiki
Library to provide a common interface to touchscreen and allow touchscreen events filtering or calibrating...
Contents
Compiling
Preliminaries checks
This part is normaly not required on following distribution: ??
This part is required on: Ubuntu 6.04, KUbuntu 6.10 or more
- Be sure to have libtool package installed (tested with 1.5.22-4 & 1.5.24-1 versions).
Otherwise you will have following errors:
configure.ac:25: error: possibly undefined macro: AC_DISABLE_STATIC If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:26: error: possibly undefined macro: AC_ENABLE_SHARED configure.ac:27: error: possibly undefined macro: AC_LIBTOOL_DLOPEN configure.ac:28: error: possibly undefined macro: AC_PROG_LIBTOOL
- Be sure to have automake-1.6 or higher package installed (tested with 1.7 version -> working, 1.9.6 -> not working & 1.10 -> working !).
After automake package installation don't forget to update your /etc/alternatives/automake and /etc/alternatives/aclocal symlinks (tested on Ubuntu).
$ sudo ln -sf /usr/bin/automake-1.7 /etc/alternatives/automake $ sudo ln -sf /usr/bin/aclocal-1.7 /etc/alternatives/aclocal --> lrwxrwxrwx 1 root root 20 2007-06-27 21:43 /etc/alternatives/aclocal -> /usr/bin/aclocal-1.7 lrwxrwxrwx 1 root root 21 2007-06-27 21:39 /etc/alternatives/automake -> /usr/bin/automake-1.7
This part is MANDATORY
- In Buildroot, if you don't have configured the C++ cross-compiler yet (done in default configuration), then:
$ make menuconfig Toolchain Options ---> [*] Build/install c++ compiler and libstdc++? [*] Build/install a shared libgcc?
Config
- After all these checks, then activate libts (Package Selection for the target -> Graphic libraries and applications) in Buildroot:
$ make menuconfig
$ make
- Or compile it directly:
$ make tslib
Configuration details (automatically done)
Config file
- To work, Tslib needs a valid config file /etc/ts.conf:
# cat /etc/ts.conf module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear
Envt variables
- You should define some ENVT variables too:
export TSLIB_TSDEVICE=/dev/input/event0 export TSLIB_TSEVENTTYPE=INPUT export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_CALIBFILE=/etc/pointercal
Device file
- /dev/input/event0 is created from the infos got from:
# cat /sys/class/input/event0/dev 13:64 # mkdir /dev/input # cd /dev/input/ # mknod event0 c 13 64 # ls -al drwxr-xr-x 2 root root 0 Jan 1 00:39 . drwxr-xr-x 5 root root 0 Jan 1 00:39 .. crw-r--r-- 1 root root 13, 64 Jan 1 00:39 event0 #
Calibration
- /etc/pointercal is created when running Tslib calibration tool:
# /usr/bin/ts_calibrate
Testing it
# /usr/bin/ts_test
Adding Tslib support to SDL
Work in progress...
Adding Tslib support to Qt
Work in progress...