Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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  in-
       formation.  Each	line specifies one module, and the parameters for that
       module. The modules 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_TSDEVICE 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
	   INPUT_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.

	   o   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.

	   o   rot

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

	   o   xyswap

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

	   o   pressure_offset

	       Offset applied to the pressure value. Default: 0.

	   o   pressure_mul

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

	   o   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
	   between noise removal (smoothing) and responsiveness.  The  parame-
	   ters	 N and D specify the level of smoothing	in the form of a frac-
	   tion	(N/D).

	   o   N

	       numerator of the	smoothing fraction. Default: 0.

	   o   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.

	   o   pmin

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

	   o   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.

	   o   drop_threshold

	       drop events up to this number of	milliseconds  after  the  last
	       release 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
	   unreliable.

	   o   nhead

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

	   o   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.

	   o   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.

	   o   x0

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

	   o   y0

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

       lowpass
	   simple exponential averaging	lowpass	filter

	   o   factor

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

	   o   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".

	   o   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
	   movement 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.

	   o   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
       modules	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 sup-
       ports multitouch	(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)

NAME | DESCRIPTION | ENVIRONMENT VARIABLES | MODULE PARAMETERS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ts.conf&sektion=5&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help