1c27c18e8SmrgXCHANGEKEYBOARDDEVICE(libmansuffix)
2c27c18e8Smrg===================================
3c27c18e8Smrg
4c27c18e8SmrgNAME
5c27c18e8Smrg----
6c27c18e8Smrg
7c27c18e8Smrg   XChangeKeyboardDevice - change which device is used as the X
8c27c18e8Smrg   keyboard
9c27c18e8Smrg
10c27c18e8SmrgSYNOPSIS
11c27c18e8Smrg--------
12c27c18e8Smrg
13c27c18e8Smrg   #include <X11/extensions/XInput.h>
14c27c18e8Smrg
15c27c18e8Smrg   Status XChangeKeyboardDevice( Display *display,
16c27c18e8Smrg                                 XDevice *device);
17c27c18e8Smrg
18c27c18e8Smrg   display
19c27c18e8Smrg          Specifies the connection to the X server.
20c27c18e8Smrg
21c27c18e8Smrg   device
22c27c18e8Smrg          Specifies the device to be used as the X keyboard.
23c27c18e8Smrg
24c27c18e8SmrgDESCRIPTION
25c27c18e8Smrg-----------
26c27c18e8Smrg
27c27c18e8Smrg   The XChangeKeyboardDevice request causes the server to use the
28c27c18e8Smrg   specified device as the X keyboard. The device must have been
29c27c18e8Smrg   previously opened by the requesting client via XOpenDevice or a
30c27c18e8Smrg   BadDevice error will result. The device must support input
31c27c18e8Smrg   class Keys, or a BadMatch error will result. If the server
32c27c18e8Smrg   implementation does not support using the requested device as
33c27c18e8Smrg   the X keyboard, a BadDevice error will result.
34c27c18e8Smrg
35c27c18e8Smrg   If the specified device is grabbed by another client,
36c27c18e8Smrg   AlreadyGrabbed is returned. If the specified device is frozen
37c27c18e8Smrg   by a grab on another device, GrabFrozen is returned. If the
38c27c18e8Smrg   request is successful, Success is returned.
39c27c18e8Smrg
40c27c18e8Smrg   If the request succeeds, a ChangeDeviceNotify event is sent to
41c27c18e8Smrg   all clients that have selected that event. A MappingNotify
42c27c18e8Smrg   event with request = MappingKeyboard is sent to all clients.
43c27c18e8Smrg   The specified device becomes the X keyboard and the old X
44c27c18e8Smrg   keyboard becomes accessible through the input extension
45c27c18e8Smrg   protocol requests.
46c27c18e8Smrg
47c27c18e8Smrg   XChangeKeyboardDevice can generate a BadDevice or a BadMatch
48c27c18e8Smrg   error.
49c27c18e8Smrg
50c27c18e8SmrgDIAGNOSTICS
51c27c18e8Smrg-----------
52c27c18e8Smrg
53c27c18e8Smrg   BadDevice
54c27c18e8Smrg          An invalid device was specified. The specified device
55c27c18e8Smrg          does not exist, has not been opened by this client via
56c27c18e8Smrg          XOpenInputDevice, or is already one of the core X device
57c27c18e8Smrg          (pointer or keyboard). This error may also occur if the
58c27c18e8Smrg          server implementation does not support using the
59c27c18e8Smrg          specified device as the X keyboard.
60c27c18e8Smrg
61c27c18e8Smrg   BadMatch
62c27c18e8Smrg          This error may occur if an XChangeKeyboardDevice request
63c27c18e8Smrg          was made specifying a device that has no keys.
64c27c18e8Smrg
65c27c18e8SmrgSEE ALSO
66c27c18e8Smrg--------
67c27c18e8Smrg
68c27c18e8Smrg   XChangePointerDevice(libmansuffix)
69