XSetDeviceButtonMapping(3X1X)FUNCTIOXSetDeviceButtonMapping(3X11)NAME
XSetDeviceButtonMapping, XGetDeviceButtonMapping - query
or change device button mappings
SYNTAX
int XSetDeviceButtonMapping(display, device, map, nmap)
Display *display;
XDevice *device;
unsigned char map[];
int nmap;
int XGetDeviceButtonMapping(display, device, map_return,
nmap)
Display *display;
XDevice *device;
unsigned char map_return[];
int nmap;
ARGUMENTS
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 gener-
ates a DeviceMappingNotify event, and XSetDeviceButtonMap-
ping 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 XGetDeviceButton-
Mapping 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 Bad-
Value 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
X Version 11 Release 6.4 1
XSetDeviceButtonMapping(3X1X)FUNCTIOXSetDeviceButtonMapping(3X11)
argument specifies the length of the array where the
device mapping is returned, and only the first nmap ele-
ments are returned in map_return.
XGetDeviceButtonMapping can generate BadDevice or BadMatch
errors.
DIAGNOSTICS
BadDevice An invalid device was specified. The speci-
fied 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 XGetDeviceButton-
Mapping 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 spe-
cific 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 ALSOXChangeDeviceKeyboardControl(3X),
XChangeDeviceKeyMapping(3X)XChangeDeviceModifierMapping(3X)
Programming With Xlib
X Version 11 Release 6.4 2