1XkbFreeCompatMap(3)              XKB FUNCTIONS             XkbFreeCompatMap(3)
2
3
4

NAME

6       XkbFreeCompatMap  -  Free  an entire compatibility map or selected por‐
7       tions of one
8

SYNOPSIS

10       void  XkbFreeCompatMap  (XkbDescPtr  xkb,  unsigned  int  which,   Bool
11              free_map);
12

ARGUMENTS

14       xkb    Xkb description in which to free compatibility map
15
16       which  mask of compatibility map components to free
17
18       free_map
19              True => free XkbCompatMap structure itself
20

DESCRIPTION

22       which  specifies  the compatibility map components to be freed (see Xk‐
23       bGetCompatMap).  which is an inclusive OR of the bits shown in Table 1.
24
25
26                 Table 1 Compatibility Map Component Masks
27       ───────────────────────────────────────────────────────────────
28       Mask                 Value    Affecting
29       ───────────────────────────────────────────────────────────────
30       XkbSymInterpMask     (1<<0)   Symbol interpretations
31       XkbGroupCompatMask   (1<<1)   Group maps
32       XkbAllCompatMask     (0x3)    All compatibility map components
33
34       free_map indicates whether the XkbCompatMap structure itself should  be
35       freed.  If free_map is True, which is ignored, all non-NULL compatibil‐
36       ity map components are freed, and the compat field  in  the  XkbDescRec
37       referenced by xkb is set to NULL.
38

STRUCTURES

40           typedef struct _XkbCompatMapRec {
41               XkbSymInterpretPtr    sym_interpret;            /* symbol based key semantics*/
42               XkbModsRec            groups[XkbNumKbdGroups];  /* group => modifier map */
43               unsigned short        num_si;                   /* # structures used in sym_interpret */
44               unsigned short        size_si;                  /* # structures allocated in sym_interpret */
45           } XkbCompatMapRec, *XkbCompatMapPtr;
46
47
48       The  complete description of an Xkb keyboard is given by an XkbDescRec.
49       The component structures in the XkbDescRec represent the major Xkb com‐
50       ponents outlined in Figure 1.1.
51
52       typedef struct {
53          struct _XDisplay * display;      /* connection to X server */
54          unsigned short     flags;        /* private to Xkb, do not modify */
55          unsigned short     device_spec;  /* device of interest */
56          KeyCode            min_key_code; /* minimum keycode for device */
57          KeyCode            max_key_code; /* maximum keycode for device */
58          XkbControlsPtr     ctrls;        /* controls */
59          XkbServerMapPtr    server;       /* server keymap */
60          XkbClientMapPtr    map;          /* client keymap */
61          XkbIndicatorPtr    indicators;   /* indicator map */
62          XkbNamesPtr        names;        /* names for all components */
63          XkbCompatMapPtr    compat;       /* compatibility map */
64          XkbGeometryPtr     geom;         /* physical geometry of keyboard */
65       } XkbDescRec, *XkbDescPtr;
66
67       The  display field points to an X display structure. The flags field is
68       private to the library: modifying flags  may  yield  unpredictable  re‐
69       sults.  The  device_spec  field  specifies the device identifier of the
70       keyboard input device, or XkbUseCoreKeyboard, which specifies the  core
71       keyboard  device.  The min_key_code and max_key_code fields specify the
72       least and greatest keycode that can be returned by the  keyboard.   The
73       other  fields  specify structure components of the keyboard description
74       and are described in detail in other sections of this document. Table 2
75       identifies  the  subsequent  sections of this document that discuss the
76       individual components of the XkbDescRec.
77
78
79       Table 2 XkbDescRec Component References
80       ────────────────────────────────────────
81       XkbDescRec Field      For more info
82       ────────────────────────────────────────
83       ctrls                 Chapter 10
84       server                Chapter 16
85       map                   Chapter 15
86       indicators            Chapter 8
87       names                 Chapter 18
88       compat                Chapter 17
89       geom                  Chapter 13
90
91       Each structure component has a corresponding mask bit that is  used  in
92       function  calls to indicate that the structure should be manipulated in
93       some manner, such as allocating it or freeing it. These masks and their
94       relationships to the fields in the XkbDescRec are shown in Table 3.
95
96
97               Table 3 Mask Bits for XkbDescRec
98       ──────────────────────────────────────────────────
99       Mask Bit               XkbDescRec Field   Value
100       ──────────────────────
101       XkbControlsMask        ctrls              (1L<<0)
102       XkbServerMapMask       server             (1L<<1)
103       XkbIClientMapMask      map                (1L<<2)
104       XkbIndicatorMapMask    indicators         (1L<<3)
105       XkbNamesMask           names              (1L<<4)
106       XkbCompatMapMask       compat             (1L<<5)
107       XkbGeometryMask        geom               (1L<<6)
108       XkbAllComponentsMask   All Fields         (0x7f)
109

SEE ALSO

111       XkbGetCompatMap(3)
112
113
114
115X Version 11                     libX11 1.8.7              XkbFreeCompatMap(3)
Impressum