dwww Home | Manual pages | Find package

TS.CONF(5)                           tslib                           TS.CONF(5)

NAME
       ts.conf  -  Configuration  file for tslib, controlling touch screens for
       embedded devices.

DESCRIPTION
       The idea of tslib is to have a core library that provides standard  ser-
       vices,  and  a  set of plugins to manage the conversion and filtering as
       needed.

       The plugins for a particular touchscreen are loaded automatically by the
       library under the control of a static configuration file,  /etc/ts.conf.
       /etc/ts.conf  gives  the  library  basic configuration information. Each
       line specifies one module, and the parameters for that module. The  mod-
       ules  are loaded in order, with the first one processing the touchscreen
       data first. For example:

             module_raw input
             module variance delta=30
             module dejitter delta=100
             module linear

ENVIRONMENT VARIABLES
       Latest versions of the Xorg tslib input driver use hal to configure  the
       touchscreen  within  Xorg. Environment variables are only needed for the
       tslib commands.

       TSLIB_TSDEVICE
           If the default touchscreen device cannot be found, set the TSLIB_TS-
           DEVICE environment variable to the touchscreen device to use.

           Default  when  using  ts_setup():  We  try  to  open  /dev/input/ts,
           /dev/input/touchscreen and /dev/touchscreen/ucb1x00 and on Linux, we
           then  scan  /dev/input/event* for the first device with property IN-
           PUT_PROP_DIRECT.

       TSLIB_CONSOLEDEVICE
           Tslib default console device.

           Default: /dev/tty

       TSLIB_CALIBFILE
           Stores calibration data obtained using ts_calibrate.

           Default: /etc/pointercal

       TSLIB_CONFFILE
           Set a different location for the ts.conf configuration file itself.

           Default; /etc/ts.conf.

       TSLIB_FBDEVICE
           Framebuffer device to use for the touchscreen support.

           Default: /dev/fb0.

       TSLIB_PLUGINDIR
           Plugin directory for tslib.

           Default: /usr/lib/$triplet/ts0/ where triplet is the MultiArch path,
           e.g. arm-linux-gnueabi.

