DOKK / manpages / debian 12 / libxi-dev / XChangePointerDevice.3.en
XCHANGEPOINTERDEVICE(3)   XCHANGEPOINTERDEVICE(3)

XChangePointerDevice - change which device is the X pointer

#include <X11/extensions/XInput.h>

Status XChangePointerDevice( Display *display,

XDevice *device,
int xaxis,
int yaxis);

display

Specifies the connection to the X server.

device

Specifies the device to be used as the X pointer.

xaxis

Specifies the axis of the device to be used as the X
pointer x-axis.

yaxis

Specifies the axis of the device to be used as the X
pointer y-axis.

The XChangePointerDevice request causes the server to use the
specified device as the X pointer. The device must have been
opened by the client via XOpenDevice or a BadDevice error will
result. The device must support input class Valuators or a
BadMatch error will result. If the implementation does not
support use of the specified device as the X pointer, a
BadDevice error will result.

If the specified device is grabbed by another client,
AlreadyGrabbed is returned. If the specified device is frozen
by a grab on another device, GrabFrozen is returned. If the
request is successful, Success is returned.

If the request succeeds, a ChangeDeviceNotify event is sent to
all clients that have selected that event. A MappingNotify
event with request = MappingPointer is sent to all clients. The
specified device becomes the X pointer, and the old X pointer
becomes accessible through the input extension protocol
requests.

XChangePointerDevice can generate a BadDevice or a BadMatch
error.

BadDevice

An invalid device was specified. The specified device
does not exist, has not been opened by this client via
XOpenInputDevice, or is already one of the core X input
devices (pointer or keyboard). This error may also occur
if the server implementation does not support using the
specified device as the X pointer.

BadMatch

This error may occur if an XChangePointerDevice request
was made specifying a device that has less than two
valuators, or specifying a valuator index beyond the
range supported by the device.

09/15/2021