Index of Section 3 Manual Pages

Interix / SUAXListInputDevices.3Interix / SUA

XListInputDevices(3)       X FUNCTIONS       XListInputDevices(3)



NAME
       XListInputDevices,  XFreeDeviceList - list available input
       devices

SYNTAX
       XDeviceInfo *XListInputDevices(Display *display, int *nde-
              vices_return);

       int XFreeDeviceList(XDeviceInfo *list);

ARGUMENTS
       display     Specifies the connection to the X server.

       ndevices_return
                   Specifies  a  pointer  to a variable where the
                   number of available devices can be returned.

       list        Specifies the list of devices  to  free.   The
                   XFreeDeviceList  function  frees  the  list of
                   available extension input devices.

DESCRIPTION
       The XListInputDevices request lists the  available  exten-
       sion  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.

       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.

       For  each  input  device  available  to  the  server,  the
       XListInputDevices  request  returns  an XDeviceInfo struc-
       ture.  That structure contains a  pointer  to  a  list  of
       structures,  each  of which contains information about one
       class of input supported by the device.

       The XDeviceInfo structure is defined as follows:

       typedef struct _XDeviceInfo
       {
            XID       id;
            Atom      type;
            char      *name;
            int       num_classes;
            int       use;
            XAnyClassPtr   inputclassinfo;
       } XDeviceInfo;

       The id is a number in the range 0-128 that uniquely  iden-
       tifies  the  device.  It is assigned to the device when it
       is initialized by the server.

       The type field is of type Atom and indicates the nature of
       the device.

       The  name  field  contains  a pointer to a null-terminated
       string that corresponds  to  one  of  the  defined  device
       types.   The  name will correspond to one of the following
       strings (defined in the header file XI.h:

       XI_MOUSE XI_TABLET XI_KEYBOARD XI_TOUCHSCREEN  XI_TOUCHPAD
       XI_BUTTONBOX    XI_BARCODE    XI_TRACKBALL   XI_QUADRATURE
       XI_ID_MODULE    XI_ONE_KNOB    XI_NINE_KNOB    XI_KNOB_BOX
       XI_SPACEBALL   XI_DATAGLOVE   XI_EYETRACKER  XI_CURSORKEYS
       XI_FOOTMOUSE

       These names may be directly compared with the  name  field
       of  the  XDeviceInfo  structure, or used in an XInternAtom
       request to return an atom that can be  compared  with  the
       type field of the XDeviceInfo structure.

       The  num_classes field is a number in the range 0-255 that
       specifies the number of input  classes  supported  by  the
       device  for  which information is returned by ListInputDe-
       vices.  Some input classes, such as class Focus and  class
       Proximity  do  not  have any information to be returned by
       ListInputDevices.

       The use field specifies how the device is currently  being
       used.   If  the  value  is IsXKeyboard, the device is cur-
       rently being used as the X keyboard.  If the value is IsX-
       Pointer,  the  device  is  currently  being  used as the X
       pointer.  If the value is IsXExtensionDevice,  the  device
       is available for use as an extension device.

       The  inputclassinfo  field contains a pointer to the first
       input-class specific data.  The first two fields are  com-
       mon to all classes.

       The  class  field  is  a  number  in  the range 0-255.  It
       uniquely identifies the class of input for which  informa-
       tion is returned.  Currently defined classes are KeyClass,
       ButtonClass, and ValuatorClass.

       The length field is a number in  the  range  0-  255.   It
       specifies  the  number of bytes of data that are contained
       in this input class.  The length includes  the  class  and
       length fields.

       The  XKeyInfo  structure  describes the characteristics of
       the keys on the device.  It is defined as follows:

       typedef struct _XKeyInfo {
            XID            class;
            int            length;
            unsigned short      min_keycode;
            unsigned short      max_keycode;
            unsigned short      num_keys;
       } XKeyInfo;

       min_keycode is of type KEYCODE.  It specifies the  minimum
       keycode  that the device will report.  The minimum keycode
       will not be smaller than 8.

       max_keycode is of type KEYCODE.  It specifies the  maximum
       keycode  that the device will report.  The maximum keycode
       will not be larger than 255.

       num_keys specifies the number of keys that the device has.

       The  XButtonInfo  structure defines the characteristics of
       the buttons on the device.  It is defined as follows:

       typedef struct _XButtonInfo {
            XID       class;
            int       length;
            short          num_buttons;
       } XButtonInfo;

       num_buttons specifies  the  number  of  buttons  that  the
       device has.

       The XValuatorInfo structure defines the characteristics of
       the valuators on the device.  It is defined as follows:

       typedef struct _XValuatorInfo {
            XID            class;
            int            length;
            unsigned char       num_axes;
            unsigned char       mode;
            unsigned long       motion_buffer;
            XAxisInfoPtr        axes;
       } XValuatorInfo;
       num_axes contains the number of axes the device  supports.

       mode  is  a constant that has one of the following values:
       Absolute or Relative.  Some devices allow the mode  to  be
       changed dynamically via the SetDeviceMode request.

       motion_buffer_size is a cardinal number that specifies the
       number of elements that can be  contained  in  the  motion
       history buffer for the device.

       The  axes  field contains a pointer to an XAxisInfo struc-
       ture.

       The XAxisInfo structure is defined as follows:

       typedef struct _XAxisInfo {
            int  resolution;
            int  min_value;
            int  max_value;
       } XAxisInfo;

       The resolution contains a number in counts/meter.

       The min_val field contains a  number  that  specifies  the
       minimum  value  the  device  reports  for  this axis.  For
       devices whose mode is Relative,  the  min_val  field  will
       contain 0.

       The  max_val  field  contains  a number that specifies the
       maximum value the  device  reports  for  this  axis.   For
       devices  whose  mode  is  Relative, the max_val field will
       contain 0.

       To free the XDeviceInfo  array  created  by  XListInputDe-
       vices, use XFreeDeviceList.

DIAGNOSTICS
       none.

SEE ALSO
       Programming with Xlib



X Version 11               libXi 1.1.3       XListInputDevices(3)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA