.\" Copyright 2004 Red Hat Inc., Durham, North Carolina. .\" All Rights Reserved. .\" .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including .\" without limitation on the rights to use, copy, modify, merge, .\" publish, distribute, sublicense, and/or sell copies of the Software, .\" and to permit persons to whom the Software is furnished to do so, .\" subject to the following conditions: .\" .\" he above copyright notice and this permission notice (including the .\" next paragraph) shall be included in all copies or substantial .\" portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, .\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND .\" NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS .\" BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN .\" ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN .\" CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE .\" SOFTWARE. .TH DMXGetInputAttributes 3 "libdmx 1.1.3" "X Version 11" .SH NAME DMXGetInputAttributes \- determine input device attributes .SH SYNOPSIS .B #include .sp .nf .BI "Bool DMXGetInputAttributes(Display " *dpy , .BI " int " id , .BI " DMXInputAttributes " *attr ); .fi .SH DESCRIPTION .B DMXGetInputAttributes() returns information about the input device specified with .IR id . This information cannot be obtained from the .BR XListInputDevices (3) call. .I id is the same as that used by the .BR XListInputDevices (3) call, and must be in the range 0 to one less than the value returned by .BR DMXGetInputCount(3) , inclusive. .PP The .B DMXInputAttributes structure is: .sp .nf typedef struct { DMXInputEnum inputType; int physicalScreen; int physicalId; Bool isCore; Bool sendsCore; const char *name; Bool detached; } DMXInputAttributes; .fi .PP The value of .I inputType will always be valid, and will have one of the following values, depending on the type of input: .B DMXLocalInputType ", " DMXConsoleInputType ", or" DMXBackendInputType . .PP For local devices, all other fields returned, except .I isCore " and " sendsCore , are invalid. .PP For console devices, .I physicalScreen " and " physicalID will be invalid, and .I name will return the name of the X server on which the console window is displayed. .PP For back-end devices, .I physicalScreen will identify the back-end display and can be used as an argument to .BR DMXGetScreenAttributes (3) to obtain more information; .I physicalId will be the XInput device id on the back-end X server; and .I name will be invalid (since it does not provide any additional information that cannot be obtained with .BR DMXGetScreenAttributes (3)). .PP If .I isCore is .BR True , then this device is active as a true core input device and will send core events. If .B sendsCore is True, then this device is an XInput extension device, but sends core events .I instead of extension events. This behavior is different from that of XFree86 or Xorg, where XInput extension devices may send .I both extension events and core events. .PP If .I detached is True, then this device has been detached and is no longer producing input events. The device may be reattached using .BR DMXAddInput (3). .SH "RETURN VALUE" .B DMXGetInputAttributes() returns .B True unless there is a protocol error. .PP .B DMXGetInputAttributes() can generate .B BadValue (if the value of .I id is out of range). .SH "SEE ALSO" .BR DMXGetInputCount "(3), " .BR XListInputDevices "(3), " .BR DMXGetScreenAttributes "(3), " .BR DMXAddInput "(3), " .BR DMX "(3), " Xdmx (1)