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