XCHANGEPOINTERDEVICE(3) |  | XCHANGEPOINTERDEVICE(3)

# NAME

XChangePointerDevice - change which device is the X pointer

# SYNOPSIS

    #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.

# DESCRIPTION

    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.

# DIAGNOSTICS

    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.

# SEE ALSO

    XChangeKeyboardDevice(3)

05/18/2026 |