XChangeKeyboardDevice(3X11) | X FUNCTIONS | XChangeKeyboardDevice(3X11)

# NAME

XChangeKeyboardDevice - change which device is used as the X keyboard

# SYNTAX

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

# ARGUMENTS

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
Programming With Xlib

XFree86 | 4.5.0