MirBSD manpage: XChangeDeviceControl(3), XGetDeviceControl(3)

XGetDeviceControl(3X11)    X FUNCTIONS    XGetDeviceControl(3X11)


     XGetDeviceControl, XChangeDeviceControl - query and change
     input device controls


     XDeviceControl *XGetDeviceControl(Display *display, XDevice
          *device, int *controlType);

     int XChangeDeviceControl(Display *display, XDevice *device,
          int controlType, XDeviceControl *control);


     display        Specifies the connection to the X server.

     device         Specifies the device whose control is to be
                    interrogated or modified.

     controlType    Specifies the type of control to be interro-
                    gated or changed.

     control        Specifies the address of an XDeviceControl
                    structure that contains the new values for
                    the Device.


     These requests are provided to manipulate those input dev-
     ices that support device control.  A BadMatch error will be
     generated if the requested device does not support any dev-
     ice controls.

     Valid device control types that can be used with these
     requests include the following:

     DEVICE_RESOLUTION   Queries or changes the resolution of
                         valuators on input devices.

     The XGetDeviceControl request returns a pointer to an XDevi-
     ceControl structure.

     XGetDeviceControl can generate a BadDevice or BadMatch

     The XChangeDeviceControl request modifies the values of one
     control on the specified device.  The control is identified
     by the id field of the XDeviceControl structure that is
     passed with the request.

     XChangeDeviceControl can generate a BadDevice, BadMatch, or
     BadValue  error.


     Each control is described by a structure specific to that

XFree86                   Version 4.5.0                         1

XGetDeviceControl(3X11)    X FUNCTIONS    XGetDeviceControl(3X11)

     control. These structures are defined in the file XInput.h.

     XDeviceControl is a generic structure that contains two
     fields that are at the beginning of each class of control:

          typedef struct {
               XID class;
               int length;
          } XDeviceControl;

     The XDeviceResolutionState structure defines the information
     that is returned for device resolution for devices with

          typedef struct {
               XID     control;
               int     length;
               int     num_valuators;
               int     *resolutions;
               int     *min_resolutions;
               int     *max_resolutions;
          } XDeviceResolutionState;

     The XDeviceResolutionControl structure defines the attri-
     butes that can be controlled for keyboard Devices.

          typedef struct {
               XID     control;
               int     length;
               int     first_valuator;
               int     num_valuators;
               int     *resolutions;
          } XDeviceResolutionControl;


     BadDevice   An invalid device was specified.  The specified
                 device does not exist or has not been opened by
                 this client via XOpenInputDevice.  This error
                 may also occur if some other client has caused
                 the specified device to become the X keyboard or
                 X pointer device via the XChangeKeyboardDevice
                 or XChangePointerDevice requests.

     BadMatch    This error may occur if an XGetDeviceControl
                 request was made specifying a device that has no
                 controls or an XChangeDeviceControl request was
                 made with an XDeviceControl structure that con-
                 tains an invalid Device type.  It may also occur
                 if an invalid combination of mask bits is speci-
                 fied (DvKey but no DvAutoRepeatMode for keyboard
                 Devices), or if an invalid KeySym is specified
                 for a string Device.

XFree86                   Version 4.5.0                         2

XGetDeviceControl(3X11)    X FUNCTIONS    XGetDeviceControl(3X11)

     BadValue    Some numeric value falls outside the range of
                 values accepted by the XChangeDeviceControl
                 request. Unless a specific range is specified
                 for an argument, the full range defined by the
                 argument's type is accepted.  Any argument
                 defined as a set of alternatives can generate
                 this error.


     Programming With Xlib

XFree86                   Version 4.5.0                         3

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.