1. NAME▲
XkbAllocNames - Allocate symbolic names structures
2. SYNOPSIS ▲
Status XkbAllocNames (XkbDescPtr xkb , unsigned int which , int num_rg , int num_key_aliases );
3. 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
4. DESCRIPTION ▲
Most applications do not need to directly allocate symbolic names structures. Do not allocate a names structure directly using mallocor Xmallocif 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. XkbAllocNamescan return BadAlloc, BadMatch, and BadValue errors. The whichparameter is the bitwise inclusive OR of the valid names mask bits defined in Table 1.
c s s s | |||
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 freeor XFree.Use XkbFreeNamesinstead.
5. 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
6. SEE ALSO ▲
R XkbFreeNames (3)