These structures are defined in the file XInput.h . 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. 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 contains an invalid Device type.
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.