Difference between revisions of "Tslib"

From ArmadeusWiki
Jump to: navigation, search
(Compiling)
(Compiling)
Line 30: Line 30:
 
   [*] Build/install a shared libgcc?
 
   [*] Build/install a shared libgcc?
  
* After all these checks, then activate Tslib in Buildroot:
+
* After all these checks, then activate libts in Buildroot:
 
  $ make menuconfig
 
  $ make menuconfig
 
  [[Image:Menuconfig_package.png]]
 
  [[Image:Menuconfig_package.png]]

Revision as of 16:04, 17 November 2007

Library to provide a common interface to touchscreen and allow touchscreen events filtering or calibrating...

Compiling

This part is normaly not required on following distribution: ?? This part is required on: Ubuntu 6.04, KUbuntu 6.10...

  • Be sure to have libtool package installed (tested with 1.5.22-4 version). 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 and 1.9.6 -> not working !). After automake package installation don't forget to update your /etc/alternatives/automake and /etc/alternatives/aclocal symlinks (tested on Ubuntu).
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, then:
$ make menuconfig
Toolchain Options  --->
 [*] Build/install c++ compiler and libstdc++?
 [*] Build/install a shared libgcc?
  • After all these checks, then activate libts in Buildroot:
$ make menuconfig
Menuconfig package.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