1 | /************************************************************
|
---|
2 | Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
|
---|
3 |
|
---|
4 | Permission to use, copy, modify, and distribute this
|
---|
5 | software and its documentation for any purpose and without
|
---|
6 | fee is hereby granted, provided that the above copyright
|
---|
7 | notice appear in all copies and that both that copyright
|
---|
8 | notice and this permission notice appear in supporting
|
---|
9 | documentation, and that the name of Silicon Graphics not be
|
---|
10 | used in advertising or publicity pertaining to distribution
|
---|
11 | of the software without specific prior written permission.
|
---|
12 | Silicon Graphics makes no representation about the suitability
|
---|
13 | of this software for any purpose. It is provided "as is"
|
---|
14 | without any express or implied warranty.
|
---|
15 |
|
---|
16 | SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
---|
17 | SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
---|
18 | AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
|
---|
19 | GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
|
---|
20 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
---|
21 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
---|
22 | OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
---|
23 | THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
---|
24 |
|
---|
25 | ********************************************************/
|
---|
26 |
|
---|
27 | #ifndef _XKBFILE_H_
|
---|
28 | #define _XKBFILE_H_ 1
|
---|
29 |
|
---|
30 | #include "xkbstr.h"
|
---|
31 |
|
---|
32 | /***====================================================================***/
|
---|
33 |
|
---|
34 | #define XkbXKMFile 0
|
---|
35 | #define XkbCFile 1
|
---|
36 | #define XkbXKBFile 2
|
---|
37 | #define XkbMessage 3
|
---|
38 |
|
---|
39 | #define XkbMapDefined (1<<0)
|
---|
40 | #define XkbStateDefined (1<<1)
|
---|
41 |
|
---|
42 | typedef void (*XkbFileAddOnFunc)(
|
---|
43 | FILE * /* file */,
|
---|
44 | XkbDescPtr /* result */,
|
---|
45 | Bool /* topLevel */,
|
---|
46 | Bool /* showImplicit */,
|
---|
47 | int /* fileSection */,
|
---|
48 | void * /* priv */
|
---|
49 | );
|
---|
50 |
|
---|
51 | /***====================================================================***/
|
---|
52 |
|
---|
53 | #define _XkbSuccess 0
|
---|
54 | #define _XkbErrMissingNames 1
|
---|
55 | #define _XkbErrMissingTypes 2
|
---|
56 | #define _XkbErrMissingReqTypes 3
|
---|
57 | #define _XkbErrMissingSymbols 4
|
---|
58 | #define _XkbErrMissingVMods 5
|
---|
59 | #define _XkbErrMissingIndicators 6
|
---|
60 | #define _XkbErrMissingCompatMap 7
|
---|
61 | #define _XkbErrMissingSymInterps 8
|
---|
62 | #define _XkbErrMissingGeometry 9
|
---|
63 | #define _XkbErrIllegalDoodad 10
|
---|
64 | #define _XkbErrIllegalTOCType 11
|
---|
65 | #define _XkbErrIllegalContents 12
|
---|
66 | #define _XkbErrEmptyFile 13
|
---|
67 | #define _XkbErrFileNotFound 14
|
---|
68 | #define _XkbErrFileCannotOpen 15
|
---|
69 | #define _XkbErrBadValue 16
|
---|
70 | #define _XkbErrBadMatch 17
|
---|
71 | #define _XkbErrBadTypeName 18
|
---|
72 | #define _XkbErrBadTypeWidth 19
|
---|
73 | #define _XkbErrBadFileType 20
|
---|
74 | #define _XkbErrBadFileVersion 21
|
---|
75 | #define _XkbErrBadFileFormat 22
|
---|
76 | #define _XkbErrBadAlloc 23
|
---|
77 | #define _XkbErrBadLength 24
|
---|
78 | #define _XkbErrXReqFailure 25
|
---|
79 | #define _XkbErrBadImplementation 26
|
---|
80 |
|
---|
81 | /***====================================================================***/
|
---|
82 |
|
---|
83 | _XFUNCPROTOBEGIN
|
---|
84 |
|
---|
85 | extern _X_EXPORT char * XkbIndentText(
|
---|
86 | unsigned /* size */
|
---|
87 | );
|
---|
88 |
|
---|
89 | extern _X_EXPORT char * XkbAtomText(
|
---|
90 | Atom /* atm */,
|
---|
91 | unsigned /* format */
|
---|
92 | );
|
---|
93 |
|
---|
94 | extern _X_EXPORT char * XkbKeysymText(
|
---|
95 | KeySym /* sym */,
|
---|
96 | unsigned /* format */
|
---|
97 | );
|
---|
98 |
|
---|
99 | extern _X_EXPORT char * XkbStringText(
|
---|
100 | char * /* str */,
|
---|
101 | unsigned /* format */
|
---|
102 | );
|
---|
103 |
|
---|
104 | extern _X_EXPORT char * XkbKeyNameText(
|
---|
105 | char * /* name */,
|
---|
106 | unsigned /* format */
|
---|
107 | );
|
---|
108 |
|
---|
109 | extern _X_EXPORT char *
|
---|
110 | XkbModIndexText(
|
---|
111 | unsigned /* ndx */,
|
---|
112 | unsigned /* format */
|
---|
113 | );
|
---|
114 |
|
---|
115 | extern _X_EXPORT char *
|
---|
116 | XkbModMaskText(
|
---|
117 | unsigned /* mask */,
|
---|
118 | unsigned /* format */
|
---|
119 | );
|
---|
120 |
|
---|
121 | extern _X_EXPORT char * XkbVModIndexText(
|
---|
122 | XkbDescPtr /* xkb */,
|
---|
123 | unsigned /* ndx */,
|
---|
124 | unsigned /* format */
|
---|
125 | );
|
---|
126 |
|
---|
127 | extern _X_EXPORT char * XkbVModMaskText(
|
---|
128 | XkbDescPtr /* xkb */,
|
---|
129 | unsigned /* modMask */,
|
---|
130 | unsigned /* mask */,
|
---|
131 | unsigned /* format */
|
---|
132 | );
|
---|
133 |
|
---|
134 | extern _X_EXPORT char * XkbConfigText(
|
---|
135 | unsigned /* config */,
|
---|
136 | unsigned /* format */
|
---|
137 | );
|
---|
138 |
|
---|
139 | extern _X_EXPORT char * XkbSIMatchText(
|
---|
140 | unsigned /* type */,
|
---|
141 | unsigned /* format */
|
---|
142 | );
|
---|
143 |
|
---|
144 | extern _X_EXPORT char * XkbIMWhichStateMaskText(
|
---|
145 | unsigned /* use_which */,
|
---|
146 | unsigned /* format */
|
---|
147 | );
|
---|
148 |
|
---|
149 | extern _X_EXPORT char * XkbControlsMaskText(
|
---|
150 | unsigned /* ctrls */,
|
---|
151 | unsigned /* format */
|
---|
152 | );
|
---|
153 |
|
---|
154 | extern _X_EXPORT char * XkbGeomFPText(
|
---|
155 | int /* val */,
|
---|
156 | unsigned /* format */
|
---|
157 | );
|
---|
158 |
|
---|
159 | extern _X_EXPORT char * XkbDoodadTypeText(
|
---|
160 | unsigned /* type */,
|
---|
161 | unsigned /* format */
|
---|
162 | );
|
---|
163 |
|
---|
164 | extern _X_EXPORT char * XkbActionTypeText(
|
---|
165 | unsigned /* type */,
|
---|
166 | unsigned /* format */
|
---|
167 | );
|
---|
168 |
|
---|
169 | extern _X_EXPORT char * XkbActionText(
|
---|
170 | XkbDescPtr /* xkb */,
|
---|
171 | XkbAction * /* action */,
|
---|
172 | unsigned /* format */
|
---|
173 | );
|
---|
174 |
|
---|
175 | extern _X_EXPORT char * XkbBehaviorText(
|
---|
176 | XkbDescPtr /* xkb */,
|
---|
177 | XkbBehavior * /* behavior */,
|
---|
178 | unsigned /* format */
|
---|
179 | );
|
---|
180 |
|
---|
181 | /***====================================================================***/
|
---|
182 |
|
---|
183 | #define _XkbKSLower (1<<0)
|
---|
184 | #define _XkbKSUpper (1<<1)
|
---|
185 |
|
---|
186 | #define XkbKSIsLower(k) (_XkbKSCheckCase(k)&_XkbKSLower)
|
---|
187 | #define XkbKSIsUpper(k) (_XkbKSCheckCase(k)&_XkbKSUpper)
|
---|
188 | #define XkbKSIsKeypad(k) (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal))
|
---|
189 | #define XkbKSIsDeadKey(k) \
|
---|
190 | (((k)>=XK_dead_grave)&&((k)<=XK_dead_semivoiced_sound))
|
---|
191 |
|
---|
192 | extern _X_EXPORT unsigned _XkbKSCheckCase(
|
---|
193 | KeySym /* sym */
|
---|
194 | );
|
---|
195 |
|
---|
196 | extern _X_EXPORT int XkbFindKeycodeByName(
|
---|
197 | XkbDescPtr /* xkb */,
|
---|
198 | char * /* name */,
|
---|
199 | Bool /* use_aliases */
|
---|
200 | );
|
---|
201 |
|
---|
202 | /***====================================================================***/
|
---|
203 |
|
---|
204 | extern _X_EXPORT Atom XkbInternAtom(
|
---|
205 | char * /* name */,
|
---|
206 | Bool /* onlyIfExists */
|
---|
207 | );
|
---|
208 |
|
---|
209 | /***====================================================================***/
|
---|
210 |
|
---|
211 | #ifdef _XKBGEOM_H_
|
---|
212 |
|
---|
213 | #define XkbDW_Unknown 0
|
---|
214 | #define XkbDW_Doodad 1
|
---|
215 | #define XkbDW_Section 2
|
---|
216 | typedef struct _XkbDrawable {
|
---|
217 | int type;
|
---|
218 | int priority;
|
---|
219 | union {
|
---|
220 | XkbDoodadPtr doodad;
|
---|
221 | XkbSectionPtr section;
|
---|
222 | } u;
|
---|
223 | struct _XkbDrawable * next;
|
---|
224 | } XkbDrawableRec,*XkbDrawablePtr;
|
---|
225 |
|
---|
226 | #endif
|
---|
227 |
|
---|
228 | /***====================================================================***/
|
---|
229 |
|
---|
230 | extern _X_EXPORT unsigned XkbConvertGetByNameComponents(
|
---|
231 | Bool /* toXkm */,
|
---|
232 | unsigned /* orig */
|
---|
233 | );
|
---|
234 |
|
---|
235 | extern _X_EXPORT Bool XkbNameMatchesPattern(
|
---|
236 | char * /* name */,
|
---|
237 | char * /* pattern */
|
---|
238 | );
|
---|
239 |
|
---|
240 | /***====================================================================***/
|
---|
241 |
|
---|
242 | extern _X_EXPORT Bool XkbWriteXKBKeycodes(
|
---|
243 | FILE * /* file */,
|
---|
244 | XkbDescPtr /* result */,
|
---|
245 | Bool /* topLevel */,
|
---|
246 | Bool /* showImplicit */,
|
---|
247 | XkbFileAddOnFunc /* addOn */,
|
---|
248 | void * /* priv */
|
---|
249 | );
|
---|
250 |
|
---|
251 | extern _X_EXPORT Bool XkbWriteXKBKeyTypes(
|
---|
252 | FILE * /* file */,
|
---|
253 | XkbDescPtr /* result */,
|
---|
254 | Bool /* topLevel */,
|
---|
255 | Bool /* showImplicit */,
|
---|
256 | XkbFileAddOnFunc /* addOn */,
|
---|
257 | void * /* priv */
|
---|
258 | );
|
---|
259 |
|
---|
260 | extern _X_EXPORT Bool XkbWriteXKBCompatMap(
|
---|
261 | FILE * /* file */,
|
---|
262 | XkbDescPtr /* result */,
|
---|
263 | Bool /* topLevel */,
|
---|
264 | Bool /* showImplicit */,
|
---|
265 | XkbFileAddOnFunc /* addOn */,
|
---|
266 | void * /* priv */
|
---|
267 | );
|
---|
268 |
|
---|
269 | extern _X_EXPORT Bool XkbWriteXKBSymbols(
|
---|
270 | FILE * /* file */,
|
---|
271 | XkbDescPtr /* result */,
|
---|
272 | Bool /* topLevel */,
|
---|
273 | Bool /* showImplicit */,
|
---|
274 | XkbFileAddOnFunc /* addOn */,
|
---|
275 | void * /* priv */
|
---|
276 | );
|
---|
277 |
|
---|
278 | extern _X_EXPORT Bool XkbWriteXKBGeometry(
|
---|
279 | FILE * /* file */,
|
---|
280 | XkbDescPtr /* result */,
|
---|
281 | Bool /* topLevel */,
|
---|
282 | Bool /* showImplicit */,
|
---|
283 | XkbFileAddOnFunc /* addOn */,
|
---|
284 | void * /* priv */
|
---|
285 | );
|
---|
286 |
|
---|
287 | extern _X_EXPORT Bool XkbWriteXKBKeymapForNames(
|
---|
288 | FILE * /* file */,
|
---|
289 | XkbComponentNamesPtr /* names */,
|
---|
290 | XkbDescPtr /* xkb */,
|
---|
291 | unsigned /* want */,
|
---|
292 | unsigned /* need */
|
---|
293 | );
|
---|
294 |
|
---|
295 | /***====================================================================***/
|
---|
296 |
|
---|
297 | extern _X_EXPORT Bool XkmProbe(
|
---|
298 | FILE * /* file */
|
---|
299 | );
|
---|
300 |
|
---|
301 | extern _X_EXPORT unsigned XkmReadFile(
|
---|
302 | FILE * /* file */,
|
---|
303 | unsigned /* need */,
|
---|
304 | unsigned /* want */,
|
---|
305 | XkbDescPtr * /* result */
|
---|
306 | );
|
---|
307 |
|
---|
308 | _XFUNCPROTOEND
|
---|
309 |
|
---|
310 | #endif /* _XKBFILE_H_ */
|
---|