Manual Reference Pages  - XkbFreeNames (3)

NAME

XkbFreeNames - Free symbolic names structures

CONTENTS

Synopsis
Arguments
Description

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


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