XChangeKeyboardMapping()XChangeKeyboardMapping()Name
XChangeKeyboardMapping – change the keyboard mapping.
Synopsis
XChangeKeyboardMapping(display, first_keycode,
keysyms_per_keycode, keysyms, num_codes)
Display *display;
int first_keycode;
int keysyms_per_keycode;
KeySym *keysyms;
int num_keycodes;
Arguments
display Specifies a connection to an X server; returned from XOpenDis‐
play().
first_keycode
Specifies the first keycode that is to be changed.
keysyms_per_keycode
Specifies the number of keysyms that the caller is supplying
for each keycode.
keysyms Specifies a pointer to the list of keysyms.
num_keycodes
Specifies the number of keycodes that are to be changed.
Description
Starting with first_keycode, XChangeKeyboardMapping() defines the
keysyms for the specified number of keycodes. The symbols for keycodes
outside this range remain unchanged. The number of elements in the
keysyms list must be keysyms_per_
keycode ∗ num_keycodes (else a BadValue error). The specified
first_keycode must be greater than or equal to min_keycode returned by
XDisplayKeycodes() (see Appendix C, Macros) or a BadValue error
results. In addition, the following expression must be less than or
equal to max_keycode as returned by XDisplayKeycodes(), or a BadValue
error results:
first_keycode + num_keycodes - 1
The keysym number N (counting from 0) for keycode K has the following
index in the keysyms array (counting from 0):
(K - first_keycode) * keysyms_per_keycode + N
The specified keysyms_per_keycode can be chosen arbitrarily by the
client to be large enough to hold all desired symbols. A special
keysym value of NoSymbol should be used to fill in unused elements for
individual keycodes. It is legal for NoSymbol to appear in nontrailing
positions of the effective list for a keycode.
XChangeKeyboardMapping() generates a MappingNotify event, sent to this
and all other clients, since the keycode to keysym mapping is global to
all clients.
Errors
BadAlloc
BadValue first.keycode less than display->min_keycode.
display->max_keycode exceeded (see above).
See AlsoXDeleteModifiermapEntry(), XFreeModifiermap(), XGetKeyboardMapping(),
XGetModifierMapping(), XInsertModifiermapEntry(), XKeycodeToKeysym(),
XKeysymToKeycode(), XKeysymToString(), XLookupKeysym(), XLookup‐
String(), XNewModifierMap, XQueryKeymap(), XRebindKeySym, XRefreshKey‐
boardMapping(), XSetModifierMapping(), XStringToKeysym().
Xlib - Keyboard XChangeKeyboardMapping()