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
displaySpecifies a connection to an X server; returned from XOpenDisplay().
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.
keysymsSpecifies 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
BadValuefirst.keycode less than display->min_keycode.
display->max_keycode exceeded (see above).
SEE ALSO
XDeleteModifiermapEntry(), XFreeModifiermap(), XGetKeyboardMapping(), XGetModifierMapping(), XInsertModifiermapEntry(), XKeycodeToKeysym(), XKeysymToKeycode(), XKeysymToString(), XLookupKeysym(), XLookupString(), XNewModifierMap, XQueryKeymap(), XRebindKeySym, XRefreshKeyboardMapping(), XSetModifierMapping(), XStringToKeysym().
Xlib Reference Manual