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       evthres
202           Number  of  samples needed from the device after considered a valid
203           touch. This filter will drop a tapping when too little samples  are
204           between "down" and "up".
205
206           ·   N
207
208               Minimum  number  of  events  needed  between  "down"  and "up".
209               Default: 5.
210
211
212       variance
213           Tries to do it's best in order to filter out  random  noise  coming
214           from  touchscreen  ADCs.  This  is  achieved by limiting the sample
215           movement speed to some value (e.g. the pen is not supposed to  move
216           quicker than some threshold).
217
218           This  is a greedy filter, e.g. it gives less samples on output than
219           receives on input. There is no multitouch support for this filter.
220
221           ·   delta
222
223               Set the squared distance in touchscreen units between  previous
224               and  current  pen  position  (e.g. (X2-X1)^2 + (Y2-Y1)^2). This
225               defines the criteria for determining whenever two  samples  are
226               near or far to each other.
227
228               If the distance between previous and current sample is far, the
229               sample is marked as potential noise. This doesn't mean yet that
230               it  will be discarded; if the next reading will be close to it,
231               this will be considered just a regular quick motion event,  and
232               it  will sneak to the next layer. Also, if the sample after the
233               potential noise is far from both previously discussed  samples,
234               this  is  also  considered  a quick motion event and the sample
235               sneaks into the output stream.
236
237       hardware support
238
239       On Linux, use the module_raw input if you can.  The  other  raw  access
240       modules  are  device  specific  userspace  drivers.  If you need one of
241       those, enable it explicitly when building tslib. The  list  of  modules
242       enabled  by  default might shrink in the future.  module_raw input sup‐
243       ports multitouch (MT) too.
244
245
246       ┌──────────────────┬───────────────────────────────────┬──────────────────────────┬─────────────────────────┬─────┬────────────────────────────┐
247module_raw        supported devices                 interface                platforms               MT  how to enable              
248       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
249input             │ all with Linux evdev drivers      │ any (driver) /dev/input/ │ Linux, FreeBSD          │ yes │ enabled by default         │
250       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
251arctic2           │ IBM Arctic II                     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-arctic2           │
252       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
253collie            │ Sharp Zaurus SL-5000d/SL-5500     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-collie            │
254       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
255corgi             │ Sharp Zaurus SL-C700              │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-corgi             │
256       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
257dmc_dus3000       │ DMC DUS Series (DUS3000, ...)     │ UART                     │ Linux                   │ no  │ --enable-dmc_dus3000       │
258       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
259dmc               │ DMC (others)                      │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-dmc               │
260       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
261galax             │ eGalax 100, 112, 210              │ any (driver)             │ Linux, BSD              │ no  │ --enable-galax             │
262       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
263h3600             │ Compaq IPAQ                       │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-h3600             │
264       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
265mk712             │ Hitachi Webpad                    │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-mk712             │
266       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
267tatung            │ Tatung Webpad                     │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-tatung            │
268       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
269touchkit          │ Touchkit SAT4000UR                │ RS232                    │ Linux, BSD, Hurd        │ no  │ enabled by default         │
270       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
271ucb1x00           │ UCB1x00 Touchscreens              │ .                        │ Linux, BSD, Hurd, Haiku │ no  │ --enable-ucb1x00           │
272       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
273waveshare         │ Waveshare Touchscreens            │ /dev/hidrawX             │ Linux                   │ no  │ enabled by default         │
274       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
275cy8mrln_palm‐     │ in Palm Pre/Pre Plus/Pre 2        │ .                        │ Linux                   │ no  │ --enable-cy8mrln-palmpre   │
276pre               │                                   │                          │                         │     │                            │
277       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
278one_wire_ts_input │ FriendlyARM one-wire touch screen │ .                        │ Linux                   │ no  │ --enable-one-wire-ts-input │
279       ├──────────────────┼───────────────────────────────────┼──────────────────────────┼─────────────────────────┼─────┼────────────────────────────┤
280input_evdev       │ Linux evdev drivers (libevdev)    │ .                        │ Linux                   │ yes │ --enable-input-evdev       │
281       └──────────────────┴───────────────────────────────────┴──────────────────────────┴─────────────────────────┴─────┴────────────────────────────┘

SEE ALSO

283       ts_calibrate(1), ts_test(1), ts_test_mt(1)
284
285
286
287                                                                    TS.CONF(5)
Impressum