jpayne@69
|
1 /************************************************************
|
jpayne@69
|
2 Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
|
jpayne@69
|
3
|
jpayne@69
|
4 Permission to use, copy, modify, and distribute this
|
jpayne@69
|
5 software and its documentation for any purpose and without
|
jpayne@69
|
6 fee is hereby granted, provided that the above copyright
|
jpayne@69
|
7 notice appear in all copies and that both that copyright
|
jpayne@69
|
8 notice and this permission notice appear in supporting
|
jpayne@69
|
9 documentation, and that the name of Silicon Graphics not be
|
jpayne@69
|
10 used in advertising or publicity pertaining to distribution
|
jpayne@69
|
11 of the software without specific prior written permission.
|
jpayne@69
|
12 Silicon Graphics makes no representation about the suitability
|
jpayne@69
|
13 of this software for any purpose. It is provided "as is"
|
jpayne@69
|
14 without any express or implied warranty.
|
jpayne@69
|
15
|
jpayne@69
|
16 SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
jpayne@69
|
17 SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
jpayne@69
|
18 AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
|
jpayne@69
|
19 GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
|
jpayne@69
|
20 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
jpayne@69
|
21 DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
jpayne@69
|
22 OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
jpayne@69
|
23 THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
jpayne@69
|
24
|
jpayne@69
|
25 ********************************************************/
|
jpayne@69
|
26
|
jpayne@69
|
27 #ifndef _X11_XKBLIB_H_
|
jpayne@69
|
28 #define _X11_XKBLIB_H_
|
jpayne@69
|
29
|
jpayne@69
|
30 #include <X11/Xlib.h>
|
jpayne@69
|
31 #include <X11/extensions/XKBstr.h>
|
jpayne@69
|
32
|
jpayne@69
|
33 typedef struct _XkbAnyEvent {
|
jpayne@69
|
34 int type; /* XkbAnyEvent */
|
jpayne@69
|
35 unsigned long serial; /* # of last req processed by server */
|
jpayne@69
|
36 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
37 Display * display; /* Display the event was read from */
|
jpayne@69
|
38 Time time; /* milliseconds */
|
jpayne@69
|
39 int xkb_type; /* XKB event minor code */
|
jpayne@69
|
40 unsigned int device; /* device ID */
|
jpayne@69
|
41 } XkbAnyEvent;
|
jpayne@69
|
42
|
jpayne@69
|
43 typedef struct _XkbNewKeyboardNotify {
|
jpayne@69
|
44 int type; /* XkbAnyEvent */
|
jpayne@69
|
45 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
46 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
47 Display * display; /* Display the event was read from */
|
jpayne@69
|
48 Time time; /* milliseconds */
|
jpayne@69
|
49 int xkb_type; /* XkbNewKeyboardNotify */
|
jpayne@69
|
50 int device; /* device ID */
|
jpayne@69
|
51 int old_device; /* device ID of previous keyboard */
|
jpayne@69
|
52 int min_key_code; /* minimum key code */
|
jpayne@69
|
53 int max_key_code; /* maximum key code */
|
jpayne@69
|
54 int old_min_key_code;/* min key code of previous kbd */
|
jpayne@69
|
55 int old_max_key_code;/* max key code of previous kbd */
|
jpayne@69
|
56 unsigned int changed; /* changed aspects of the keyboard */
|
jpayne@69
|
57 char req_major; /* major and minor opcode of req */
|
jpayne@69
|
58 char req_minor; /* that caused change, if applicable */
|
jpayne@69
|
59 } XkbNewKeyboardNotifyEvent;
|
jpayne@69
|
60
|
jpayne@69
|
61 typedef struct _XkbMapNotifyEvent {
|
jpayne@69
|
62 int type; /* XkbAnyEvent */
|
jpayne@69
|
63 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
64 Bool send_event; /* is this from a SendEvent request */
|
jpayne@69
|
65 Display * display; /* Display the event was read from */
|
jpayne@69
|
66 Time time; /* milliseconds */
|
jpayne@69
|
67 int xkb_type; /* XkbMapNotify */
|
jpayne@69
|
68 int device; /* device ID */
|
jpayne@69
|
69 unsigned int changed; /* fields which have been changed */
|
jpayne@69
|
70 unsigned int flags; /* reserved */
|
jpayne@69
|
71 int first_type; /* first changed key type */
|
jpayne@69
|
72 int num_types; /* number of changed key types */
|
jpayne@69
|
73 KeyCode min_key_code;
|
jpayne@69
|
74 KeyCode max_key_code;
|
jpayne@69
|
75 KeyCode first_key_sym;
|
jpayne@69
|
76 KeyCode first_key_act;
|
jpayne@69
|
77 KeyCode first_key_behavior;
|
jpayne@69
|
78 KeyCode first_key_explicit;
|
jpayne@69
|
79 KeyCode first_modmap_key;
|
jpayne@69
|
80 KeyCode first_vmodmap_key;
|
jpayne@69
|
81 int num_key_syms;
|
jpayne@69
|
82 int num_key_acts;
|
jpayne@69
|
83 int num_key_behaviors;
|
jpayne@69
|
84 int num_key_explicit;
|
jpayne@69
|
85 int num_modmap_keys;
|
jpayne@69
|
86 int num_vmodmap_keys;
|
jpayne@69
|
87 unsigned int vmods; /* mask of changed virtual mods */
|
jpayne@69
|
88 } XkbMapNotifyEvent;
|
jpayne@69
|
89
|
jpayne@69
|
90 typedef struct _XkbStateNotifyEvent {
|
jpayne@69
|
91 int type; /* XkbAnyEvent */
|
jpayne@69
|
92 unsigned long serial; /* # of last req processed by server */
|
jpayne@69
|
93 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
94 Display * display; /* Display the event was read from */
|
jpayne@69
|
95 Time time; /* milliseconds */
|
jpayne@69
|
96 int xkb_type; /* XkbStateNotify */
|
jpayne@69
|
97 int device; /* device ID */
|
jpayne@69
|
98 unsigned int changed; /* mask of changed state components */
|
jpayne@69
|
99 int group; /* keyboard group */
|
jpayne@69
|
100 int base_group; /* base keyboard group */
|
jpayne@69
|
101 int latched_group; /* latched keyboard group */
|
jpayne@69
|
102 int locked_group; /* locked keyboard group */
|
jpayne@69
|
103 unsigned int mods; /* modifier state */
|
jpayne@69
|
104 unsigned int base_mods; /* base modifier state */
|
jpayne@69
|
105 unsigned int latched_mods; /* latched modifiers */
|
jpayne@69
|
106 unsigned int locked_mods; /* locked modifiers */
|
jpayne@69
|
107 int compat_state; /* compatibility state */
|
jpayne@69
|
108 unsigned char grab_mods; /* mods used for grabs */
|
jpayne@69
|
109 unsigned char compat_grab_mods;/* grab mods for non-XKB clients */
|
jpayne@69
|
110 unsigned char lookup_mods; /* mods sent to clients */
|
jpayne@69
|
111 unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */
|
jpayne@69
|
112 int ptr_buttons; /* pointer button state */
|
jpayne@69
|
113 KeyCode keycode; /* keycode that caused the change */
|
jpayne@69
|
114 char event_type; /* KeyPress or KeyRelease */
|
jpayne@69
|
115 char req_major; /* Major opcode of request */
|
jpayne@69
|
116 char req_minor; /* Minor opcode of request */
|
jpayne@69
|
117 } XkbStateNotifyEvent;
|
jpayne@69
|
118
|
jpayne@69
|
119 typedef struct _XkbControlsNotify {
|
jpayne@69
|
120 int type; /* XkbAnyEvent */
|
jpayne@69
|
121 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
122 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
123 Display * display; /* Display the event was read from */
|
jpayne@69
|
124 Time time; /* milliseconds */
|
jpayne@69
|
125 int xkb_type; /* XkbControlsNotify */
|
jpayne@69
|
126 int device; /* device ID */
|
jpayne@69
|
127 unsigned int changed_ctrls; /* controls with changed sub-values */
|
jpayne@69
|
128 unsigned int enabled_ctrls; /* controls currently enabled */
|
jpayne@69
|
129 unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */
|
jpayne@69
|
130 int num_groups; /* total groups on keyboard */
|
jpayne@69
|
131 KeyCode keycode; /* key that caused change or 0 */
|
jpayne@69
|
132 char event_type; /* type of event that caused change */
|
jpayne@69
|
133 char req_major; /* if keycode==0, major and minor */
|
jpayne@69
|
134 char req_minor; /* opcode of req that caused change */
|
jpayne@69
|
135 } XkbControlsNotifyEvent;
|
jpayne@69
|
136
|
jpayne@69
|
137 typedef struct _XkbIndicatorNotify {
|
jpayne@69
|
138 int type; /* XkbAnyEvent */
|
jpayne@69
|
139 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
140 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
141 Display * display; /* Display the event was read from */
|
jpayne@69
|
142 Time time; /* milliseconds */
|
jpayne@69
|
143 int xkb_type; /* XkbIndicatorNotify */
|
jpayne@69
|
144 int device; /* device ID */
|
jpayne@69
|
145 unsigned int changed; /* indicators with new state or map */
|
jpayne@69
|
146 unsigned int state; /* current state of all indicators */
|
jpayne@69
|
147 } XkbIndicatorNotifyEvent;
|
jpayne@69
|
148
|
jpayne@69
|
149 typedef struct _XkbNamesNotify {
|
jpayne@69
|
150 int type; /* XkbAnyEvent */
|
jpayne@69
|
151 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
152 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
153 Display * display; /* Display the event was read from */
|
jpayne@69
|
154 Time time; /* milliseconds */
|
jpayne@69
|
155 int xkb_type; /* XkbNamesNotify */
|
jpayne@69
|
156 int device; /* device ID */
|
jpayne@69
|
157 unsigned int changed; /* names that have changed */
|
jpayne@69
|
158 int first_type; /* first key type with new name */
|
jpayne@69
|
159 int num_types; /* number of key types with new names */
|
jpayne@69
|
160 int first_lvl; /* first key type new new level names */
|
jpayne@69
|
161 int num_lvls; /* # of key types w/new level names */
|
jpayne@69
|
162 int num_aliases; /* total number of key aliases*/
|
jpayne@69
|
163 int num_radio_groups;/* total number of radio groups */
|
jpayne@69
|
164 unsigned int changed_vmods; /* virtual modifiers with new names */
|
jpayne@69
|
165 unsigned int changed_groups; /* groups with new names */
|
jpayne@69
|
166 unsigned int changed_indicators;/* indicators with new names */
|
jpayne@69
|
167 int first_key; /* first key with new name */
|
jpayne@69
|
168 int num_keys; /* number of keys with new names */
|
jpayne@69
|
169 } XkbNamesNotifyEvent;
|
jpayne@69
|
170
|
jpayne@69
|
171 typedef struct _XkbCompatMapNotify {
|
jpayne@69
|
172 int type; /* XkbAnyEvent */
|
jpayne@69
|
173 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
174 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
175 Display * display; /* Display the event was read from */
|
jpayne@69
|
176 Time time; /* milliseconds */
|
jpayne@69
|
177 int xkb_type; /* XkbCompatMapNotify */
|
jpayne@69
|
178 int device; /* device ID */
|
jpayne@69
|
179 unsigned int changed_groups; /* groups with new compat maps */
|
jpayne@69
|
180 int first_si; /* first new symbol interp */
|
jpayne@69
|
181 int num_si; /* number of new symbol interps */
|
jpayne@69
|
182 int num_total_si; /* total # of symbol interps */
|
jpayne@69
|
183 } XkbCompatMapNotifyEvent;
|
jpayne@69
|
184
|
jpayne@69
|
185 typedef struct _XkbBellNotify {
|
jpayne@69
|
186 int type; /* XkbAnyEvent */
|
jpayne@69
|
187 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
188 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
189 Display * display; /* Display the event was read from */
|
jpayne@69
|
190 Time time; /* milliseconds */
|
jpayne@69
|
191 int xkb_type; /* XkbBellNotify */
|
jpayne@69
|
192 int device; /* device ID */
|
jpayne@69
|
193 int percent; /* requested volume as a % of maximum */
|
jpayne@69
|
194 int pitch; /* requested pitch in Hz */
|
jpayne@69
|
195 int duration; /* requested duration in useconds */
|
jpayne@69
|
196 int bell_class; /* (input extension) feedback class */
|
jpayne@69
|
197 int bell_id; /* (input extension) ID of feedback */
|
jpayne@69
|
198 Atom name; /* "name" of requested bell */
|
jpayne@69
|
199 Window window; /* window associated with event */
|
jpayne@69
|
200 Bool event_only; /* "event only" requested */
|
jpayne@69
|
201 } XkbBellNotifyEvent;
|
jpayne@69
|
202
|
jpayne@69
|
203 typedef struct _XkbActionMessage {
|
jpayne@69
|
204 int type; /* XkbAnyEvent */
|
jpayne@69
|
205 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
206 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
207 Display * display; /* Display the event was read from */
|
jpayne@69
|
208 Time time; /* milliseconds */
|
jpayne@69
|
209 int xkb_type; /* XkbActionMessage */
|
jpayne@69
|
210 int device; /* device ID */
|
jpayne@69
|
211 KeyCode keycode; /* key that generated the event */
|
jpayne@69
|
212 Bool press; /* true if act caused by key press */
|
jpayne@69
|
213 Bool key_event_follows;/* true if key event also generated */
|
jpayne@69
|
214 int group; /* effective group */
|
jpayne@69
|
215 unsigned int mods; /* effective mods */
|
jpayne@69
|
216 char message[XkbActionMessageLength+1];
|
jpayne@69
|
217 /* message -- leave space for NUL */
|
jpayne@69
|
218 } XkbActionMessageEvent;
|
jpayne@69
|
219
|
jpayne@69
|
220 typedef struct _XkbAccessXNotify {
|
jpayne@69
|
221 int type; /* XkbAnyEvent */
|
jpayne@69
|
222 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
223 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
224 Display * display; /* Display the event was read from */
|
jpayne@69
|
225 Time time; /* milliseconds */
|
jpayne@69
|
226 int xkb_type; /* XkbAccessXNotify */
|
jpayne@69
|
227 int device; /* device ID */
|
jpayne@69
|
228 int detail; /* XkbAXN_* */
|
jpayne@69
|
229 int keycode; /* key of event */
|
jpayne@69
|
230 int sk_delay; /* current slow keys delay */
|
jpayne@69
|
231 int debounce_delay; /* current debounce delay */
|
jpayne@69
|
232 } XkbAccessXNotifyEvent;
|
jpayne@69
|
233
|
jpayne@69
|
234 typedef struct _XkbExtensionDeviceNotify {
|
jpayne@69
|
235 int type; /* XkbAnyEvent */
|
jpayne@69
|
236 unsigned long serial; /* of last req processed by server */
|
jpayne@69
|
237 Bool send_event; /* is this from a SendEvent request? */
|
jpayne@69
|
238 Display * display; /* Display the event was read from */
|
jpayne@69
|
239 Time time; /* milliseconds */
|
jpayne@69
|
240 int xkb_type; /* XkbExtensionDeviceNotify */
|
jpayne@69
|
241 int device; /* device ID */
|
jpayne@69
|
242 unsigned int reason; /* reason for the event */
|
jpayne@69
|
243 unsigned int supported; /* mask of supported features */
|
jpayne@69
|
244 unsigned int unsupported; /* mask of unsupported features */
|
jpayne@69
|
245 /* that some app tried to use */
|
jpayne@69
|
246 int first_btn; /* first button that changed */
|
jpayne@69
|
247 int num_btns; /* range of buttons changed */
|
jpayne@69
|
248 unsigned int leds_defined; /* indicators with names or maps */
|
jpayne@69
|
249 unsigned int led_state; /* current state of the indicators */
|
jpayne@69
|
250 int led_class; /* feedback class for led changes */
|
jpayne@69
|
251 int led_id; /* feedback id for led changes */
|
jpayne@69
|
252 } XkbExtensionDeviceNotifyEvent;
|
jpayne@69
|
253
|
jpayne@69
|
254 typedef union _XkbEvent {
|
jpayne@69
|
255 int type;
|
jpayne@69
|
256 XkbAnyEvent any;
|
jpayne@69
|
257 XkbNewKeyboardNotifyEvent new_kbd;
|
jpayne@69
|
258 XkbMapNotifyEvent map;
|
jpayne@69
|
259 XkbStateNotifyEvent state;
|
jpayne@69
|
260 XkbControlsNotifyEvent ctrls;
|
jpayne@69
|
261 XkbIndicatorNotifyEvent indicators;
|
jpayne@69
|
262 XkbNamesNotifyEvent names;
|
jpayne@69
|
263 XkbCompatMapNotifyEvent compat;
|
jpayne@69
|
264 XkbBellNotifyEvent bell;
|
jpayne@69
|
265 XkbActionMessageEvent message;
|
jpayne@69
|
266 XkbAccessXNotifyEvent accessx;
|
jpayne@69
|
267 XkbExtensionDeviceNotifyEvent device;
|
jpayne@69
|
268 XEvent core;
|
jpayne@69
|
269 } XkbEvent;
|
jpayne@69
|
270
|
jpayne@69
|
271 typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
|
jpayne@69
|
272
|
jpayne@69
|
273 /* XkbOpenDisplay error codes */
|
jpayne@69
|
274 #define XkbOD_Success 0
|
jpayne@69
|
275 #define XkbOD_BadLibraryVersion 1
|
jpayne@69
|
276 #define XkbOD_ConnectionRefused 2
|
jpayne@69
|
277 #define XkbOD_NonXkbServer 3
|
jpayne@69
|
278 #define XkbOD_BadServerVersion 4
|
jpayne@69
|
279
|
jpayne@69
|
280 /* Values for XlibFlags */
|
jpayne@69
|
281 #define XkbLC_ForceLatin1Lookup (1<<0)
|
jpayne@69
|
282 #define XkbLC_ConsumeLookupMods (1<<1)
|
jpayne@69
|
283 #define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
|
jpayne@69
|
284 #define XkbLC_IgnoreNewKeyboards (1<<3)
|
jpayne@69
|
285 #define XkbLC_ControlFallback (1<<4)
|
jpayne@69
|
286 #define XkbLC_ConsumeKeysOnComposeFail (1<<29)
|
jpayne@69
|
287 #define XkbLC_ComposeLED (1<<30)
|
jpayne@69
|
288 #define XkbLC_BeepOnComposeFail (1<<31)
|
jpayne@69
|
289
|
jpayne@69
|
290 #define XkbLC_AllComposeControls (0xc0000000)
|
jpayne@69
|
291 #define XkbLC_AllControls (0xc000001f)
|
jpayne@69
|
292
|
jpayne@69
|
293 _XFUNCPROTOBEGIN
|
jpayne@69
|
294
|
jpayne@69
|
295 extern Bool XkbIgnoreExtension(
|
jpayne@69
|
296 Bool /* ignore */
|
jpayne@69
|
297 );
|
jpayne@69
|
298
|
jpayne@69
|
299 extern Display *XkbOpenDisplay(
|
jpayne@69
|
300 _Xconst char * /* name */,
|
jpayne@69
|
301 int * /* ev_rtrn */,
|
jpayne@69
|
302 int * /* err_rtrn */,
|
jpayne@69
|
303 int * /* major_rtrn */,
|
jpayne@69
|
304 int * /* minor_rtrn */,
|
jpayne@69
|
305 int * /* reason */
|
jpayne@69
|
306 );
|
jpayne@69
|
307
|
jpayne@69
|
308 extern Bool XkbQueryExtension(
|
jpayne@69
|
309 Display * /* dpy */,
|
jpayne@69
|
310 int * /* opcodeReturn */,
|
jpayne@69
|
311 int * /* eventBaseReturn */,
|
jpayne@69
|
312 int * /* errorBaseReturn */,
|
jpayne@69
|
313 int * /* majorRtrn */,
|
jpayne@69
|
314 int * /* minorRtrn */
|
jpayne@69
|
315 );
|
jpayne@69
|
316
|
jpayne@69
|
317 extern Bool XkbUseExtension(
|
jpayne@69
|
318 Display * /* dpy */,
|
jpayne@69
|
319 int * /* major_rtrn */,
|
jpayne@69
|
320 int * /* minor_rtrn */
|
jpayne@69
|
321 );
|
jpayne@69
|
322
|
jpayne@69
|
323 extern Bool XkbLibraryVersion(
|
jpayne@69
|
324 int * /* libMajorRtrn */,
|
jpayne@69
|
325 int * /* libMinorRtrn */
|
jpayne@69
|
326 );
|
jpayne@69
|
327
|
jpayne@69
|
328 extern unsigned int XkbSetXlibControls(
|
jpayne@69
|
329 Display* /* dpy */,
|
jpayne@69
|
330 unsigned int /* affect */,
|
jpayne@69
|
331 unsigned int /* values */
|
jpayne@69
|
332 );
|
jpayne@69
|
333
|
jpayne@69
|
334 extern unsigned int XkbGetXlibControls(
|
jpayne@69
|
335 Display* /* dpy */
|
jpayne@69
|
336 );
|
jpayne@69
|
337
|
jpayne@69
|
338 extern unsigned int XkbXlibControlsImplemented(void);
|
jpayne@69
|
339
|
jpayne@69
|
340 typedef Atom (*XkbInternAtomFunc)(
|
jpayne@69
|
341 Display * /* dpy */,
|
jpayne@69
|
342 _Xconst char * /* name */,
|
jpayne@69
|
343 Bool /* only_if_exists */
|
jpayne@69
|
344 );
|
jpayne@69
|
345
|
jpayne@69
|
346 typedef char * (*XkbGetAtomNameFunc)(
|
jpayne@69
|
347 Display * /* dpy */,
|
jpayne@69
|
348 Atom /* atom */
|
jpayne@69
|
349 );
|
jpayne@69
|
350
|
jpayne@69
|
351 extern void XkbSetAtomFuncs(
|
jpayne@69
|
352 XkbInternAtomFunc /* getAtom */,
|
jpayne@69
|
353 XkbGetAtomNameFunc /* getName */
|
jpayne@69
|
354 );
|
jpayne@69
|
355
|
jpayne@69
|
356 extern KeySym XkbKeycodeToKeysym(
|
jpayne@69
|
357 Display * /* dpy */,
|
jpayne@69
|
358 #if NeedWidePrototypes
|
jpayne@69
|
359 unsigned int /* kc */,
|
jpayne@69
|
360 #else
|
jpayne@69
|
361 KeyCode /* kc */,
|
jpayne@69
|
362 #endif
|
jpayne@69
|
363 int /* group */,
|
jpayne@69
|
364 int /* level */
|
jpayne@69
|
365 );
|
jpayne@69
|
366
|
jpayne@69
|
367 extern unsigned int XkbKeysymToModifiers(
|
jpayne@69
|
368 Display * /* dpy */,
|
jpayne@69
|
369 KeySym /* ks */
|
jpayne@69
|
370 );
|
jpayne@69
|
371
|
jpayne@69
|
372 extern Bool XkbLookupKeySym(
|
jpayne@69
|
373 Display * /* dpy */,
|
jpayne@69
|
374 KeyCode /* keycode */,
|
jpayne@69
|
375 unsigned int /* modifiers */,
|
jpayne@69
|
376 unsigned int * /* modifiers_return */,
|
jpayne@69
|
377 KeySym * /* keysym_return */
|
jpayne@69
|
378 );
|
jpayne@69
|
379
|
jpayne@69
|
380 extern int XkbLookupKeyBinding(
|
jpayne@69
|
381 Display * /* dpy */,
|
jpayne@69
|
382 KeySym /* sym_rtrn */,
|
jpayne@69
|
383 unsigned int /* mods */,
|
jpayne@69
|
384 char * /* buffer */,
|
jpayne@69
|
385 int /* nbytes */,
|
jpayne@69
|
386 int * /* extra_rtrn */
|
jpayne@69
|
387 );
|
jpayne@69
|
388
|
jpayne@69
|
389 extern Bool XkbTranslateKeyCode(
|
jpayne@69
|
390 XkbDescPtr /* xkb */,
|
jpayne@69
|
391 KeyCode /* keycode */,
|
jpayne@69
|
392 unsigned int /* modifiers */,
|
jpayne@69
|
393 unsigned int * /* modifiers_return */,
|
jpayne@69
|
394 KeySym * /* keysym_return */
|
jpayne@69
|
395 );
|
jpayne@69
|
396
|
jpayne@69
|
397 extern int XkbTranslateKeySym(
|
jpayne@69
|
398 Display * /* dpy */,
|
jpayne@69
|
399 KeySym * /* sym_return */,
|
jpayne@69
|
400 unsigned int /* modifiers */,
|
jpayne@69
|
401 char * /* buffer */,
|
jpayne@69
|
402 int /* nbytes */,
|
jpayne@69
|
403 int * /* extra_rtrn */
|
jpayne@69
|
404 );
|
jpayne@69
|
405
|
jpayne@69
|
406 extern Bool XkbSetAutoRepeatRate(
|
jpayne@69
|
407 Display * /* dpy */,
|
jpayne@69
|
408 unsigned int /* deviceSpec */,
|
jpayne@69
|
409 unsigned int /* delay */,
|
jpayne@69
|
410 unsigned int /* interval */
|
jpayne@69
|
411 );
|
jpayne@69
|
412
|
jpayne@69
|
413 extern Bool XkbGetAutoRepeatRate(
|
jpayne@69
|
414 Display * /* dpy */,
|
jpayne@69
|
415 unsigned int /* deviceSpec */,
|
jpayne@69
|
416 unsigned int * /* delayRtrn */,
|
jpayne@69
|
417 unsigned int * /* intervalRtrn */
|
jpayne@69
|
418 );
|
jpayne@69
|
419
|
jpayne@69
|
420 extern Bool XkbChangeEnabledControls(
|
jpayne@69
|
421 Display * /* dpy */,
|
jpayne@69
|
422 unsigned int /* deviceSpec */,
|
jpayne@69
|
423 unsigned int /* affect */,
|
jpayne@69
|
424 unsigned int /* values */
|
jpayne@69
|
425 );
|
jpayne@69
|
426
|
jpayne@69
|
427 extern Bool XkbDeviceBell(
|
jpayne@69
|
428 Display * /* dpy */,
|
jpayne@69
|
429 Window /* win */,
|
jpayne@69
|
430 int /* deviceSpec */,
|
jpayne@69
|
431 int /* bellClass */,
|
jpayne@69
|
432 int /* bellID */,
|
jpayne@69
|
433 int /* percent */,
|
jpayne@69
|
434 Atom /* name */
|
jpayne@69
|
435 );
|
jpayne@69
|
436
|
jpayne@69
|
437 extern Bool XkbForceDeviceBell(
|
jpayne@69
|
438 Display * /* dpy */,
|
jpayne@69
|
439 int /* deviceSpec */,
|
jpayne@69
|
440 int /* bellClass */,
|
jpayne@69
|
441 int /* bellID */,
|
jpayne@69
|
442 int /* percent */
|
jpayne@69
|
443 );
|
jpayne@69
|
444
|
jpayne@69
|
445 extern Bool XkbDeviceBellEvent(
|
jpayne@69
|
446 Display * /* dpy */,
|
jpayne@69
|
447 Window /* win */,
|
jpayne@69
|
448 int /* deviceSpec */,
|
jpayne@69
|
449 int /* bellClass */,
|
jpayne@69
|
450 int /* bellID */,
|
jpayne@69
|
451 int /* percent */,
|
jpayne@69
|
452 Atom /* name */
|
jpayne@69
|
453 );
|
jpayne@69
|
454
|
jpayne@69
|
455 extern Bool XkbBell(
|
jpayne@69
|
456 Display * /* dpy */,
|
jpayne@69
|
457 Window /* win */,
|
jpayne@69
|
458 int /* percent */,
|
jpayne@69
|
459 Atom /* name */
|
jpayne@69
|
460 );
|
jpayne@69
|
461
|
jpayne@69
|
462 extern Bool XkbForceBell(
|
jpayne@69
|
463 Display * /* dpy */,
|
jpayne@69
|
464 int /* percent */
|
jpayne@69
|
465 );
|
jpayne@69
|
466
|
jpayne@69
|
467 extern Bool XkbBellEvent(
|
jpayne@69
|
468 Display * /* dpy */,
|
jpayne@69
|
469 Window /* win */,
|
jpayne@69
|
470 int /* percent */,
|
jpayne@69
|
471 Atom /* name */
|
jpayne@69
|
472 );
|
jpayne@69
|
473
|
jpayne@69
|
474 extern Bool XkbSelectEvents(
|
jpayne@69
|
475 Display * /* dpy */,
|
jpayne@69
|
476 unsigned int /* deviceID */,
|
jpayne@69
|
477 unsigned int /* affect */,
|
jpayne@69
|
478 unsigned int /* values */
|
jpayne@69
|
479 );
|
jpayne@69
|
480
|
jpayne@69
|
481 extern Bool XkbSelectEventDetails(
|
jpayne@69
|
482 Display * /* dpy */,
|
jpayne@69
|
483 unsigned int /* deviceID */,
|
jpayne@69
|
484 unsigned int /* eventType */,
|
jpayne@69
|
485 unsigned long /* affect */,
|
jpayne@69
|
486 unsigned long /* details */
|
jpayne@69
|
487 );
|
jpayne@69
|
488
|
jpayne@69
|
489 extern void XkbNoteMapChanges(
|
jpayne@69
|
490 XkbMapChangesPtr /* old */,
|
jpayne@69
|
491 XkbMapNotifyEvent * /* new */,
|
jpayne@69
|
492 unsigned int /* wanted */
|
jpayne@69
|
493 );
|
jpayne@69
|
494
|
jpayne@69
|
495 extern void XkbNoteNameChanges(
|
jpayne@69
|
496 XkbNameChangesPtr /* old */,
|
jpayne@69
|
497 XkbNamesNotifyEvent * /* new */,
|
jpayne@69
|
498 unsigned int /* wanted */
|
jpayne@69
|
499 );
|
jpayne@69
|
500
|
jpayne@69
|
501 extern Status XkbGetIndicatorState(
|
jpayne@69
|
502 Display * /* dpy */,
|
jpayne@69
|
503 unsigned int /* deviceSpec */,
|
jpayne@69
|
504 unsigned int * /* pStateRtrn */
|
jpayne@69
|
505 );
|
jpayne@69
|
506
|
jpayne@69
|
507 extern Status XkbGetDeviceIndicatorState(
|
jpayne@69
|
508 Display * /* dpy */,
|
jpayne@69
|
509 unsigned int /* deviceSpec */,
|
jpayne@69
|
510 unsigned int /* ledClass */,
|
jpayne@69
|
511 unsigned int /* ledID */,
|
jpayne@69
|
512 unsigned int * /* pStateRtrn */
|
jpayne@69
|
513 );
|
jpayne@69
|
514
|
jpayne@69
|
515 extern Status XkbGetIndicatorMap(
|
jpayne@69
|
516 Display * /* dpy */,
|
jpayne@69
|
517 unsigned long /* which */,
|
jpayne@69
|
518 XkbDescPtr /* desc */
|
jpayne@69
|
519 );
|
jpayne@69
|
520
|
jpayne@69
|
521 extern Bool XkbSetIndicatorMap(
|
jpayne@69
|
522 Display * /* dpy */,
|
jpayne@69
|
523 unsigned long /* which */,
|
jpayne@69
|
524 XkbDescPtr /* desc */
|
jpayne@69
|
525 );
|
jpayne@69
|
526
|
jpayne@69
|
527 #define XkbNoteIndicatorMapChanges(o,n,w) \
|
jpayne@69
|
528 ((o)->map_changes|=((n)->map_changes&(w)))
|
jpayne@69
|
529 #define XkbNoteIndicatorStateChanges(o,n,w)\
|
jpayne@69
|
530 ((o)->state_changes|=((n)->state_changes&(w)))
|
jpayne@69
|
531 #define XkbGetIndicatorMapChanges(d,x,c) \
|
jpayne@69
|
532 (XkbGetIndicatorMap((d),(c)->map_changes,x))
|
jpayne@69
|
533 #define XkbChangeIndicatorMaps(d,x,c) \
|
jpayne@69
|
534 (XkbSetIndicatorMap((d),(c)->map_changes,x))
|
jpayne@69
|
535
|
jpayne@69
|
536 extern Bool XkbGetNamedIndicator(
|
jpayne@69
|
537 Display * /* dpy */,
|
jpayne@69
|
538 Atom /* name */,
|
jpayne@69
|
539 int * /* pNdxRtrn */,
|
jpayne@69
|
540 Bool * /* pStateRtrn */,
|
jpayne@69
|
541 XkbIndicatorMapPtr /* pMapRtrn */,
|
jpayne@69
|
542 Bool * /* pRealRtrn */
|
jpayne@69
|
543 );
|
jpayne@69
|
544
|
jpayne@69
|
545 extern Bool XkbGetNamedDeviceIndicator(
|
jpayne@69
|
546 Display * /* dpy */,
|
jpayne@69
|
547 unsigned int /* deviceSpec */,
|
jpayne@69
|
548 unsigned int /* ledClass */,
|
jpayne@69
|
549 unsigned int /* ledID */,
|
jpayne@69
|
550 Atom /* name */,
|
jpayne@69
|
551 int * /* pNdxRtrn */,
|
jpayne@69
|
552 Bool * /* pStateRtrn */,
|
jpayne@69
|
553 XkbIndicatorMapPtr /* pMapRtrn */,
|
jpayne@69
|
554 Bool * /* pRealRtrn */
|
jpayne@69
|
555 );
|
jpayne@69
|
556
|
jpayne@69
|
557 extern Bool XkbSetNamedIndicator(
|
jpayne@69
|
558 Display * /* dpy */,
|
jpayne@69
|
559 Atom /* name */,
|
jpayne@69
|
560 Bool /* changeState */,
|
jpayne@69
|
561 Bool /* state */,
|
jpayne@69
|
562 Bool /* createNewMap */,
|
jpayne@69
|
563 XkbIndicatorMapPtr /* pMap */
|
jpayne@69
|
564 );
|
jpayne@69
|
565
|
jpayne@69
|
566 extern Bool XkbSetNamedDeviceIndicator(
|
jpayne@69
|
567 Display * /* dpy */,
|
jpayne@69
|
568 unsigned int /* deviceSpec */,
|
jpayne@69
|
569 unsigned int /* ledClass */,
|
jpayne@69
|
570 unsigned int /* ledID */,
|
jpayne@69
|
571 Atom /* name */,
|
jpayne@69
|
572 Bool /* changeState */,
|
jpayne@69
|
573 Bool /* state */,
|
jpayne@69
|
574 Bool /* createNewMap */,
|
jpayne@69
|
575 XkbIndicatorMapPtr /* pMap */
|
jpayne@69
|
576 );
|
jpayne@69
|
577
|
jpayne@69
|
578 extern Bool XkbLockModifiers(
|
jpayne@69
|
579 Display * /* dpy */,
|
jpayne@69
|
580 unsigned int /* deviceSpec */,
|
jpayne@69
|
581 unsigned int /* affect */,
|
jpayne@69
|
582 unsigned int /* values */
|
jpayne@69
|
583 );
|
jpayne@69
|
584
|
jpayne@69
|
585 extern Bool XkbLatchModifiers(
|
jpayne@69
|
586 Display * /* dpy */,
|
jpayne@69
|
587 unsigned int /* deviceSpec */,
|
jpayne@69
|
588 unsigned int /* affect */,
|
jpayne@69
|
589 unsigned int /* values */
|
jpayne@69
|
590 );
|
jpayne@69
|
591
|
jpayne@69
|
592 extern Bool XkbLockGroup(
|
jpayne@69
|
593 Display * /* dpy */,
|
jpayne@69
|
594 unsigned int /* deviceSpec */,
|
jpayne@69
|
595 unsigned int /* group */
|
jpayne@69
|
596 );
|
jpayne@69
|
597
|
jpayne@69
|
598 extern Bool XkbLatchGroup(
|
jpayne@69
|
599 Display * /* dpy */,
|
jpayne@69
|
600 unsigned int /* deviceSpec */,
|
jpayne@69
|
601 unsigned int /* group */
|
jpayne@69
|
602 );
|
jpayne@69
|
603
|
jpayne@69
|
604 extern Bool XkbSetServerInternalMods(
|
jpayne@69
|
605 Display * /* dpy */,
|
jpayne@69
|
606 unsigned int /* deviceSpec */,
|
jpayne@69
|
607 unsigned int /* affectReal */,
|
jpayne@69
|
608 unsigned int /* realValues */,
|
jpayne@69
|
609 unsigned int /* affectVirtual */,
|
jpayne@69
|
610 unsigned int /* virtualValues */
|
jpayne@69
|
611 );
|
jpayne@69
|
612
|
jpayne@69
|
613 extern Bool XkbSetIgnoreLockMods(
|
jpayne@69
|
614 Display * /* dpy */,
|
jpayne@69
|
615 unsigned int /* deviceSpec */,
|
jpayne@69
|
616 unsigned int /* affectReal */,
|
jpayne@69
|
617 unsigned int /* realValues */,
|
jpayne@69
|
618 unsigned int /* affectVirtual */,
|
jpayne@69
|
619 unsigned int /* virtualValues */
|
jpayne@69
|
620 );
|
jpayne@69
|
621
|
jpayne@69
|
622
|
jpayne@69
|
623 extern Bool XkbVirtualModsToReal(
|
jpayne@69
|
624 XkbDescPtr /* xkb */,
|
jpayne@69
|
625 unsigned int /* virtual_mask */,
|
jpayne@69
|
626 unsigned int * /* mask_rtrn */
|
jpayne@69
|
627 );
|
jpayne@69
|
628
|
jpayne@69
|
629 extern Bool XkbComputeEffectiveMap(
|
jpayne@69
|
630 XkbDescPtr /* xkb */,
|
jpayne@69
|
631 XkbKeyTypePtr /* type */,
|
jpayne@69
|
632 unsigned char * /* map_rtrn */
|
jpayne@69
|
633 );
|
jpayne@69
|
634
|
jpayne@69
|
635 extern Status XkbInitCanonicalKeyTypes(
|
jpayne@69
|
636 XkbDescPtr /* xkb */,
|
jpayne@69
|
637 unsigned int /* which */,
|
jpayne@69
|
638 int /* keypadVMod */
|
jpayne@69
|
639 );
|
jpayne@69
|
640
|
jpayne@69
|
641 extern XkbDescPtr XkbAllocKeyboard(
|
jpayne@69
|
642 void
|
jpayne@69
|
643 );
|
jpayne@69
|
644
|
jpayne@69
|
645 extern void XkbFreeKeyboard(
|
jpayne@69
|
646 XkbDescPtr /* xkb */,
|
jpayne@69
|
647 unsigned int /* which */,
|
jpayne@69
|
648 Bool /* freeDesc */
|
jpayne@69
|
649 );
|
jpayne@69
|
650
|
jpayne@69
|
651 extern Status XkbAllocClientMap(
|
jpayne@69
|
652 XkbDescPtr /* xkb */,
|
jpayne@69
|
653 unsigned int /* which */,
|
jpayne@69
|
654 unsigned int /* nTypes */
|
jpayne@69
|
655 );
|
jpayne@69
|
656
|
jpayne@69
|
657 extern Status XkbAllocServerMap(
|
jpayne@69
|
658 XkbDescPtr /* xkb */,
|
jpayne@69
|
659 unsigned int /* which */,
|
jpayne@69
|
660 unsigned int /* nActions */
|
jpayne@69
|
661 );
|
jpayne@69
|
662
|
jpayne@69
|
663 extern void XkbFreeClientMap(
|
jpayne@69
|
664 XkbDescPtr /* xkb */,
|
jpayne@69
|
665 unsigned int /* what */,
|
jpayne@69
|
666 Bool /* freeMap */
|
jpayne@69
|
667 );
|
jpayne@69
|
668
|
jpayne@69
|
669 extern void XkbFreeServerMap(
|
jpayne@69
|
670 XkbDescPtr /* xkb */,
|
jpayne@69
|
671 unsigned int /* what */,
|
jpayne@69
|
672 Bool /* freeMap */
|
jpayne@69
|
673 );
|
jpayne@69
|
674
|
jpayne@69
|
675 extern XkbKeyTypePtr XkbAddKeyType(
|
jpayne@69
|
676 XkbDescPtr /* xkb */,
|
jpayne@69
|
677 Atom /* name */,
|
jpayne@69
|
678 int /* map_count */,
|
jpayne@69
|
679 Bool /* want_preserve */,
|
jpayne@69
|
680 int /* num_lvls */
|
jpayne@69
|
681 );
|
jpayne@69
|
682
|
jpayne@69
|
683 extern Status XkbAllocIndicatorMaps(
|
jpayne@69
|
684 XkbDescPtr /* xkb */
|
jpayne@69
|
685 );
|
jpayne@69
|
686
|
jpayne@69
|
687 extern void XkbFreeIndicatorMaps(
|
jpayne@69
|
688 XkbDescPtr /* xkb */
|
jpayne@69
|
689 );
|
jpayne@69
|
690
|
jpayne@69
|
691 extern XkbDescPtr XkbGetMap(
|
jpayne@69
|
692 Display * /* dpy */,
|
jpayne@69
|
693 unsigned int /* which */,
|
jpayne@69
|
694 unsigned int /* deviceSpec */
|
jpayne@69
|
695 );
|
jpayne@69
|
696
|
jpayne@69
|
697 extern Status XkbGetUpdatedMap(
|
jpayne@69
|
698 Display * /* dpy */,
|
jpayne@69
|
699 unsigned int /* which */,
|
jpayne@69
|
700 XkbDescPtr /* desc */
|
jpayne@69
|
701 );
|
jpayne@69
|
702
|
jpayne@69
|
703 extern Status XkbGetMapChanges(
|
jpayne@69
|
704 Display * /* dpy */,
|
jpayne@69
|
705 XkbDescPtr /* xkb */,
|
jpayne@69
|
706 XkbMapChangesPtr /* changes */
|
jpayne@69
|
707 );
|
jpayne@69
|
708
|
jpayne@69
|
709
|
jpayne@69
|
710 extern Status XkbRefreshKeyboardMapping(
|
jpayne@69
|
711 XkbMapNotifyEvent * /* event */
|
jpayne@69
|
712 );
|
jpayne@69
|
713
|
jpayne@69
|
714 extern Status XkbGetKeyTypes(
|
jpayne@69
|
715 Display * /* dpy */,
|
jpayne@69
|
716 unsigned int /* first */,
|
jpayne@69
|
717 unsigned int /* num */,
|
jpayne@69
|
718 XkbDescPtr /* xkb */
|
jpayne@69
|
719 );
|
jpayne@69
|
720
|
jpayne@69
|
721 extern Status XkbGetKeySyms(
|
jpayne@69
|
722 Display * /* dpy */,
|
jpayne@69
|
723 unsigned int /* first */,
|
jpayne@69
|
724 unsigned int /* num */,
|
jpayne@69
|
725 XkbDescPtr /* xkb */
|
jpayne@69
|
726 );
|
jpayne@69
|
727
|
jpayne@69
|
728 extern Status XkbGetKeyActions(
|
jpayne@69
|
729 Display * /* dpy */,
|
jpayne@69
|
730 unsigned int /* first */,
|
jpayne@69
|
731 unsigned int /* num */,
|
jpayne@69
|
732 XkbDescPtr /* xkb */
|
jpayne@69
|
733 );
|
jpayne@69
|
734
|
jpayne@69
|
735 extern Status XkbGetKeyBehaviors(
|
jpayne@69
|
736 Display * /* dpy */,
|
jpayne@69
|
737 unsigned int /* firstKey */,
|
jpayne@69
|
738 unsigned int /* nKeys */,
|
jpayne@69
|
739 XkbDescPtr /* desc */
|
jpayne@69
|
740 );
|
jpayne@69
|
741
|
jpayne@69
|
742 extern Status XkbGetVirtualMods(
|
jpayne@69
|
743 Display * /* dpy */,
|
jpayne@69
|
744 unsigned int /* which */,
|
jpayne@69
|
745 XkbDescPtr /* desc */
|
jpayne@69
|
746 );
|
jpayne@69
|
747
|
jpayne@69
|
748 extern Status XkbGetKeyExplicitComponents(
|
jpayne@69
|
749 Display * /* dpy */,
|
jpayne@69
|
750 unsigned int /* firstKey */,
|
jpayne@69
|
751 unsigned int /* nKeys */,
|
jpayne@69
|
752 XkbDescPtr /* desc */
|
jpayne@69
|
753 );
|
jpayne@69
|
754
|
jpayne@69
|
755 extern Status XkbGetKeyModifierMap(
|
jpayne@69
|
756 Display * /* dpy */,
|
jpayne@69
|
757 unsigned int /* firstKey */,
|
jpayne@69
|
758 unsigned int /* nKeys */,
|
jpayne@69
|
759 XkbDescPtr /* desc */
|
jpayne@69
|
760 );
|
jpayne@69
|
761
|
jpayne@69
|
762 extern Status XkbGetKeyVirtualModMap(
|
jpayne@69
|
763 Display * /* dpy */,
|
jpayne@69
|
764 unsigned int /* first */,
|
jpayne@69
|
765 unsigned int /* num */,
|
jpayne@69
|
766 XkbDescPtr /* xkb */
|
jpayne@69
|
767 );
|
jpayne@69
|
768
|
jpayne@69
|
769 extern Status XkbAllocControls(
|
jpayne@69
|
770 XkbDescPtr /* xkb */,
|
jpayne@69
|
771 unsigned int /* which*/
|
jpayne@69
|
772 );
|
jpayne@69
|
773
|
jpayne@69
|
774 extern void XkbFreeControls(
|
jpayne@69
|
775 XkbDescPtr /* xkb */,
|
jpayne@69
|
776 unsigned int /* which */,
|
jpayne@69
|
777 Bool /* freeMap */
|
jpayne@69
|
778 );
|
jpayne@69
|
779
|
jpayne@69
|
780 extern Status XkbGetControls(
|
jpayne@69
|
781 Display * /* dpy */,
|
jpayne@69
|
782 unsigned long /* which */,
|
jpayne@69
|
783 XkbDescPtr /* desc */
|
jpayne@69
|
784 );
|
jpayne@69
|
785
|
jpayne@69
|
786 extern Bool XkbSetControls(
|
jpayne@69
|
787 Display * /* dpy */,
|
jpayne@69
|
788 unsigned long /* which */,
|
jpayne@69
|
789 XkbDescPtr /* desc */
|
jpayne@69
|
790 );
|
jpayne@69
|
791
|
jpayne@69
|
792 extern void XkbNoteControlsChanges(
|
jpayne@69
|
793 XkbControlsChangesPtr /* old */,
|
jpayne@69
|
794 XkbControlsNotifyEvent * /* new */,
|
jpayne@69
|
795 unsigned int /* wanted */
|
jpayne@69
|
796 );
|
jpayne@69
|
797
|
jpayne@69
|
798 #define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
|
jpayne@69
|
799 #define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
|
jpayne@69
|
800
|
jpayne@69
|
801 extern Status XkbAllocCompatMap(
|
jpayne@69
|
802 XkbDescPtr /* xkb */,
|
jpayne@69
|
803 unsigned int /* which */,
|
jpayne@69
|
804 unsigned int /* nInterpret */
|
jpayne@69
|
805 );
|
jpayne@69
|
806
|
jpayne@69
|
807 extern void XkbFreeCompatMap(
|
jpayne@69
|
808 XkbDescPtr /* xkb */,
|
jpayne@69
|
809 unsigned int /* which */,
|
jpayne@69
|
810 Bool /* freeMap */
|
jpayne@69
|
811 );
|
jpayne@69
|
812
|
jpayne@69
|
813 extern Status XkbGetCompatMap(
|
jpayne@69
|
814 Display * /* dpy */,
|
jpayne@69
|
815 unsigned int /* which */,
|
jpayne@69
|
816 XkbDescPtr /* xkb */
|
jpayne@69
|
817 );
|
jpayne@69
|
818
|
jpayne@69
|
819 extern Bool XkbSetCompatMap(
|
jpayne@69
|
820 Display * /* dpy */,
|
jpayne@69
|
821 unsigned int /* which */,
|
jpayne@69
|
822 XkbDescPtr /* xkb */,
|
jpayne@69
|
823 Bool /* updateActions */
|
jpayne@69
|
824 );
|
jpayne@69
|
825
|
jpayne@69
|
826 extern XkbSymInterpretPtr XkbAddSymInterpret(
|
jpayne@69
|
827 XkbDescPtr /* xkb */,
|
jpayne@69
|
828 XkbSymInterpretPtr /* si */,
|
jpayne@69
|
829 Bool /* updateMap */,
|
jpayne@69
|
830 XkbChangesPtr /* changes */
|
jpayne@69
|
831 );
|
jpayne@69
|
832
|
jpayne@69
|
833 extern Status XkbAllocNames(
|
jpayne@69
|
834 XkbDescPtr /* xkb */,
|
jpayne@69
|
835 unsigned int /* which */,
|
jpayne@69
|
836 int /* nTotalRG */,
|
jpayne@69
|
837 int /* nTotalAliases */
|
jpayne@69
|
838 );
|
jpayne@69
|
839
|
jpayne@69
|
840 extern Status XkbGetNames(
|
jpayne@69
|
841 Display * /* dpy */,
|
jpayne@69
|
842 unsigned int /* which */,
|
jpayne@69
|
843 XkbDescPtr /* desc */
|
jpayne@69
|
844 );
|
jpayne@69
|
845
|
jpayne@69
|
846 extern Bool XkbSetNames(
|
jpayne@69
|
847 Display * /* dpy */,
|
jpayne@69
|
848 unsigned int /* which */,
|
jpayne@69
|
849 unsigned int /* firstType */,
|
jpayne@69
|
850 unsigned int /* nTypes */,
|
jpayne@69
|
851 XkbDescPtr /* desc */
|
jpayne@69
|
852 );
|
jpayne@69
|
853
|
jpayne@69
|
854 extern Bool XkbChangeNames(
|
jpayne@69
|
855 Display * /* dpy */,
|
jpayne@69
|
856 XkbDescPtr /* xkb */,
|
jpayne@69
|
857 XkbNameChangesPtr /* changes */
|
jpayne@69
|
858 );
|
jpayne@69
|
859
|
jpayne@69
|
860 extern void XkbFreeNames(
|
jpayne@69
|
861 XkbDescPtr /* xkb */,
|
jpayne@69
|
862 unsigned int /* which */,
|
jpayne@69
|
863 Bool /* freeMap */
|
jpayne@69
|
864 );
|
jpayne@69
|
865
|
jpayne@69
|
866
|
jpayne@69
|
867 extern Status XkbGetState(
|
jpayne@69
|
868 Display * /* dpy */,
|
jpayne@69
|
869 unsigned int /* deviceSpec */,
|
jpayne@69
|
870 XkbStatePtr /* rtrnState */
|
jpayne@69
|
871 );
|
jpayne@69
|
872
|
jpayne@69
|
873 extern Bool XkbSetMap(
|
jpayne@69
|
874 Display * /* dpy */,
|
jpayne@69
|
875 unsigned int /* which */,
|
jpayne@69
|
876 XkbDescPtr /* desc */
|
jpayne@69
|
877 );
|
jpayne@69
|
878
|
jpayne@69
|
879 extern Bool XkbChangeMap(
|
jpayne@69
|
880 Display* /* dpy */,
|
jpayne@69
|
881 XkbDescPtr /* desc */,
|
jpayne@69
|
882 XkbMapChangesPtr /* changes */
|
jpayne@69
|
883 );
|
jpayne@69
|
884
|
jpayne@69
|
885 extern Bool XkbSetDetectableAutoRepeat(
|
jpayne@69
|
886 Display * /* dpy */,
|
jpayne@69
|
887 Bool /* detectable */,
|
jpayne@69
|
888 Bool * /* supported */
|
jpayne@69
|
889 );
|
jpayne@69
|
890
|
jpayne@69
|
891 extern Bool XkbGetDetectableAutoRepeat(
|
jpayne@69
|
892 Display * /* dpy */,
|
jpayne@69
|
893 Bool * /* supported */
|
jpayne@69
|
894 );
|
jpayne@69
|
895
|
jpayne@69
|
896 extern Bool XkbSetAutoResetControls(
|
jpayne@69
|
897 Display * /* dpy */,
|
jpayne@69
|
898 unsigned int /* changes */,
|
jpayne@69
|
899 unsigned int * /* auto_ctrls */,
|
jpayne@69
|
900 unsigned int * /* auto_values */
|
jpayne@69
|
901 );
|
jpayne@69
|
902
|
jpayne@69
|
903 extern Bool XkbGetAutoResetControls(
|
jpayne@69
|
904 Display * /* dpy */,
|
jpayne@69
|
905 unsigned int * /* auto_ctrls */,
|
jpayne@69
|
906 unsigned int * /* auto_ctrl_values */
|
jpayne@69
|
907 );
|
jpayne@69
|
908
|
jpayne@69
|
909 extern Bool XkbSetPerClientControls(
|
jpayne@69
|
910 Display * /* dpy */,
|
jpayne@69
|
911 unsigned int /* change */,
|
jpayne@69
|
912 unsigned int * /* values */
|
jpayne@69
|
913 );
|
jpayne@69
|
914
|
jpayne@69
|
915 extern Bool XkbGetPerClientControls(
|
jpayne@69
|
916 Display * /* dpy */,
|
jpayne@69
|
917 unsigned int * /* ctrls */
|
jpayne@69
|
918 );
|
jpayne@69
|
919
|
jpayne@69
|
920 extern Status XkbCopyKeyType(
|
jpayne@69
|
921 XkbKeyTypePtr /* from */,
|
jpayne@69
|
922 XkbKeyTypePtr /* into */
|
jpayne@69
|
923 );
|
jpayne@69
|
924
|
jpayne@69
|
925 extern Status XkbCopyKeyTypes(
|
jpayne@69
|
926 XkbKeyTypePtr /* from */,
|
jpayne@69
|
927 XkbKeyTypePtr /* into */,
|
jpayne@69
|
928 int /* num_types */
|
jpayne@69
|
929 );
|
jpayne@69
|
930
|
jpayne@69
|
931 extern Status XkbResizeKeyType(
|
jpayne@69
|
932 XkbDescPtr /* xkb */,
|
jpayne@69
|
933 int /* type_ndx */,
|
jpayne@69
|
934 int /* map_count */,
|
jpayne@69
|
935 Bool /* want_preserve */,
|
jpayne@69
|
936 int /* new_num_lvls */
|
jpayne@69
|
937 );
|
jpayne@69
|
938
|
jpayne@69
|
939 extern KeySym *XkbResizeKeySyms(
|
jpayne@69
|
940 XkbDescPtr /* desc */,
|
jpayne@69
|
941 int /* forKey */,
|
jpayne@69
|
942 int /* symsNeeded */
|
jpayne@69
|
943 );
|
jpayne@69
|
944
|
jpayne@69
|
945 extern XkbAction *XkbResizeKeyActions(
|
jpayne@69
|
946 XkbDescPtr /* desc */,
|
jpayne@69
|
947 int /* forKey */,
|
jpayne@69
|
948 int /* actsNeeded */
|
jpayne@69
|
949 );
|
jpayne@69
|
950
|
jpayne@69
|
951 extern Status XkbChangeTypesOfKey(
|
jpayne@69
|
952 XkbDescPtr /* xkb */,
|
jpayne@69
|
953 int /* key */,
|
jpayne@69
|
954 int /* num_groups */,
|
jpayne@69
|
955 unsigned int /* groups */,
|
jpayne@69
|
956 int * /* newTypes */,
|
jpayne@69
|
957 XkbMapChangesPtr /* pChanges */
|
jpayne@69
|
958 );
|
jpayne@69
|
959
|
jpayne@69
|
960 extern Status XkbChangeKeycodeRange(
|
jpayne@69
|
961 XkbDescPtr /* xkb */,
|
jpayne@69
|
962 int /* minKC */,
|
jpayne@69
|
963 int /* maxKC */,
|
jpayne@69
|
964 XkbChangesPtr /* changes */
|
jpayne@69
|
965 );
|
jpayne@69
|
966
|
jpayne@69
|
967 /***====================================================================***/
|
jpayne@69
|
968
|
jpayne@69
|
969 extern XkbComponentListPtr XkbListComponents(
|
jpayne@69
|
970 Display * /* dpy */,
|
jpayne@69
|
971 unsigned int /* deviceSpec */,
|
jpayne@69
|
972 XkbComponentNamesPtr /* ptrns */,
|
jpayne@69
|
973 int * /* max_inout */
|
jpayne@69
|
974 );
|
jpayne@69
|
975
|
jpayne@69
|
976 extern void XkbFreeComponentList(
|
jpayne@69
|
977 XkbComponentListPtr /* list */
|
jpayne@69
|
978 );
|
jpayne@69
|
979
|
jpayne@69
|
980 extern XkbDescPtr XkbGetKeyboard(
|
jpayne@69
|
981 Display * /* dpy */,
|
jpayne@69
|
982 unsigned int /* which */,
|
jpayne@69
|
983 unsigned int /* deviceSpec */
|
jpayne@69
|
984 );
|
jpayne@69
|
985
|
jpayne@69
|
986 extern XkbDescPtr XkbGetKeyboardByName(
|
jpayne@69
|
987 Display * /* dpy */,
|
jpayne@69
|
988 unsigned int /* deviceSpec */,
|
jpayne@69
|
989 XkbComponentNamesPtr /* names */,
|
jpayne@69
|
990 unsigned int /* want */,
|
jpayne@69
|
991 unsigned int /* need */,
|
jpayne@69
|
992 Bool /* load */
|
jpayne@69
|
993 );
|
jpayne@69
|
994
|
jpayne@69
|
995 /***====================================================================***/
|
jpayne@69
|
996
|
jpayne@69
|
997 extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */
|
jpayne@69
|
998 XkbDescPtr /* xkb */, /* keyboard device */
|
jpayne@69
|
999 int /* map_width */, /* width of core KeySym array */
|
jpayne@69
|
1000 KeySym * /* core_syms */, /* always mapWidth symbols */
|
jpayne@69
|
1001 unsigned int /* protected */, /* explicit key types */
|
jpayne@69
|
1002 int * /* types_inout */, /* always four type indices */
|
jpayne@69
|
1003 KeySym * /* xkb_syms_rtrn */ /* must have enough space */
|
jpayne@69
|
1004 );
|
jpayne@69
|
1005
|
jpayne@69
|
1006 extern Bool XkbApplyCompatMapToKey( /* False only on error */
|
jpayne@69
|
1007 XkbDescPtr /* xkb */, /* keymap to be edited */
|
jpayne@69
|
1008 KeyCode /* key */, /* key to be updated */
|
jpayne@69
|
1009 XkbChangesPtr /* changes */ /* resulting changes to map */
|
jpayne@69
|
1010 );
|
jpayne@69
|
1011
|
jpayne@69
|
1012 extern Bool XkbUpdateMapFromCore( /* False only on error */
|
jpayne@69
|
1013 XkbDescPtr /* xkb */, /* XKB keyboard to be edited */
|
jpayne@69
|
1014 KeyCode /* first_key */, /* first changed key */
|
jpayne@69
|
1015 int /* num_keys */, /* number of changed keys */
|
jpayne@69
|
1016 int /* map_width */, /* width of core keymap */
|
jpayne@69
|
1017 KeySym * /* core_keysyms */, /* symbols from core keymap */
|
jpayne@69
|
1018 XkbChangesPtr /* changes */ /* resulting changes */
|
jpayne@69
|
1019 );
|
jpayne@69
|
1020
|
jpayne@69
|
1021 /***====================================================================***/
|
jpayne@69
|
1022
|
jpayne@69
|
1023 extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
|
jpayne@69
|
1024 XkbDeviceInfoPtr /* devi */,
|
jpayne@69
|
1025 unsigned int /* ledClass */,
|
jpayne@69
|
1026 unsigned int /* ledId */
|
jpayne@69
|
1027 );
|
jpayne@69
|
1028
|
jpayne@69
|
1029 extern Status XkbResizeDeviceButtonActions(
|
jpayne@69
|
1030 XkbDeviceInfoPtr /* devi */,
|
jpayne@69
|
1031 unsigned int /* newTotal */
|
jpayne@69
|
1032 );
|
jpayne@69
|
1033
|
jpayne@69
|
1034 extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
|
jpayne@69
|
1035 unsigned int /* deviceSpec */,
|
jpayne@69
|
1036 unsigned int /* nButtons */,
|
jpayne@69
|
1037 unsigned int /* szLeds */
|
jpayne@69
|
1038 );
|
jpayne@69
|
1039
|
jpayne@69
|
1040 extern void XkbFreeDeviceInfo(
|
jpayne@69
|
1041 XkbDeviceInfoPtr /* devi */,
|
jpayne@69
|
1042 unsigned int /* which */,
|
jpayne@69
|
1043 Bool /* freeDevI */
|
jpayne@69
|
1044 );
|
jpayne@69
|
1045
|
jpayne@69
|
1046 extern void XkbNoteDeviceChanges(
|
jpayne@69
|
1047 XkbDeviceChangesPtr /* old */,
|
jpayne@69
|
1048 XkbExtensionDeviceNotifyEvent * /* new */,
|
jpayne@69
|
1049 unsigned int /* wanted */
|
jpayne@69
|
1050 );
|
jpayne@69
|
1051
|
jpayne@69
|
1052 extern XkbDeviceInfoPtr XkbGetDeviceInfo(
|
jpayne@69
|
1053 Display * /* dpy */,
|
jpayne@69
|
1054 unsigned int /* which */,
|
jpayne@69
|
1055 unsigned int /* deviceSpec */,
|
jpayne@69
|
1056 unsigned int /* ledClass */,
|
jpayne@69
|
1057 unsigned int /* ledID */
|
jpayne@69
|
1058 );
|
jpayne@69
|
1059
|
jpayne@69
|
1060 extern Status XkbGetDeviceInfoChanges(
|
jpayne@69
|
1061 Display * /* dpy */,
|
jpayne@69
|
1062 XkbDeviceInfoPtr /* devi */,
|
jpayne@69
|
1063 XkbDeviceChangesPtr /* changes */
|
jpayne@69
|
1064 );
|
jpayne@69
|
1065
|
jpayne@69
|
1066 extern Status XkbGetDeviceButtonActions(
|
jpayne@69
|
1067 Display * /* dpy */,
|
jpayne@69
|
1068 XkbDeviceInfoPtr /* devi */,
|
jpayne@69
|
1069 Bool /* all */,
|
jpayne@69
|
1070 unsigned int /* first */,
|
jpayne@69
|
1071 unsigned int /* nBtns */
|
jpayne@69
|
1072 );
|
jpayne@69
|
1073
|
jpayne@69
|
1074 extern Status XkbGetDeviceLedInfo(
|
jpayne@69
|
1075 Display * /* dpy */,
|
jpayne@69
|
1076 XkbDeviceInfoPtr /* devi */,
|
jpayne@69
|
1077 unsigned int /* ledClass (class, XIDflt, XIAll) */,
|
jpayne@69
|
1078 unsigned int /* ledId (id, XIDflt, XIAll) */,
|
jpayne@69
|
1079 unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */
|
jpayne@69
|
1080 );
|
jpayne@69
|
1081
|
jpayne@69
|
1082 extern Bool XkbSetDeviceInfo(
|
jpayne@69
|
1083 Display * /* dpy */,
|
jpayne@69
|
1084 unsigned int /* which */,
|
jpayne@69
|
1085 XkbDeviceInfoPtr /* devi */
|
jpayne@69
|
1086 );
|
jpayne@69
|
1087
|
jpayne@69
|
1088 extern Bool XkbChangeDeviceInfo(
|
jpayne@69
|
1089 Display* /* dpy */,
|
jpayne@69
|
1090 XkbDeviceInfoPtr /* desc */,
|
jpayne@69
|
1091 XkbDeviceChangesPtr /* changes */
|
jpayne@69
|
1092 );
|
jpayne@69
|
1093
|
jpayne@69
|
1094 extern Bool XkbSetDeviceLedInfo(
|
jpayne@69
|
1095 Display * /* dpy */,
|
jpayne@69
|
1096 XkbDeviceInfoPtr /* devi */,
|
jpayne@69
|
1097 unsigned int /* ledClass */,
|
jpayne@69
|
1098 unsigned int /* ledID */,
|
jpayne@69
|
1099 unsigned int /* which */
|
jpayne@69
|
1100 );
|
jpayne@69
|
1101
|
jpayne@69
|
1102 extern Bool XkbSetDeviceButtonActions(
|
jpayne@69
|
1103 Display * /* dpy */,
|
jpayne@69
|
1104 XkbDeviceInfoPtr /* devi */,
|
jpayne@69
|
1105 unsigned int /* first */,
|
jpayne@69
|
1106 unsigned int /* nBtns */
|
jpayne@69
|
1107 );
|
jpayne@69
|
1108
|
jpayne@69
|
1109 /***====================================================================***/
|
jpayne@69
|
1110
|
jpayne@69
|
1111 extern char XkbToControl(
|
jpayne@69
|
1112 char /* c */
|
jpayne@69
|
1113 );
|
jpayne@69
|
1114
|
jpayne@69
|
1115 /***====================================================================***/
|
jpayne@69
|
1116
|
jpayne@69
|
1117 extern Bool XkbSetDebuggingFlags(
|
jpayne@69
|
1118 Display * /* dpy */,
|
jpayne@69
|
1119 unsigned int /* mask */,
|
jpayne@69
|
1120 unsigned int /* flags */,
|
jpayne@69
|
1121 char * /* msg */,
|
jpayne@69
|
1122 unsigned int /* ctrls_mask */,
|
jpayne@69
|
1123 unsigned int /* ctrls */,
|
jpayne@69
|
1124 unsigned int * /* rtrn_flags */,
|
jpayne@69
|
1125 unsigned int * /* rtrn_ctrls */
|
jpayne@69
|
1126 );
|
jpayne@69
|
1127
|
jpayne@69
|
1128 extern Bool XkbApplyVirtualModChanges(
|
jpayne@69
|
1129 XkbDescPtr /* xkb */,
|
jpayne@69
|
1130 unsigned int /* changed */,
|
jpayne@69
|
1131 XkbChangesPtr /* changes */
|
jpayne@69
|
1132 );
|
jpayne@69
|
1133
|
jpayne@69
|
1134 extern Bool XkbUpdateActionVirtualMods(
|
jpayne@69
|
1135 XkbDescPtr /* xkb */,
|
jpayne@69
|
1136 XkbAction * /* act */,
|
jpayne@69
|
1137 unsigned int /* changed */
|
jpayne@69
|
1138 );
|
jpayne@69
|
1139
|
jpayne@69
|
1140 extern void XkbUpdateKeyTypeVirtualMods(
|
jpayne@69
|
1141 XkbDescPtr /* xkb */,
|
jpayne@69
|
1142 XkbKeyTypePtr /* type */,
|
jpayne@69
|
1143 unsigned int /* changed */,
|
jpayne@69
|
1144 XkbChangesPtr /* changes */
|
jpayne@69
|
1145 );
|
jpayne@69
|
1146
|
jpayne@69
|
1147 _XFUNCPROTOEND
|
jpayne@69
|
1148
|
jpayne@69
|
1149 #endif /* _X11_XKBLIB_H_ */
|