XCHANGEKEYBOARDDEVIC(3)

NAME
XChangeKeyboardDevice - change which device is used as the X keyboard

SYNOPSIS

#include <X11/extensions/XInput.h>

Status XChangeKeyboardDevice( Display *display,
                              XDevice *device);

display
       Specifies the connection to the X server.

device
       Specifies the device to be used as the X keyboard.

DESCRIPTION

    The XChangeKeyboardDevice request causes the server to use the
    specified device as the X keyboard. The device must have been
    previously opened by the requesting client via XOpenDevice or a
    BadDevice error will result. The device must support input
    class Keys, or a BadMatch error will result. If the server
    implementation does not support using the requested device as
    the X keyboard, 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 = MappingKeyboard is sent to all clients.
    The specified device becomes the X keyboard and the old X
    keyboard becomes accessible through the input extension
    protocol requests.

    XChangeKeyboardDevice 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 device
           (pointer or keyboard). This error may also occur if the
           server implementation does not support using the
           specified device as the X keyboard.

    BadMatch
           This error may occur if an XChangeKeyboardDevice request
           was made specifying a device that has no keys.

SEE ALSO

    XChangePointerDevice(3)