xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

inputtestdrv.man (4408B)


      1 .\" shorthand for double quote that works everywhere.
      2 .ds q \N'34'
      3 .TH INPUTTEST @drivermansuffix@ @vendorversion@
      4 .SH NAME
      5 inputtest \- An X.Org input driver for testing
      6 .SH SYNOPSIS
      7 .nf
      8 .B "Section \*qInputDevice\*q"
      9 .BI "  Identifier \*q" devname \*q
     10 .B  "  Driver \*qinputtest\*q"
     11 .BI "  Option \*qSocketPath\*q   \*q" path \*q
     12 \ \ ...
     13 .B EndSection
     14 .fi
     15 
     16 .SH DESCRIPTION
     17 .B inputtest
     18 is an Xorg input driver that passes events received over a socket on to the
     19 server as input events. It supports the full set of the xf86 driver APIs
     20 exposed by Xorg. The primary use cases of this input driver are various
     21 integration tests that need to interface with the input subsystem.
     22 
     23 .SH CONFIGURATION DETAILS
     24 Please refer to @xconfigfile@(@filemansuffix@) for general configuration
     25 details and for options that can be used with all input drivers.  This
     26 section only covers configuration details specific to this driver.
     27 .PP
     28 External process can communicate with the input driver via a named socket that
     29 is created after the driver is initialized. The paths to the socket is passed
     30 via input driver options.
     31 .PP
     32 The following driver
     33 .B Options
     34 are supported:
     35 .TP 7
     36 .BI "Option \*qSocketPath\*q \*q" string \*q
     37 Sets the path where the driver will create a named socket. Any existing file
     38 at that location will be removed.
     39 .TP 7
     40 .BI "Option \*qDeviceType\*q \*q" string \*q
     41 Sets the type of the device to be emulated.
     42 .IP
     43 .BI Keyboard
     44 Initializes a keyboard device.
     45 .IP
     46 .BI Pointer
     47 Initializes a relative-mode pointer device. It will have four valuators -
     48 a "Rel X" valuator at axis 0 and a "Rel Y" valuator at axis 1.
     49 A horizontal scroll valuator will be set up at axis 2.
     50 A vertical scroll valuator will be set up at axis 3.
     51 .IP
     52 .BI PointerAbsolute
     53 Initializes an absolute-mode pointer device. It will have four valuators -
     54 an "Abs X" valuator at axis 0 and an "Abs Y" valuator at axis 1.
     55 A horizontal scroll valuator will be set up at axis 2.
     56 A vertical scroll valuator will be set up at axis 3.
     57 .IP
     58 .BI PointerAbsoluteProximity
     59 Initializes an absolute-mode pointer device with proximity support.
     60 The valuators are initialized in the same way as for \fBPointerAbsolute\fR type.
     61 .IP
     62 .BI Touch
     63 Initializes a touch device.
     64 It will have 5 valuators: an "Abs MT Position X" at axis 0,
     65 an "Abs MT Position Y" valuator at axis 1,
     66 a horizontal scroll valuator on axis 2,
     67 a vertical scroll valuator on axis 3 and an "Abs MT Pressure" valuator
     68 at axis 4.
     69 .TP 7
     70 .BI "Option \*qTouchCount\*q \*q" int \*q
     71 Sets the maximum number of simultaneous touches for touch devices.
     72 .TP 7
     73 .BI "Option \*qPointerButtonCount\*q \*q" int \*q
     74 Sets the maximum number of buttons in pointer devices.
     75 .TP 7
     76 .BI "Option \*qPointerHasPressure\*q \*q" bool \*q
     77 Selects whether "Abs Pressure" is available at the axis 4 in pointer devices.
     78 
     79 .SH INTERFACE WITH THE DRIVER
     80 The communication with the driver is a binary protocol defined in
     81 include/xf86-input-inputtest-protocol.h
     82 .PP
     83 At the beginning, the client process that communicates with the driver must
     84 connect to the socket that is created by the driver at SocketPath.
     85 Once the connection is established, it must write a xf86ITEventClientVersion
     86 event and read a xf86ITResponseServerVersion response where the driver
     87 specifies the protocol version supported by it. If this version is lower than
     88 requested by the client, then the driver will disconnect.
     89 .PP
     90 After receiving xf86ITResponseServerVersion message the client may send events
     91 to the driver. Each event is an instance of one of the
     92 .BI xf86ITEvent*
     93 structs. The length field defines the full length of the struct in bytes and
     94 the event field defines the type of the struct.
     95 .PP
     96 The responses from the server follow the same structure. Each response is an
     97 instance of one of the
     98 .BI xf86ITResponse*
     99 structs. The length field defines the full length of the struct in bytes and
    100 the event field defines the type of the struct.
    101 .PP
    102 The synchronization with Xorg is performed via
    103 .BI xf86ITEventWaitForSync
    104 event. After sending such event, the client must read of a
    105 .BI xf86ITResponseSyncFinished event from the socket without sending additional
    106 events. The completion of the read operation indicates that Xorg has fully
    107 processed all input events sent to it so far.
    108 
    109 .SH AUTHORS
    110 Povilas Kanapickas <povilas@radix.lt>
    111 .SH "SEE ALSO"
    112 @xservername@(@appmansuffix@), @xconfigfile@(@filemansuffix@), Xserver(@appmansuffix@), X(@miscmansuffix@)