Tslib

From ArmadeusWiki
Revision as of 21:24, 2 May 2008 by JulienB (Talk | contribs)

Jump to: navigation, search

Library which provides a common interface to touchscreen and allows touchscreen events filtering or calibrating...

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, activate libts package in Buildroot configuration:
$ make menuconfig

Menuconfig package.png

Menuconfig package graphics.png

$ 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

File:Tslib test.jpg

Adding Tslib support to SDL

Work in progress...

Adding Tslib support to Qt

Work in progress...

Links