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.

 
Sélectionnez
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