MODULE PARAMETERS
       dejitter
           Removes jitter on the X and Y co-ordinates. This is achieved by  ap-
           plying  a  weighted  smoothing  filter. The latest samples have most
           weight; earlier samples have less weight. This allows one to achieve
           1:1 input->output rate.

           •   delta

               Squared distance between two  samples  ((X2-X1)^2  +  (Y2-Y1)^2)
               that defines the quick motion threshold. If the pen moves quick,
               it is not feasible to smooth pen motion, besides quick motion is
               not  precise  anyway;  so if quick motion is detected the module
               just discards the backlog and simply copies input to output.

       linear
           Linear scaling module, primarily used for conversion of touch screen
           co-ordinates to screen co-ordinates.

           •   rot

               Rotation of touch coorinates. 0=no, 1=CW, 2=UD, 3=CCW.  Default:
               the screen-rotation that was used with ts_calibrate (-r option).

           •   xyswap

               Interchange the X and Y co-ordinates -- no longer used or needed
               if the new linear calibration utility ts_calibrate is used.

           •   pressure_offset

               Offset applied to the pressure value. Default: 0.

           •   pressure_mul

               Factor to multiply the pressure value with. Default: 1.

           •   pressure_div

               Value to divide the pressure value by. Default: 1.

       iir
           Infinite  impulse  response  filter.  Similar to dejitter, this is a
           smoothing filter to remove low-level noise. There is a trade-off be-
           tween noise removal (smoothing) and responsiveness. The parameters N
           and D specify the level of smoothing  in  the  form  of  a  fraction
           (N/D).

           •   N

               numerator of the smoothing fraction. Default: 0.

           •   D

               denominator of the smoothing fraction. Default: 1.

       pthres
           Pressure  threshold filter. Given a release is always pressure 0 and
           a press is always >= 1, this discards  samples  below  /  above  the
           specified pressure threshold.

           •   pmin

               Minimum pressure value for a sample to be valid. Default: 1.

           •   pmax

               Maximum  pressure  value  for  a  sample  to  be valid. Default:
               INT_MAX.

       debounce
           Simple debounce mechanism that drops input events for the  specified
           time after a touch gesture stopped.

           •   drop_threshold

               drop events up to this number of milliseconds after the last re-
               lease event. Default: 0.

       skip
           Skip  nhead  samples  after  press and ntail samples before release.
           This should help if for the device the first or last samples are un-
           reliable.

           •   nhead

               Number of events to drop after pressure. Default: 1.

           •   ntail

               Number of events to drop before release. Default: 1.

       median
           Similar to what the variance filter does,  the  median  filter  sup-
           presses spikes in the gesture.

           •   depth

               Number of samples to apply the median filter to. Default: 3.

       invert
           Invert values in X and/or Y direction around a given value.

           •   x0

               X-axis (horizontal) value around which to invert. Default: 0.

           •   y0

               Y-axis (horizontal) value around which to invert. Default: 0.

       lowpass
           simple exponential averaging lowpass filter

           •   factor

               floating point values betwenn 0 and 1. Default: 0.4.

           •   threshold

               x  or  y  minimum distance between two samples to start applying
               the filter. Default: 2.

       evthres
           Number of samples needed from the device after  considered  a  valid
           touch.  This  filter will drop a tapping when too little samples are
           between "down" and "up".

           •   N

               Minimum number of events needed between  "down"  and  "up".  De-
               fault: 5.

       variance
           Tries  to  do  it's  best in order to filter out random noise coming
           from touchscreen ADCs. This is achieved by limiting the sample move-
           ment speed to some value (e.g. the  pen  is  not  supposed  to  move
           quicker than some threshold).

           This  is  a greedy filter, e.g. it gives less samples on output than
           receives on input. There is no multitouch support for this filter.

           •   delta

               Set the squared distance in touchscreen units  between  previous
               and  current pen position (e.g. (X2-X1)^2 + (Y2-Y1)^2). This de-
               fines the criteria for determining whenever two samples are near
               or far to each other.

               If the distance between previous and current sample is far,  the
               sample  is marked as potential noise. This doesn't mean yet that
               it will be discarded; if the next reading will be close  to  it,
               this  will  be considered just a regular quick motion event, and
               it will sneak to the next layer. Also, if the sample  after  the
               potential  noise  is far from both previously discussed samples,
               this is also considered a quick  motion  event  and  the  sample
               sneaks into the output stream.

       hardware support

       On Linux, use the module_raw input if you can. The other raw access mod-
       ules  are  device  specific userspace drivers. If you need one of those,
       enable it explicitly when building tslib. The list of modules enabled by
       default might shrink in the future.  module_raw  input  supports  multi-
       touch (MT) too.

       ┌─────────────────┬───────────────────────────────────┬──────────────────────────┬─────────────────────────┬─────┬────────────────────────────┐
       │ module_raw      │ supported devices                 │ interface                │ platforms               │ MT  │ how to enable              │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ input           │ all with Linux evdev drivers      │ any (driver) /dev/input/ │ Linux, FreeBSD          │ yes │ enabled by default         │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ arctic2         │ IBM Arctic II                     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-arctic2           │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ collie          │ Sharp Zaurus SL-5000d/SL-5500     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-collie            │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ corgi           │ Sharp Zaurus SL-C700              │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-corgi             │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ dmc_dus3000     │ DMC DUS Series (DUS3000, ...)     │ UART                     │ Linux                   │ no  │ --enable-dmc_dus3000       │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ dmc             │ DMC (others)                      │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-dmc               │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ galax           │ eGalax 100, 112, 210              │ any (driver)             │ Linux, BSD              │ no  │ --enable-galax             │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ h3600           │ Compaq IPAQ                       │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-h3600             │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ mk712           │ Hitachi Webpad                    │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-mk712             │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ tatung          │ Tatung Webpad                     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-tatung            │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ touchkit        │ Touchkit SAT4000UR                │ RS232                    │ Linux, BSD, Hurd        │ no  │ enabled by default         │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ ucb1x00         │ UCB1x00 Touchscreens              │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-ucb1x00           │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ waveshare       │ Waveshare Touchscreens            │ /dev/hidrawX             │ Linux                   │ no  │ enabled by default         │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ cy8mrln_palm-   │ in Palm Pre/Pre Plus/Pre 2        │ .                        │ Linux                   │ no  │ --enable-cy8mrln-palmpre   │
       │ pre             │                                   │                          │                         │     │                            │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ one_wire_ts_in- │ FriendlyARM one-wire touch screen │ .                        │ Linux                   │ no  │ --enable-one-wire-ts-input │
       │ put             │                                   │                          │                         │     │                            │
       ├─────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
       │ input_evdev     │ Linux evdev drivers (libevdev)    │ .                        │ Linux                   │ yes │ --enable-input-evdev       │
       └─────────────────┴───────────────────────────────────┴──────────────────────────┴─────────────────────────┴─────┴────────────────────────────┘

SEE ALSO
       ts_calibrate(1), ts_test(1), ts_test_mt(1)

                                                                     TS.CONF(5)

Generated by dwww version 1.16 on Sat Oct 3 07:34:56 CEST 2026.