1TS.CONF(5)                           tslib                          TS.CONF(5)
2
3
4

NAME

6       ts.conf  -  Configuration file for tslib, controlling touch screens for
7       embedded devices.
8

DESCRIPTION

10       The idea of tslib is to have a core library that provides standard ser‐
11       vices,  and  a set of plugins to manage the conversion and filtering as
12       needed.
13
14       The plugins for a particular touchscreen are  loaded  automatically  by
15       the   library  under  the  control  of  a  static  configuration  file,
16       /etc/ts.conf.   /etc/ts.conf  gives  the  library  basic  configuration
17       information.  Each  line  specifies  one module, and the parameters for
18       that module. The modules are loaded in order, with the first  one  pro‐
19       cessing the touchscreen data first. For example:
20
21             module_raw input
22             module variance delta=30
23             module dejitter delta=100
24             module linear
25
26

ENVIRONMENT VARIABLES

28       Latest versions of the Xorg tslib input driver use hal to configure the
29       touchscreen within Xorg. Environment variables are only needed for  the
30       tslib commands.
31
32       TSLIB_TSDEVICE
33           If  the  default  touchscreen  device  cannot  be  found,  set  the
34           TSLIB_TSDEVICE environment variable to the  touchscreen  device  to
35           use.
36
37           Default  when  using  ts_setup():  We  try  to  open /dev/input/ts,
38           /dev/input/touchscreen and /dev/touchscreen/ucb1x00 and  on  Linux,
39           we  then  scan /dev/input/event* for the first device with property
40           INPUT_PROP_DIRECT.
41
42       TSLIB_CONSOLEDEVICE
43           Tslib default console device.
44
45           Default: /dev/tty
46
47       TSLIB_CALIBFILE
48           Stores calibration data obtained using ts_calibrate.
49
50           Default: /etc/pointercal
51
52       TSLIB_CONFFILE
53           Set a different location for the ts.conf configuration file itself.
54
55           Default; /etc/ts.conf.
56
57       TSLIB_FBDEVICE
58           Framebuffer device to use for the touchscreen support.
59
60           Default: /dev/fb0.
61
62       TSLIB_PLUGINDIR
63           Plugin directory for tslib.
64
65           Default: /usr/lib/$triplet/ts0/  where  triplet  is  the  MultiArch
66           path, e.g. arm-linux-gnueabi.
67

MODULE PARAMETERS

