1. NAME▲
XkbChangeMap - Update only partial components of a keyboard description, modify the appropriate fields in the server and map components of a local copy of the keyboard description
2. SYNOPSIS ▲
Bool XkbChangeMap (Display * dpy , XkbDescPtr xkb , XkbMapChangesPtr changes );
3. ARGUMENTS ▲
- - dpy
connection to X server - - xkb
description from which new values are taken - - changes
identifies component parts to update
4. DESCRIPTION ▲
To update only partial components of a keyboard description, modify the appropriate fields in the server and map components of a local copy of the keyboard description, then call XkbChangeMapwith an XkbMapChangesRec structure indicating which components have changed. XkbChangeMapcopies any components specified by the changesstructure from the keyboard description, xkb,to the X server specified by dpy. If any components specified by changesare not present in the xkbparameter, XkbChangeMapreturns False. Otherwise, it sends a request to the server and returns True. XkbChangeMapcan generate BadAlloc, BadLength, and BadValue protocol errors.
5. RETURN VALUES ▲
- True
The XkbChangeMap function returns True if the components specified by changesare present in the xkbparameter. - False
The XkbChangeMap function returns False if the components specified by changesare not present in the xkbparameter.
6. STRUCTURES ▲
Use the XkbMapChangesRec structure to identify and track partial modifications to the mapping components and to reduce the amount of traffic between the server and clients.
typedef struct _XkbMapChanges {
unsigned short changed; /(** identifies valid components in
structure */
KeyCode min_key_code; /(** lowest numbered keycode for device
*/
KeyCode max_key_code; /(** highest numbered keycode for device
*/
unsigned char first_type; /(** index of first key type modified */
unsigned char num_types; /(** # types modified */
KeyCode first_key_sym; /(** first key whose key_sym_map changed
*/
unsigned char num_key_syms; /(** # key_sym_map entries changed */
KeyCode first_key_act; /(** first key whose key_acts entry
changed */
unsigned char num_key_acts; /(** # key_acts entries changed */
KeyCode first_key_behavior; /(** first key whose behaviors changed */
unsigned char num_key_behaviors; /(** # behaviors entries changed */
KeyCode first_key_explicit; /(** first key whose explicit entry
changed */
unsigned char num_key_explicit; /(** # explicit entries changed */
KeyCode first_modmap_key; /(** first key whose modmap entry changed
*/
unsigned char num_modmap_keys; /(** # modmap entries changed */
KeyCode first_vmodmap_key; /(** first key whose vmodmap changed */
unsigned char num_vmodmap_keys; /(** # vmodmap entries changed */
unsigned char pad1; /(** reserved */
unsigned short vmods; /(** mask indicating which vmods changed
*/
} XkbMapChangesRec,*XkbMapChangesPtr;7. DIAGNOSTICS ▲
BadAlloc
Unable to allocate storage
BadLength
The length of a request is shorter or longer than that required to minimally contain the arguments
BadValue
An argument is out of range