XkbAllocNames - Man Page
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