Manual Reference Pages  - XkbAllocNames (3)

NAME

XkbAllocNames - Allocate symbolic names structures

CONTENTS

Synopsis
Arguments
Description
Diagnostics

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 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

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)


X Version 11 XkbAllocNames (3) libX11 1.5.0
blog comments powered by Disqus