The XSetDeviceMode request changes
the mode of an input device that is capable of reporting either absolute
positional information or relative motion information. Not all input devices
are capable of reporting motion data, and not all are capable of changing
modes from Absolute to Relative.

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 XSetDeviceMode request is made specifying a
device that has no valuators and reports no axes of motion.

BadMode

An invalid
mode was specified. This error will also be returned if the specified device
is not capable of supporting the XSetDeviceMode request.