NAME¶
XkbAllocNames - Allocate symbolic names structures
SYNOPSIS¶
Status
XkbAllocNames (XkbDescPtr xkb, unsigned int
which, int num_rg, int
num_key_aliases);
ARGUMENTS¶
- - xkb
- keyboard description for which names are to be
allocated
- - which
- mask of names to be allocated
- - num_rg
- total number of radio group names needed
- - num_key_aliases
- total number of key aliases needed
DESCRIPTION¶
Most applications do not need to directly allocate symbolic names structures. Do
not allocate a names structure directly using
malloc or
Xmalloc
if your application changes the number of key aliases or radio groups or
constructs a symbolic names structure without loading the necessary components
from the X server. Instead use
XkbAllocNames.
XkbAllocNames can return BadAlloc, BadMatch, and BadValue errors. The
which parameter is the bitwise inclusive OR of the valid names mask
bits defined 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 |
Do not free symbolic names structures directly using
free or
XFree. Use
XkbFreeNames instead.
DIAGNOSTICS¶
- BadAlloc
- Unable to allocate storage
- BadMatch
- A compatible version of Xkb was not available in the server
or an argument has correct type and range, but is otherwise invalid
- BadValue
- An argument is out of range
SEE ALSO¶
XkbFreeNames(3)