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 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)

X Version 11 libX11 1.8.10 XkbResizeKeyType(3)

tribblix@gmail.com :: GitHub :: Privacy