upload tizen2.0 source
[framework/uifw/xorg/lib/libx11.git] / man / xkb / XkbFreeCompatMap.man
1 '\" t
2 .\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
3 .\"
4 .\" Permission is hereby granted, free of charge, to any person obtaining a
5 .\" copy of this software and associated documentation files (the "Software"),
6 .\" to deal in the Software without restriction, including without limitation
7 .\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 .\" and/or sell copies of the Software, and to permit persons to whom the
9 .\" Software is furnished to do so, subject to the following conditions:
10 .\"
11 .\" The above copyright notice and this permission notice (including the next
12 .\" paragraph) shall be included in all copies or substantial portions of the
13 .\" Software.
14 .\"
15 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18 .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 .\" DEALINGS IN THE SOFTWARE.
22 .\"
23 .TH XkbFreeCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
24 .SH NAME
25 XkbFreeCompatMap \- Free an entire compatibility map or selected portions of one
26 .SH SYNOPSIS
27 .HP
28 .B void XkbFreeCompatMap
29 .BI "(\^XkbDescPtr " "xkb" "\^,"
30 .BI "unsigned int " "which" "\^,"
31 .BI "Bool " "free_map" "\^);"
32 .if n .ti +5n
33 .if t .ti +.5i
34 .SH ARGUMENTS
35 .TP
36 .I \- xkb
37 Xkb description in which to free compatibility map
38 .TP
39 .I \- which
40 mask of compatibility map components to free
41 .TP
42 .I \- free_map
43 True => free XkbCompatMap structure itself
44 .SH DESCRIPTION
45 .LP
46 .I which 
47 specifies the compatibility map components to be freed (see XkbGetCompatMap). 
48 .I which 
49 is an inclusive OR of the bits shown in Table 1.
50
51 .TS
52 c s s
53 l l l.
54 Table 1 Compatibility Map Component Masks
55 _
56 Mask    Value   Affecting
57 _
58 XkbSymInterpMask        (1<<0)  Symbol interpretations
59 XkbGroupCompatMask      (1<<1)  Group maps
60 XkbAllCompatMask        (0x3)   All compatibility map components
61 .TE
62
63 .I free_map 
64 indicates whether the XkbCompatMap structure itself should be freed. If 
65 .I free_map 
66 is True, 
67 .I which 
68 is ignored, all non-NULL compatibility map components are freed, and the 
69 .I compat 
70 field in the XkbDescRec referenced by 
71 .I xkb 
72 is set to NULL.
73 .SH STRUCTURES
74 .LP
75 .nf
76
77     typedef struct _XkbCompatMapRec {
78         XkbSymInterpretPtr    sym_interpret;            /\(** symbol based key semantics*/
79         XkbModsRec            groups[XkbNumKbdGroups];  /\(** group => modifier map */
80         unsigned short        num_si;                   /\(** # structures used in sym_interpret */
81         unsigned short        size_si;                  /\(** # structures allocated in sym_interpret */
82     } XkbCompatMapRec, *XkbCompatMapPtr;
83     
84 .fi
85
86 The complete description of an Xkb keyboard is given by an XkbDescRec. The component 
87 structures in the XkbDescRec represent the major Xkb components outlined in Figure 1.1.
88
89 .nf
90 typedef struct {
91    struct _XDisplay * display;      /\(** connection to X server */
92    unsigned short     flags;        /\(** private to Xkb, do not modify */
93    unsigned short     device_spec;  /\(** device of interest */
94    KeyCode            min_key_code; /\(** minimum keycode for device */
95    KeyCode            max_key_code; /\(** maximum keycode for device */
96    XkbControlsPtr     ctrls;        /\(** controls */
97    XkbServerMapPtr    server;       /\(** server keymap */
98    XkbClientMapPtr    map;          /\(** client keymap */
99    XkbIndicatorPtr    indicators;   /\(** indicator map */
100    XkbNamesPtr        names;        /\(** names for all components */
101    XkbCompatMapPtr    compat;       /\(** compatibility map */
102    XkbGeometryPtr     geom;         /\(** physical geometry of keyboard */
103 } XkbDescRec, *XkbDescPtr;
104
105 .fi
106 The 
107 .I display 
108 field points to an X display structure. The 
109 .I flags field is private to the library: modifying 
110 .I flags 
111 may yield unpredictable results. The 
112 .I device_spec 
113 field specifies the device identifier of the keyboard input device, or 
114 XkbUseCoreKeyboard, which specifies the core keyboard device. The 
115 .I min_key_code
116 and 
117 .I max_key_code 
118 fields specify the least and greatest keycode that can be returned by the keyboard. 
119 The other fields specify structure components of the keyboard description and are 
120 described in detail in other sections of this document. Table 2 identifies the 
121 subsequent sections of this document that discuss the individual components of the 
122 XkbDescRec.
123
124 .TS
125 c s
126 l l
127 l l.
128 Table 2 XkbDescRec Component References
129 _
130 XkbDescRec Field        For more info
131 _
132 ctrls   Chapter 10
133 server  Chapter 16
134 map     Chapter 15
135 indicators      Chapter 8
136 names   Chapter 18
137 compat  Chapter 17
138 geom    Chapter 13
139 .TE
140
141 Each structure component has a corresponding mask bit that is used in function calls to 
142 indicate that the structure should be manipulated in some manner, such as allocating it 
143 or freeing it. These masks and their relationships to the fields in the XkbDescRec are 
144 shown in Table 3.
145
146 .TS
147 c s s
148 l l l
149 l l l.
150 Table 3 Mask Bits for XkbDescRec
151 _
152 Mask Bit        XkbDescRec Field        Value
153 _       
154 XkbControlsMask ctrls   (1L<<0)
155 XkbServerMapMask        server  (1L<<1)
156 XkbIClientMapMask       map     (1L<<2)
157 XkbIndicatorMapMask     indicators      (1L<<3)
158 XkbNamesMask    names   (1L<<4)
159 XkbCompatMapMask        compat  (1L<<5)
160 XkbGeometryMask geom    (1L<<6)
161 XkbAllComponentsMask    All Fields      (0x7f)
162 .TE
163 .SH "SEE ALSO"
164 .BR XkbGetCompatMap (__libmansuffix__)