Provided by: libx11-doc_1.6.9-2ubuntu1.6_all bug

NAME

       XkbResizeKeyType - Change the number of levels in a key type

SYNOPSIS

       Status   XkbResizeKeyType   (XkbDescPtr  xkb,  int  type_ndx,  int  map_count,  Bool  want_preserve,  int
              new_num_lvls);

ARGUMENTS

       - xkb  keyboard description containing client map to update

       - type_ndx
              index in xkb->map->types of type to change

       - map_count
              total # of map entries needed for the type

       - want_preserve
              True => list of preserved modifiers is necessary

       - new_num_lvls
              new max # of levels for type

DESCRIPTION

       XkbResizeKeyType changes the type specified by xkb->map->types[type_ndx], and reallocates the symbols and
       actions  bound to all keys that use the type, if necessary.  XkbResizeKeyType updates only the local copy
       of the types in xkb; to update the server's copy for the physical device, use XkbSetMap  or  XkbChangeMap
       after calling XkbResizeKeyType.

       The map_count parameter specifies the total number of map entries needed for the type, and can be zero or
       greater. If map_count is zero, XkbResizeKeyType frees the existing map and preserve entries for the  type
       if they exist and sets them to NULL.

       The  want_preserve  parameter  specifies  whether  a  preserve  list  for  the  key should be created. If
       want_preserve is True, the preserve list with map_count entries is allocated or reallocated if it already
       exists. Otherwise, if want_preserve is False, the preserve field is freed if necessary and set to NULL.

       The  new_num_lvls  parameter specifies the new maximum number of shift levels for the type and is used to
       calculate and resize the symbols and actions bound to all keys that use the type.

       If type_ndx does not specify a legal type, new_num_lvls is less than 1, or the  map_count  is  less  than
       zero,  XkbResizeKeyType returns BadValue. If XkbResizeKeyType encounters any problems with allocation, it
       returns BadAlloc. Otherwise, it returns Success.

RETURN VALUES

       Success        The XkbResizeKeyType  function  returns  Success  if  type_ndx  specifies  a  legal  type,
                      new_num_lvls is greater than zero and map_count is positive.

DIAGNOSTICS

       BadAlloc       Unable to allocate storage

       BadValue       An argument is out of range

SEE ALSO

       XkbChangeMap(3), XkbSetMap(3)