DragonFly On-Line Manual Pages
XkbFreeNames(3) XKB FUNCTIONS XkbFreeNames(3)
NAME
XkbFreeNames - Free symbolic names structures
SYNOPSIS
void XkbFreeNames (XkbDescPtr xkb, unsigned int which, Bool free_map);
ARGUMENTS
xkb keyboard description for which names are to be freed
which mask of names components to be freed
free_map
True => XkbNamesRec structure itself should be freed
DESCRIPTION
Do not free symbolic names structures directly using free or XFree.
Use XkbFreeNames instead.
The which parameter is the bitwise inclusive OR of the valid names mask
bits defined in Table 1.
Xkb provides several functions that work with symbolic names. Each of
these functions uses a mask to specify individual fields of the
structures described above. These masks and their relationships to the
fields in a keyboard description are shown in Table 1.
Table 1 Symbolic Names Masks
---------------------------------------------------------------------------------
Mask Bit Value Keyboard Field
Component
---------------------------------------------------------------------------------
XkbKeycodesNameMask (1<<0) Xkb->names keycodes
XkbGeometryNameMask (1<<1) Xkb->names geometry
XkbSymbolsNameMask (1<<2) Xkb->names symbols
XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
XkbTypesNameMask (1<<4) Xkb->names type
XkbCompatNameMask (1<<5) Xkb->names compat
XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
XkbGroupNamesMask (1<<12) Xkb->names groups[*]
XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
XkbComponentNamesMask (0x3f) Xkb->names keycodes,
geometry,
symbols,
physical symbols,
types, and
compatibility map
XkbAllNamesMask (0x3fff) Xkb->names all name components
X Version 11 libX11 1.8.6 XkbFreeNames(3)