dwww Home | Manual pages | Find package

XkbResizeKeyType(3)              XKB FUNCTIONS              XkbResizeKeyType(3)

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  XkbRe-
       sizeKeyType.

       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, XkbRe-
       sizeKeyType 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. Oth-
       erwise, if want_preserve is False, the preserve field is freed if neces-
       sary 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)

X Version 11                     libX11 1.8.12              XkbResizeKeyType(3)

Generated by dwww version 1.16 on Sat Oct 3 05:00:16 CEST 2026.