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

FreeBSD Manual Pages

  
 
  

home | help
INPUTTEST(4)		   Kernel Interfaces Manual		  INPUTTEST(4)

NAME
       inputtest - An X.Org input driver for testing

SYNOPSIS
       Section "InputDevice"
	 Identifier "devname"
	 Driver	"inputtest"
	 Option	"SocketPath"   "path"
	 ...
       EndSection

DESCRIPTION
       inputtest  is  an  Xorg input driver that passes	events received	over a
       socket on to the	server as input	events.	It supports the	 full  set  of
       the xf86	driver APIs exposed by Xorg. The primary use cases of this in-
       put  driver  are	 various integration tests that	need to	interface with
       the input subsystem.

CONFIGURATION DETAILS
       Please refer to xorg.conf(5) for	general	configuration details and  for
       options	that  can  be  used with all input drivers.  This section only
       covers configuration details specific to	this driver.

       External	process	can communicate	with the  input	 driver	 via  a	 named
       socket  that  is	 created after the driver is initialized. The paths to
       the socket is passed via	input driver options.

       The following driver Options are	supported:

       Option "SocketPath" "string"
	      Sets the path where the driver will create a named  socket.  Any
	      existing file at that location will be removed.

       Option "DeviceType" "string"
	      Sets the type of the device to be	emulated.

	      Keyboard Initializes a keyboard device.

	      Pointer Initializes a relative-mode pointer device. It will have
	      four valuators - a "Rel X" valuator at axis 0 and	a "Rel Y" val-
	      uator at axis 1.	A horizontal scroll valuator will be set up at
	      axis 2.  A vertical scroll valuator will be set up at axis 3.

	      PointerAbsolute  Initializes an absolute-mode pointer device. It
	      will have	four valuators - an "Abs X" valuator at	axis 0 and  an
	      "Abs  Y"	valuator at axis 1.  A horizontal scroll valuator will
	      be set up	at axis	2.  A vertical scroll valuator will be set  up
	      at axis 3.

	      PointerAbsoluteProximity	Initializes  an	 absolute-mode pointer
	      device with proximity support.  The valuators are	initialized in
	      the same way as for PointerAbsolute type.

	      Touch Initializes	a touch	device.	 It will have 5	valuators:  an
	      "Abs  MT	Position X" at axis 0, an "Abs MT Position Y" valuator
	      at axis 1, a horizontal scroll valuator on axis  2,  a  vertical
	      scroll  valuator	on axis	3 and an "Abs MT Pressure" valuator at
	      axis 4.

       Option "TouchCount" "int"
	      Sets the maximum number of simultaneous touches  for  touch  de-
	      vices.

       Option "PointerButtonCount" "int"
	      Sets the maximum number of buttons in pointer devices.

       Option "PointerHasPressure" "bool"
	      Selects  whether	"Abs  Pressure"	 is available at the axis 4 in
	      pointer devices.

INTERFACE WITH THE DRIVER
       The communication with the driver is a binary protocol defined  in  in-
       clude/xf86-input-inputtest-protocol.h

       At  the beginning, the client process that communicates with the	driver
       must connect to the socket that is created by the driver	at SocketPath.
       Once the	connection  is	established,  it  must	write  a  xf86ITEvent-
       ClientVersion  event  and  read	a xf86ITResponseServerVersion response
       where the driver	specifies the protocol version	supported  by  it.  If
       this  version  is  lower	 than requested	by the client, then the	driver
       will disconnect.

       After receiving xf86ITResponseServerVersion message the client may send
       events to the  driver.  Each  event  is	an  instance  of  one  of  the
       xf86ITEvent*  structs.  The length field	defines	the full length	of the
       struct in bytes and the event field defines the type of the struct.

       The responses from the server follow the	same structure.	Each  response
       is  an instance of one of the xf86ITResponse* structs. The length field
       defines the full	length of the struct in	bytes and the event field  de-
       fines the type of the struct.

       The  synchronization  with Xorg is performed via	xf86ITEventWaitForSync
       event. After sending such event,	the client must	read  of  a  xf86ITRe-
       sponseSyncFinishedeventfromthesocketwithoutsendingadditional    events.
       The completion of the read operation  indicates	that  Xorg  has	 fully
       processed all input events sent to it so	far.

AUTHORS
       Povilas Kanapickas <povilas@radix.lt>

SEE ALSO
       Xorg(1),	xorg.conf(5), Xserver(1), X(7)

X Version 11		      xorg-server 21.1.18		  INPUTTEST(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=inputtestdrv&sektion=4&manpath=FreeBSD+Ports+15.0>

home | help