Edit

IABSD.fr/xenocara/lib/libXi/man/XIQueryDevice.man

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2010-05-18 19:28:54
    Hash : 69110947
    Message : Update to libXi 1.3. Tested on a bulk ports build by naddy@.

  • lib/libXi/man/XIQueryDevice.man
  • '\" t
    .\"     Title: xiquerydevice
    .\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
    .\" Generator: DocBook XSL Stylesheets v1.74.3 <http://docbook.sf.net/>
    .\"      Date: 10/02/2009
    .\"    Manual: [FIXME: manual]
    .\"    Source: [FIXME: source]
    .\"  Language: English
    .\"
    .TH "XIQUERYDEVICE" "libmansuffix" "10/02/2009" "[FIXME: source]" "[FIXME: manual]"
    .\" -----------------------------------------------------------------
    .\" * set default formatting
    .\" -----------------------------------------------------------------
    .\" disable hyphenation
    .nh
    .\" disable justification (adjust text to left margin only)
    .ad l
    .\" -----------------------------------------------------------------
    .\" * MAIN CONTENT STARTS HERE *
    .\" -----------------------------------------------------------------
    .SH "NAME"
    XIQueryDevice, XIFreeDeviceInfo \- get information about devices\&.
    .SH "SYNOPSIS"
    .sp
    .nf
    #include <X11/extensions/XInput2\&.h>
    .fi
    .sp
    .nf
    XIDeviceInfo* XIQueryPointer( Display *display,
                                  int deviceid,
                                  int *ndevices_return);
    .fi
    .sp
    .nf
    XIFreeDeviceInfo( XIDeviceInfo *info);
    .fi
    .sp
    .nf
    deviceid
           Specifies the device to query or XIAllDevices or
           XIAllMasterDevices\&.
    .fi
    .sp
    .nf
    display
           Specifies the connection to the X server\&.
    .fi
    .sp
    .nf
    ndevices_return
           Returns the number of devices returned\&.
    .fi
    .sp
    .nf
    info
           A list of device XIDeviceInfo structs to be freed\&.
    .fi
    .SH "DESCRIPTION"
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The XIQueryDevice returns information about one or more input
    devices\&. If the deviceid specifies a device, ndevices_return is
    1 and the returned information describes only the requested
    device\&. If deviceid is XIAllDevices or XIAllMasterDevices,
    ndevices_return is the number of devices or master devices,
    respectively, and the returned information represents all
    devices or all master devices, respectively\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    To free the XIDeviceInfo array returned by XIQueryDevice, use
    XIFreeDeviceInfo\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    For each input device requested, the XIQueryDevice returns an
    XIDeviceInfo structure\&. Each structure contains information
    about the capabilities of one input device available to the
    server\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    typedef struct
    {
        int                 deviceid;
        char                *name;
        int                 use;
        int                 attachment;
        Bool                enabled;
        int                 num_classes;
        XIAnyClassInfo      **classes;
    } XIDeviceInfo;
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The deviceid is the numeric unique id of the device\&. A deviceid
    is unique for the life\-time of a device but a server may re\-use
    the id once a device has been removed\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The name points to a null\-terminated string specifying the
    identifier of the device\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The use and attachment fields specify the type of the device
    and the current attachment or pairing\&.
    \- If use is XIMasterPointer, the device is a master pointer and
      attachment specifies the deviceid of the paired master
      keyboard\&.
    \- If use is XIMasterKeyboard, the device is a master keyboard,
      and the attachment field specifies the paired master pointer\&.
    \- If use is XISlavePointer, the device is a slave device and
      currently attached to the master pointer specified in
      attachement\&.
    \- If use is XISlaveKeyboard, the device is a slave device an
      currently attached to the master keyboard specified in
      attachment\&.
    \- If use is XIFloatingSlave, the device is a slave device
      currently not attached to any master device\&. The value of the
      attachment field for floating slave devices is undefined\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The enabled field specifies if the device is currently enabled
    and can send events\&. Disabled devices will not send events\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The num_classes field specifies the number of input classes
    pointed to by classes\&. The first two fields of all input
    classes are identical\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    typedef struct
    {
        int         type;
        int         sourceid;
    } XIAnyClassInfo;
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The type field specifies the type of the input class\&.
    Currently, the following types are defined:
        XIKeyClass, XIButtonClass, XIValuatorClass
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    In the future, additional types may be added\&. Clients are
    required to ignore unknown input classes\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The sourceid is the deviceid this class originated from\&. For
    master devices, the sourceid is typically the id of the slave
    device currently sending events\&. For slave devices, the
    sourceid is typically the device\'s id\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    A device may have zero or one XIButtonClass, denoting the
    device\'s capability to send button events\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    typedef struct {
        int           mask_len;
        unsigned char *mask;
    } XIButtonState;
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    typedef struct
    {
        int         type;
        int         sourceid;
        int         num_buttons;
        Atom        *labels;
        XIButtonState state;
    } XIButtonClassInfo;
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The num_buttons field specifies the number of buttons available
    on this device\&. A device that has an XIButtonClass must have at
    least one button\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    labels is a list of num_buttons Atoms specifying the button
    labels for this device\&. If the label is not None, then the
    label specifies the type of button in physical device order
    (i\&.e\&. as the buttons are numbered on the physical input
    device)\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The state is the current button state as seen by clients (i\&.e\&.
    after button mapping is applied)\&. The mask_len field specifies
    the length of mask in bytes\&. For each button on the device, the
    respective bit in mask is set if the button is currently
    logically down\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    A device may have zero or one XIKeyClass, denoting the device\'s
    capability to send key events\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    typedef struct
    {
        int         type;
        int         sourceid;
        int         num_keycodes;
        int         *keycodes;
    } XIKeyClassInfo;
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The num_keycodes field specifies the number of keycodes
    available on this device\&. A device that has an XIKeyClass must
    have at least one keycode\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    keycodes is a list of num_keycodes keycodes the device may
    send\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    A device may have zero or more XIValuatorClass, denoting the
    device\'s capability to send coordinates\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    typedef struct
    {
        int         type;
        int         sourceid;
        int         number;
        Atom        label;
        double      min;
        double      max;
        double      value;
        int         resolution;
        int         mode;
    } XIValuatorInfo;
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The number field specifies the number of the axis on the
    physical device\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    If the label field is not None, the value of label is an Atom
    describing the axis\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    min and max are the minimum and maximum values allowed on this
    axis\&. If both are zero, no minumum or maximum values are set on
    this device\&. value is the current value of this axis\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The resolution field specifies the resolution of the device in
    units/m\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    The mode specifies the mode of this axis\&. If the mode is
    XIModeAbsolute this axis sends absolute coordinates\&. If the
    mode is XIModeRelative, this device sends relative coordinates\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    XIQueryDevice can generate a BadDevice error\&.
    .fi
    .if n \{\
    .RE
    .\}
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    XIFreeDeviceInfo frees the information returned by
    XIQueryDevice\&.
    .fi
    .if n \{\
    .RE
    .\}
    .SH "DIAGNOSTICS"
    .sp
    .if n \{\
    .RS 4
    .\}
    .nf
    BadDevice
           An invalid device was specified\&. The device does not
           exist or is not a pointer device\&.
    .fi
    .if n \{\
    .RE
    .\}