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 |