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