XkbFreeNames - Man Page

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 BitValueKeyboardField
Component
XkbKeycodesNameMask(1<<0)Xkb->nameskeycodes
XkbGeometryNameMask(1<<1)Xkb->namesgeometry
XkbSymbolsNameMask(1<<2)Xkb->namessymbols
XkbPhysSymbolsNameMask(1<<3)Xkb->namesphys_symbols
XkbTypesNameMask(1<<4)Xkb->namestype
XkbCompatNameMask(1<<5)Xkb->namescompat
XkbKeyTypeNamesMask(1<<6)Xkb->maptype[*].name
XkbKTLevelNamesMask(1<<7)Xkb->maptype[*].lvl_names[*]
XkbIndicatorNamesMask(1<<8)Xkb->namesindicators[*]
XkbKeyNamesMask(1<<9)Xkb->nameskeys[*], num_keys
XkbKeyAliasesMask(1<<10)Xkb->nameskey_aliases[*], num_key_aliases
XkbVirtualModNamesMask(1<<11)Xkb->namesvmods[*]
XkbGroupNamesMask(1<<12)Xkb->namesgroups[*]
XkbRGNamesMask(1<<13)Xkb->namesradio_groups[*], num_rg
XkbComponentNamesMask(0x3f)Xkb->nameskeycodes,
geometry,
symbols,
physical symbols,
types, and
compatibility map
XkbAllNamesMask(0x3fff)Xkb->namesall name components

Referenced By

XkbAllocNames(3), XkbFreeKeyboard(3), XkbGetNames(3).

libX11 1.7.2 X Version 11 XKB FUNCTIONS