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) (FILE * /* file */ ,
|
---|
43 | XkbDescPtr /* result */ ,
|
---|
44 | Bool /* topLevel */ ,
|
---|
45 | Bool /* showImplicit */ ,
|
---|
46 | int /* fileSection */ ,
|
---|
47 | void * /* priv */
|
---|
48 | );
|
---|
49 |
|
---|
50 | /***====================================================================***/
|
---|
51 |
|
---|
52 | #define _XkbSuccess 0
|
---|
53 | #define _XkbErrMissingNames 1
|
---|
54 | #define _XkbErrMissingTypes 2
|
---|
55 | #define _XkbErrMissingReqTypes 3
|
---|
56 | #define _XkbErrMissingSymbols 4
|
---|
57 | #define _XkbErrMissingVMods 5
|
---|
58 | #define _XkbErrMissingIndicators 6
|
---|
59 | #define _XkbErrMissingCompatMap 7
|
---|
60 | #define _XkbErrMissingSymInterps 8
|
---|
61 | #define _XkbErrMissingGeometry 9
|
---|
62 | #define _XkbErrIllegalDoodad 10
|
---|
63 | #define _XkbErrIllegalTOCType 11
|
---|
64 | #define _XkbErrIllegalContents 12
|
---|
65 | #define _XkbErrEmptyFile 13
|
---|
66 | #define _XkbErrFileNotFound 14
|
---|
67 | #define _XkbErrFileCannotOpen 15
|
---|
68 | #define _XkbErrBadValue 16
|
---|
69 | #define _XkbErrBadMatch 17
|
---|
70 | #define _XkbErrBadTypeName 18
|
---|
71 | #define _XkbErrBadTypeWidth 19
|
---|
72 | #define _XkbErrBadFileType 20
|
---|
73 | #define _XkbErrBadFileVersion 21
|
---|
74 | #define _XkbErrBadFileFormat 22
|
---|
75 | #define _XkbErrBadAlloc 23
|
---|
76 | #define _XkbErrBadLength 24
|
---|
77 | #define _XkbErrXReqFailure 25
|
---|
78 | #define _XkbErrBadImplementation 26
|
---|
79 |
|
---|
80 | /***====================================================================***/
|
---|
81 |
|
---|
82 | _XFUNCPROTOBEGIN
|
---|
83 |
|
---|
84 | extern _X_EXPORT char *XkbIndentText(unsigned /* size */
|
---|
85 | );
|
---|
86 |
|
---|
87 | extern _X_EXPORT char *XkbAtomText(Atom /* atm */ ,
|
---|
88 | unsigned /* format */
|
---|
89 | );
|
---|
90 |
|
---|
91 | extern _X_EXPORT char *XkbKeysymText(KeySym /* sym */ ,
|
---|
92 | unsigned /* format */
|
---|
93 | );
|
---|
94 |
|
---|
95 | extern _X_EXPORT char *XkbStringText(char * /* str */ ,
|
---|
96 | unsigned /* format */
|
---|
97 | );
|
---|
98 |
|
---|
99 | extern _X_EXPORT char *XkbKeyNameText(char * /* name */ ,
|
---|
100 | unsigned /* format */
|
---|
101 | );
|
---|
102 |
|
---|
103 | extern _X_EXPORT char *XkbModIndexText(unsigned /* ndx */ ,
|
---|
104 | unsigned /* format */
|
---|
105 | );
|
---|
106 |
|
---|
107 | extern _X_EXPORT char *XkbModMaskText(unsigned /* mask */ ,
|
---|
108 | unsigned /* format */
|
---|
109 | );
|
---|
110 |
|
---|
111 | extern _X_EXPORT char *XkbVModIndexText(XkbDescPtr /* xkb */ ,
|
---|
112 | unsigned /* ndx */ ,
|
---|
113 | unsigned /* format */
|
---|
114 | );
|
---|
115 |
|
---|
116 | extern _X_EXPORT char *XkbVModMaskText(XkbDescPtr /* xkb */ ,
|
---|
117 | unsigned /* modMask */ ,
|
---|
118 | unsigned /* mask */ ,
|
---|
119 | unsigned /* format */
|
---|
120 | );
|
---|
121 |
|
---|
122 | extern _X_EXPORT char *XkbConfigText(unsigned /* config */ ,
|
---|
123 | unsigned /* format */
|
---|
124 | );
|
---|
125 |
|
---|
126 | extern _X_EXPORT const char *XkbSIMatchText(unsigned /* type */ ,
|
---|
127 | unsigned /* format */
|
---|
128 | );
|
---|
129 |
|
---|
130 | extern _X_EXPORT char *XkbIMWhichStateMaskText(unsigned /* use_which */ ,
|
---|
131 | unsigned /* format */
|
---|
132 | );
|
---|
133 |
|
---|
134 | extern _X_EXPORT char *XkbControlsMaskText(unsigned /* ctrls */ ,
|
---|
135 | unsigned /* format */
|
---|
136 | );
|
---|
137 |
|
---|
138 | extern _X_EXPORT char *XkbGeomFPText(int /* val */ ,
|
---|
139 | unsigned /* format */
|
---|
140 | );
|
---|
141 |
|
---|
142 | extern _X_EXPORT char *XkbDoodadTypeText(unsigned /* type */ ,
|
---|
143 | unsigned /* format */
|
---|
144 | );
|
---|
145 |
|
---|
146 | extern _X_EXPORT const char *XkbActionTypeText(unsigned /* type */ ,
|
---|
147 | unsigned /* format */
|
---|
148 | );
|
---|
149 |
|
---|
150 | extern _X_EXPORT char *XkbActionText(XkbDescPtr /* xkb */ ,
|
---|
151 | XkbAction * /* action */ ,
|
---|
152 | unsigned /* format */
|
---|
153 | );
|
---|
154 |
|
---|
155 | extern _X_EXPORT char *XkbBehaviorText(XkbDescPtr /* xkb */ ,
|
---|
156 | XkbBehavior * /* behavior */ ,
|
---|
157 | unsigned /* format */
|
---|
158 | );
|
---|
159 |
|
---|
160 | /***====================================================================***/
|
---|
161 |
|
---|
162 | #define _XkbKSLower (1<<0)
|
---|
163 | #define _XkbKSUpper (1<<1)
|
---|
164 |
|
---|
165 | #define XkbKSIsLower(k) (_XkbKSCheckCase(k)&_XkbKSLower)
|
---|
166 | #define XkbKSIsUpper(k) (_XkbKSCheckCase(k)&_XkbKSUpper)
|
---|
167 | #define XkbKSIsKeypad(k) (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal))
|
---|
168 | #define XkbKSIsDeadKey(k) \
|
---|
169 | (((k)>=XK_dead_grave)&&((k)<=XK_dead_semivoiced_sound))
|
---|
170 |
|
---|
171 | extern _X_EXPORT unsigned _XkbKSCheckCase(KeySym /* sym */
|
---|
172 | );
|
---|
173 |
|
---|
174 | extern _X_EXPORT int XkbFindKeycodeByName(XkbDescPtr /* xkb */ ,
|
---|
175 | char * /* name */ ,
|
---|
176 | Bool /* use_aliases */
|
---|
177 | );
|
---|
178 |
|
---|
179 | /***====================================================================***/
|
---|
180 |
|
---|
181 | extern _X_EXPORT Atom XkbInternAtom(char * /* name */ ,
|
---|
182 | Bool /* onlyIfExists */
|
---|
183 | );
|
---|
184 |
|
---|
185 | /***====================================================================***/
|
---|
186 |
|
---|
187 | #ifdef _XKBGEOM_H_
|
---|
188 |
|
---|
189 | #define XkbDW_Unknown 0
|
---|
190 | #define XkbDW_Doodad 1
|
---|
191 | #define XkbDW_Section 2
|
---|
192 | typedef struct _XkbDrawable {
|
---|
193 | int type;
|
---|
194 | int priority;
|
---|
195 | union {
|
---|
196 | XkbDoodadPtr doodad;
|
---|
197 | XkbSectionPtr section;
|
---|
198 | } u;
|
---|
199 | struct _XkbDrawable *next;
|
---|
200 | } XkbDrawableRec, *XkbDrawablePtr;
|
---|
201 |
|
---|
202 | #endif
|
---|
203 |
|
---|
204 | /***====================================================================***/
|
---|
205 |
|
---|
206 | extern _X_EXPORT unsigned XkbConvertGetByNameComponents(Bool /* toXkm */ ,
|
---|
207 | unsigned /* orig */
|
---|
208 | );
|
---|
209 |
|
---|
210 | extern _X_EXPORT Bool XkbNameMatchesPattern(char * /* name */ ,
|
---|
211 | char * /* pattern */
|
---|
212 | );
|
---|
213 |
|
---|
214 | /***====================================================================***/
|
---|
215 |
|
---|
216 | extern _X_EXPORT Bool XkbWriteXKBKeycodes(FILE * /* file */ ,
|
---|
217 | XkbDescPtr /* result */ ,
|
---|
218 | Bool /* topLevel */ ,
|
---|
219 | Bool /* showImplicit */ ,
|
---|
220 | XkbFileAddOnFunc /* addOn */ ,
|
---|
221 | void * /* priv */
|
---|
222 | );
|
---|
223 |
|
---|
224 | extern _X_EXPORT Bool XkbWriteXKBKeyTypes(FILE * /* file */ ,
|
---|
225 | XkbDescPtr /* result */ ,
|
---|
226 | Bool /* topLevel */ ,
|
---|
227 | Bool /* showImplicit */ ,
|
---|
228 | XkbFileAddOnFunc /* addOn */ ,
|
---|
229 | void * /* priv */
|
---|
230 | );
|
---|
231 |
|
---|
232 | extern _X_EXPORT Bool XkbWriteXKBCompatMap(FILE * /* file */ ,
|
---|
233 | XkbDescPtr /* result */ ,
|
---|
234 | Bool /* topLevel */ ,
|
---|
235 | Bool /* showImplicit */ ,
|
---|
236 | XkbFileAddOnFunc /* addOn */ ,
|
---|
237 | void * /* priv */
|
---|
238 | );
|
---|
239 |
|
---|
240 | extern _X_EXPORT Bool XkbWriteXKBSymbols(FILE * /* file */ ,
|
---|
241 | XkbDescPtr /* result */ ,
|
---|
242 | Bool /* topLevel */ ,
|
---|
243 | Bool /* showImplicit */ ,
|
---|
244 | XkbFileAddOnFunc /* addOn */ ,
|
---|
245 | void * /* priv */
|
---|
246 | );
|
---|
247 |
|
---|
248 | extern _X_EXPORT Bool XkbWriteXKBGeometry(FILE * /* file */ ,
|
---|
249 | XkbDescPtr /* result */ ,
|
---|
250 | Bool /* topLevel */ ,
|
---|
251 | Bool /* showImplicit */ ,
|
---|
252 | XkbFileAddOnFunc /* addOn */ ,
|
---|
253 | void * /* priv */
|
---|
254 | );
|
---|
255 |
|
---|
256 | extern _X_EXPORT Bool XkbWriteXKBKeymapForNames(FILE * /* file */ ,
|
---|
257 | XkbComponentNamesPtr /* names */
|
---|
258 | ,
|
---|
259 | XkbDescPtr /* xkb */ ,
|
---|
260 | unsigned /* want */ ,
|
---|
261 | unsigned /* need */
|
---|
262 | );
|
---|
263 |
|
---|
264 | /***====================================================================***/
|
---|
265 |
|
---|
266 | extern _X_EXPORT Bool XkmProbe(FILE * /* file */
|
---|
267 | );
|
---|
268 |
|
---|
269 | extern _X_EXPORT unsigned XkmReadFile(FILE * /* file */ ,
|
---|
270 | unsigned /* need */ ,
|
---|
271 | unsigned /* want */ ,
|
---|
272 | XkbDescPtr * /* result */
|
---|
273 | );
|
---|
274 |
|
---|
275 | _XFUNCPROTOEND
|
---|
276 | #endif /* _XKBFILE_H_ */
|
---|