int XSetPointerMapping(display, map, nmap)
      Display *display;
      unsigned char map[];
      int nmap;


display Specifies the connection to the X server.
map Specifies the mapping list.
nmap Specifies the number of items in the mapping list.


The XSetPointerMapping() function sets the mapping of the pointer. If it succeeds, the X server generates a MappingNotify event, and XSetPointerMapping() 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 XGetPointerMapping 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, XSetPointerMapping() returns MappingBusy, and the mapping is not changed.

XSetPointerMapping() can generate a BadValue error.


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

XChangeKeyboardControl(), XChangeKeyboardMapping(), XGetPointerMapping(), "Keyboard and Pointer Settings".
Christophe Tronche, ch@tronche.com