69       dejitter
70           Removes  jitter  on  the  X and Y co-ordinates. This is achieved by
71           applying a weighted smoothing filter. The latest samples have  most
72           weight;  earlier  samples  have  less  weight.  This  allows one to
73           achieve 1:1 input->output rate.
74
75           ·   delta
76
77               Squared distance between two samples  ((X2-X1)^2  +  (Y2-Y1)^2)
78               that  defines  the  quick  motion  threshold.  If the pen moves
79               quick, it is not feasible to smooth pen motion,  besides  quick
80               motion  is  not  precise anyway; so if quick motion is detected
81               the module just discards the backlog and simply copies input to
82               output.
83
84       linear
85           Linear  scaling  module,  primarily  used  for  conversion of touch
86           screen co-ordinates to screen co-ordinates.
87
88           ·   rot
89
90               Rotation of touch coorinates. 0=no, 1=CW, 2=UD, 3=CCW. Default:
91               the   screen-rotation  that  was  used  with  ts_calibrate  (-r
92               option).
93
94           ·   xyswap
95
96               Interchange the X and Y  co-ordinates  --  no  longer  used  or
97               needed  if  the  new linear calibration utility ts_calibrate is
98               used.
99
100           ·   pressure_offset
101
102               Offset applied to the pressure value. Default: 0.
103
104           ·   pressure_mul
105
106               Factor to multiply the pressure value with. Default: 1.
107
108           ·   pressure_div
109
110               Value to divide the pressure value by. Default: 1.
111
112
113       iir
114           Infinite impulse response filter. Similar to dejitter,  this  is  a
115           smoothing  filter  to  remove low-level noise. There is a trade-off
116           between noise removal (smoothing) and responsiveness.  The  parame‐
117           ters  N and D specify the level of smoothing in the form of a frac‐
118           tion (N/D).
119
120           ·   N
121
122               numerator of the smoothing fraction. Default: 0.
123
124           ·   D
125
126               denominator of the smoothing fraction. Default: 1.
127
128       pthres
129           Pressure threshold filter. Given a release is always pressure 0 and
130           a  press  is  always  >= 1, this discards samples below / above the
131           specified pressure threshold.
132
133           ·   pmin
134
135               Minimum pressure value for a sample to be valid. Default: 1.
136
137           ·   pmax
138
139               Maximum pressure value for  a  sample  to  be  valid.  Default:
140               INT_MAX.
141
142
143       debounce
144           Simple debounce mechanism that drops input events for the specified
145           time after a touch gesture stopped.
146
147           ·   drop_threshold
148
149               drop events up to this number of milliseconds  after  the  last
150               release event. Default: 0.
151
152
153       skip
154           Skip  nhead  samples  after press and ntail samples before release.
155           This should help if for the device the first or  last  samples  are
156           unreliable.
157
158           ·   nhead
159
160               Number of events to drop after pressure. Default: 1.
161
162           ·   ntail
163
164               Number of events to drop before release. Default: 1.
165
166
167       median
168           Similar  to  what  the variance filter does, the median filter sup‐
169           presses spikes in the gesture.
170
171           ·   depth
172
173               Number of samples to apply the median filter to. Default: 3.
174
175
176       invert
177           Invert values in X and/or Y direction around a given value.
178
179           ·   x0
180
181               X-axis (horizontal) value around which to invert. Default: 0.
182
183           ·   y0
184
185               Y-axis (horizontal) value around which to invert. Default: 0.
186
187
188       lowpass
189           simple exponential averaging lowpass filter
190
191           ·   factor
192
193               floating point values betwenn 0 and 1. Default: 0.4.
194
195           ·   threshold
196
197               x or y minimum distance between two samples to  start  applying
198               the filter. Default: 2.
199
200
201       variance
202           Tries  to  do  it's best in order to filter out random noise coming
203           from touchscreen ADCs. This is  achieved  by  limiting  the  sample
204           movement  speed to some value (e.g. the pen is not supposed to move
205           quicker than some threshold).
206
207           This is a greedy filter, e.g. it gives less samples on output  than
208           receives on input. There is no multitouch support for this filter.
209
210           ·   delta
211
212               Set  the squared distance in touchscreen units between previous
213               and current pen position (e.g.  (X2-X1)^2  +  (Y2-Y1)^2).  This
214               defines  the  criteria for determining whenever two samples are
215               near or far to each other.
216
217               If the distance between previous and current sample is far, the
218               sample is marked as potential noise. This doesn't mean yet that
219               it will be discarded; if the next reading will be close to  it,
220               this  will be considered just a regular quick motion event, and
221               it will sneak to the next layer. Also, if the sample after  the
222               potential  noise is far from both previously discussed samples,
223               this is also considered a quick motion  event  and  the  sample
224               sneaks into the output stream.
225
226       hardware support
227
228       On  Linux,  use  the  module_raw input if you can. The other raw access
229       modules are device specific userspace  drivers.  If  you  need  one  of
230       those,  enable  it  explicitly when building tslib. The list of modules
231       enabled by default might shrink in the future.  module_raw  input  sup‐
232       ports multitouch (MT) too.
233
234
235       ┌──────────────────┬───────────────────────────────────┬──────────────────────────┬─────────────────────────┬─────┬────────────────────────────┐
236module_raw        supported devices                 interface                platforms               MT  how to enable              
237       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
238input             │ all with Linux evdev drivers      │ any (driver) /dev/input/ │ Linux, FreeBSD          │ yes │ enabled by default         │
239       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
240arctic2           │ IBM Arctic II                     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-arctic2           │
241       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
242collie            │ Sharp Zaurus SL-5000d/SL-5500     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-collie            │
243       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
244corgi             │ Sharp Zaurus SL-C700              │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-corgi             │
245       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
246dmc_dus3000       │ DMC DUS Series (DUS3000, ...)     │ UART                     │ Linux                   │ no  │ --enable-dmc_dus3000       │
247       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
248dmc               │ DMC (others)                      │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-dmc               │
249       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
250galax             │ eGalax 100, 112, 210              │ any (driver)             │ Linux, BSD              │ no  │ --enable-galax             │
251       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
252h3600             │ Compaq IPAQ                       │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-h3600             │
253       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
254mk712             │ Hitachi Webpad                    │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-mk712             │
255       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
256tatung            │ Tatung Webpad                     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-tatung            │
257       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
258touchkit          │ Touchkit SAT4000UR                │ RS232                    │ Linux, BSD, Hurd        │ no  │ enabled by default         │
259       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
260ucb1x00           │ UCB1x00 Touchscreens              │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-ucb1x00           │
261       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
262waveshare         │ Waveshare Touchscreens            │ /dev/hidrawX             │ Linux                   │ no  │ enabled by default         │
263       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
264cy8mrln_palm‐     │ in Palm Pre/Pre Plus/Pre 2        │ .                        │ Linux                   │ no  │ --enable-cy8mrln-palmpre   │
265pre               │                                   │                          │                         │     │                            │
266       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
267one_wire_ts_input │ FriendlyARM one-wire touch screen │ .                        │ Linux                   │ no  │ --enable-one-wire-ts-input │
268       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
269input_evdev       │ Linux evdev drivers (libevdev)    │ .                        │ Linux                   │ yes │ --enable-input-evdev       │
270       └──────────────────┴───────────────────────────────────┴──────────────────────────┴─────────────────────────┴─────┴────────────────────────────┘

SEE ALSO

272       ts_calibrate(1), ts_test(1), ts_test_mt(1)
273
274
275
276                                                                    TS.CONF(5)
Impressum