Provided by: libx11-doc_1.8.7-1build1_all bug

NAME

       XkbResizeKeySyms - Change the number of symbols bound to a key

SYNOPSIS

       KeySym * XkbResizeKeySyms (XkbDescRec *xkb, int key, int needed);

ARGUMENTS

       xkb    keyboard description to be changed

       key    keycode for key to modify

       needed new number of keysyms required for key

DESCRIPTION

       XkbResizeKeySyms  reserves  the space needed for needed keysyms and returns a pointer to the beginning of
       the new array that holds the keysyms. It adjusts the offset field of the key_sym_map entry for the key if
       necessary  and can also change the syms, num_syms, and size_syms fields of xkb->map if it is necessary to
       reallocate the syms array.  XkbResizeKeySyms does not  modify  either  the  width  or  number  of  groups
       associated with the key.

       If needed is greater than the current number of keysyms for the key, XkbResizeKeySyms initializes all new
       keysyms in the array to NoSymbol.

       Because the number of symbols needed by a key is normally computed as  width  *  number  of  groups,  and
       XkbResizeKeySyms  does  not modify either the width or number of groups for the key, a discrepancy exists
       upon return from XkbResizeKeySyms between the space allocated for the keysyms and  the  number  required.
       The  unused  entries  in the list of symbols returned by XkbResizeKeySyms are not preserved across future
       calls to any of the map editing functions, so you must update the key symbol mapping (which  updates  the
       width  and  number  of  groups  for  the  key)  before  calling  another  allocator  function.  A call to
       XkbChangeTypesOfKey will update the mapping.

       If any allocation errors occur while resizing the number of symbols bound to  the  key,  XkbResizeKeySyms
       returns NULL.

SEE ALSO

       XkbChangeTypesOfKey(3), XkbResizeKeyActions(3)

NOTES

       A  change  to  the  number  of  symbols bound to a key should be accompanied by a change in the number of
       actions bound to a key. Refer to XkbResizeKeyActions for more  information  on  changing  the  number  of
       actions bound to a key.