Provided by: libx11-doc_1.8.6-1ubuntu1_all
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