From c1c8a0e585089b3c18ddbd9039f0053a40dbe6cb Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 25 Apr 2008 17:58:16 +0930 Subject: Extend XListInputDevices man page to include MPX details. --- man/XListInputDevices.man | 57 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 46 insertions(+), 11 deletions(-) (limited to 'man') diff --git a/man/XListInputDevices.man b/man/XListInputDevices.man index 9156fe2..76d111d 100644 --- a/man/XListInputDevices.man +++ b/man/XListInputDevices.man @@ -36,15 +36,29 @@ Specifies the list of devices to free. The \fIXFreeDeviceList\fP function frees the list of available extension input devices. .SH DESCRIPTION The \fIXListInputDevices\fP -request lists the available extension input devices. This list includes the -X pointer and X keyboard, any other input devices that are currently accessible -through the X server, and any input devices that are not currently accessible -through the X server but could be accessed if requested. +request lists the available input devices. This list includes all master +pointers and master keyboards as well as the physical input devices currently +accessible through the X server, and any input devices that are not currently +accessible through the X server but could be accessed if requested. .LP -Some server implementations may make all input devices available at the time -the server is initialized. Others may wait until requested by a client to -access an input device. In the latter case, it is possible that an input -device will be listed as available at one time but not at another. +A master pointer is a virtual pointer device that does not represent a +physical device. It is visually represented through a cursor. +A master keyboard is a virtual keyboard device that does not represent a +physical device. It is virtually representd through a keyboard focus. +A master pointer and a master keyboard are always paired (i.e. if shift is +pressed on the master keyboard, a pointer click would be a shift-click). +Multiple master pointer/keyboard pairs can exist. +.LP +Physical devices (so-called slave devices) are attached to either a master +pointer or a master keyboard, depending on their capabilities. If a slave +device generates an event, the event is also generated by the respective +master device. Multiple slave devices can be attached to a single master +device. +.LP +Some server implementations may make all physical input devices available at +the time the server is initialized. Others may wait until requested by a +client to access an input device. In the latter case, it is possible that an +input device will be listed as available at one time but not at another. .LP For each input device available to the server, the XListInputDevices request returns an XDeviceInfo structure. That structure contains a @@ -111,11 +125,16 @@ returned by ListInputDevices. Some input classes, such as class Focus and class Proximity do not have any information to be returned by ListInputDevices. .LP +All devices provide an AttachClass. This class specifies the master device a +given slave device is attached to. For master devices, the class specifies the +respective paired master device. +.LP The use field specifies how the device is currently being used. If the value is \fIIsXKeyboard\fP, the device is -currently being used as the X keyboard. If the value -is \fIIsXPointer\fP, the device is currently being used as -the X pointer. If the value is \fIIsXExtensionDevice\fP, the +a master keyboard. If the value is \fIIsXPointer\fP, the device is a master +pointer. If the value is \fIIsXExtensionPointer\fP, the +device is a slave pointer. If the value is \fIIsXExtensionKeyboard\fP, the +device is a slave keyboard. If the value is \fIIsXExtensionDevice\fP, the device is available for use as an extension device. .LP The inputclassinfo field contains a pointer to the first input-class @@ -224,6 +243,22 @@ the maximum value the device reports for this axis. For devices whose mode is Relative, the max_val field will contain 0. .LP +The XAttachInfo structure is defined as follows: +.LP +.DS +.nf +typedef struct _XAttachInfo { + int attached; +} XAttachInfo; +.fi +.DE +.LP +If the device is a slave device, attached specifies the device ID of the +master device this device is attached to. If the device is not attached to a +master device, attached is \fIFloating\fP. +If the device is a master device, attached specifies the device ID of the +master device this device is paired with. +.LP To free the \fIXDeviceInfo\fP array created by \fIXListInputDevices\fP, use \fIXFreeDeviceList\fP. .SH DIAGNOSTICS -- cgit v1.2.3