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.