Provided by: libxi-dev_1.6.0-0ubuntu2_amd64 bug

NAME

       XSetDeviceButtonMapping, XGetDeviceButtonMapping - query or change device button mappings

SYNOPSIS

       #include <X11/extensions/XInput.h>

       int XSetDeviceButtonMapping( Display *display,
                                    XDevice *device,
                                    unsigned char map[],
                                    int nmap);

       int XGetDeviceButtonMapping( Display *display,
                                    XDevice *device,
                                    unsigned char map_return[],
                                    int nmap);

       display
              Specifies the connection to the X server.

       device
              Specifies the device whose button mapping is to be
              queried or changed.

       map
              Specifies the mapping list.

       map_return
              Returns the mapping list.

       nmap
              Specifies the number of items in the mapping list.

DESCRIPTION

           The XSetDeviceButtonMapping request sets the mapping of the
           specified device. If it succeeds, the X server generates a
           DeviceMappingNotify event, and XSetDeviceButtonMapping returns
           MappingSuccess. Element map[i] defines the logical button
           number for the physical button i+1. The length of the list must
           be the same as XGetDeviceButtonMapping would return, or a
           BadValue error results. A zero element disables a button, and
           elements are not restricted in value by the number of physical
           buttons. However, no two elements can have the same nonzero
           value, or a BadValue error results. If any of the buttons to be
           altered are logically in the down state,
           XSetDeviceButtonMapping returns MappingBusy, and the mapping is
           not changed.

           XSetDeviceButtonMapping can generate BadDevice, BadMatch, and
           BadValue errors.

           The XGetDeviceButtonMapping request returns the current mapping
           of the specified device. Buttons are numbered starting from
           one.XGetDeviceButtonMapping returns the number of physical
           buttons actually on the device. The nominal mapping for a
           device is map[i]=i+1. The nmap argument specifies the length of
           the array where the device mapping is returned, and only the
           first nmap elements are returned in map_return.

           XGetDeviceButtonMapping can generate BadDevice or BadMatch
           errors.

DIAGNOSTICS

           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 the
                  specified device is the X keyboard or X pointer device.

           BadMatch
                  This error may occur if an XGetDeviceButtonMapping or
                  XSetDeviceButtonMapping request was made specifying a
                  device that has no buttons.

           BadValue
                  Some numeric value falls outside the range of values
                  accepted by the 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.

SEE ALSO

           XChangeDeviceKeyboardControl(3), XChangeDeviceKeyMapping(3),
           XChangeDeviceModifierMapping(3)