dwww Home | Manual pages | Find package

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  input
       driver are various integration tests that need to interface with the in-
       put 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 cov-
       ers 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" valu-
              ator  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 de-
              vice  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 dis-
       connect.

       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.16                  INPUTTEST(4)

Generated by dwww version 1.16 on Sat Oct 3 07:37:42 CEST 2026.