VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.6.99-20090831/xkbsrv.h@ 29743

Last change on this file since 29743 was 22658, checked in by vboxsync, 15 years ago

export Xorg 1.6.99 headers to OSE

  • Property svn:eol-style set to native
File size: 24.7 KB
Line 
1/************************************************************
2Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
3
4Permission to use, copy, modify, and distribute this
5software and its documentation for any purpose and without
6fee is hereby granted, provided that the above copyright
7notice appear in all copies and that both that copyright
8notice and this permission notice appear in supporting
9documentation, and that the name of Silicon Graphics not be
10used in advertising or publicity pertaining to distribution
11of the software without specific prior written permission.
12Silicon Graphics makes no representation about the suitability
13of this software for any purpose. It is provided "as is"
14without any express or implied warranty.
15
16SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
17SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
19GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
20DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
21DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
22OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
23THE USE OR PERFORMANCE OF THIS SOFTWARE.
24
25********************************************************/
26
27#ifndef _XKBSRV_H_
28#define _XKBSRV_H_
29
30#define XkbAllocClientMap SrvXkbAllocClientMap
31#define XkbAllocServerMap SrvXkbAllocServerMap
32#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
33#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
34#define XkbFreeClientMap SrvXkbFreeClientMap
35#define XkbFreeServerMap SrvXkbFreeServerMap
36#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
37#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
38#define XkbResizeKeyActions SrvXkbResizeKeyActions
39#define XkbResizeKeySyms SrvXkbResizeKeySyms
40#define XkbResizeKeyType SrvXkbResizeKeyType
41#define XkbAllocCompatMap SrvXkbAllocCompatMap
42#define XkbAllocControls SrvXkbAllocControls
43#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
44#define XkbAllocKeyboard SrvXkbAllocKeyboard
45#define XkbAllocNames SrvXkbAllocNames
46#define XkbFreeCompatMap SrvXkbFreeCompatMap
47#define XkbFreeKeyboard SrvXkbFreeKeyboard
48#define XkbFreeNames SrvXkbFreeNames
49#define XkbLatchModifiers SrvXkbLatchModifiers
50#define XkbLatchGroup SrvXkbLatchGroup
51#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
52#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
53#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
54
55#include <X11/extensions/XKBproto.h>
56#include "xkbstr.h"
57#include "xkbrules.h"
58#include "inputstr.h"
59#include "events.h"
60
61typedef struct _XkbInterest {
62 DeviceIntPtr dev;
63 ClientPtr client;
64 XID resource;
65 struct _XkbInterest * next;
66 CARD16 extDevNotifyMask;
67 CARD16 stateNotifyMask;
68 CARD16 namesNotifyMask;
69 CARD32 ctrlsNotifyMask;
70 CARD8 compatNotifyMask;
71 BOOL bellNotifyMask;
72 BOOL actionMessageMask;
73 CARD16 accessXNotifyMask;
74 CARD32 iStateNotifyMask;
75 CARD32 iMapNotifyMask;
76 CARD16 altSymsNotifyMask;
77 CARD32 autoCtrls;
78 CARD32 autoCtrlValues;
79} XkbInterestRec,*XkbInterestPtr;
80
81typedef struct _XkbRadioGroup {
82 CARD8 flags;
83 CARD8 nMembers;
84 CARD8 dfltDown;
85 CARD8 currentDown;
86 CARD8 members[XkbRGMaxMembers];
87} XkbRadioGroupRec, *XkbRadioGroupPtr;
88
89typedef struct _XkbEventCause {
90 CARD8 kc;
91 CARD8 event;
92 CARD8 mjr;
93 CARD8 mnr;
94 ClientPtr client;
95} XkbEventCauseRec,*XkbEventCausePtr;
96#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
97 (c)->mjr= (c)->mnr= 0; \
98 (c)->client= NULL; }
99#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
100 (c)->mjr= (j),(c)->mnr= (n);\
101 (c)->client= (cl); }
102#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
103#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
104#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0)
105
106#define _OFF_TIMER 0
107#define _KRG_WARN_TIMER 1
108#define _KRG_TIMER 2
109#define _SK_TIMEOUT_TIMER 3
110#define _ALL_TIMEOUT_TIMER 4
111
112#define _BEEP_NONE 0
113#define _BEEP_FEATURE_ON 1
114#define _BEEP_FEATURE_OFF 2
115#define _BEEP_FEATURE_CHANGE 3
116#define _BEEP_SLOW_WARN 4
117#define _BEEP_SLOW_PRESS 5
118#define _BEEP_SLOW_ACCEPT 6
119#define _BEEP_SLOW_REJECT 7
120#define _BEEP_SLOW_RELEASE 8
121#define _BEEP_STICKY_LATCH 9
122#define _BEEP_STICKY_LOCK 10
123#define _BEEP_STICKY_UNLOCK 11
124#define _BEEP_LED_ON 12
125#define _BEEP_LED_OFF 13
126#define _BEEP_LED_CHANGE 14
127#define _BEEP_BOUNCE_REJECT 15
128
129typedef struct _XkbFilter {
130 CARD16 keycode;
131 CARD8 what;
132 CARD8 active;
133 CARD8 filterOthers;
134 CARD32 priv;
135 XkbAction upAction;
136 int (*filter)(
137 struct _XkbSrvInfo* /* xkbi */,
138 struct _XkbFilter * /* filter */,
139 unsigned /* keycode */,
140 XkbAction * /* action */
141 );
142 struct _XkbFilter *next;
143} XkbFilterRec,*XkbFilterPtr;
144
145typedef struct _XkbSrvInfo {
146 XkbStateRec prev_state;
147 XkbStateRec state;
148 XkbDescPtr desc;
149
150 DeviceIntPtr device;
151 KbdCtrlProcPtr kbdProc;
152
153 XkbRadioGroupPtr radioGroups;
154 CARD8 nRadioGroups;
155 CARD8 clearMods;
156 CARD8 setMods;
157 INT16 groupChange;
158
159 CARD16 dfltPtrDelta;
160
161 double mouseKeysCurve;
162 double mouseKeysCurveFactor;
163 INT16 mouseKeysDX;
164 INT16 mouseKeysDY;
165 CARD8 mouseKeysFlags;
166 Bool mouseKeysAccel;
167 CARD8 mouseKeysCounter;
168
169 CARD8 lockedPtrButtons;
170 CARD8 shiftKeyCount;
171 KeyCode mouseKey;
172 KeyCode inactiveKey;
173 KeyCode slowKey;
174 KeyCode repeatKey;
175 CARD8 krgTimerActive;
176 CARD8 beepType;
177 CARD8 beepCount;
178
179 CARD32 flags;
180 CARD32 lastPtrEventTime;
181 CARD32 lastShiftEventTime;
182 OsTimerPtr beepTimer;
183 OsTimerPtr mouseKeyTimer;
184 OsTimerPtr slowKeysTimer;
185 OsTimerPtr bounceKeysTimer;
186 OsTimerPtr repeatKeyTimer;
187 OsTimerPtr krgTimer;
188
189 int szFilters;
190 XkbFilterPtr filters;
191} XkbSrvInfoRec, *XkbSrvInfoPtr;
192
193#define XkbSLI_IsDefault (1L<<0)
194#define XkbSLI_HasOwnState (1L<<1)
195
196typedef struct _XkbSrvLedInfo {
197 CARD16 flags;
198 CARD16 class;
199 CARD16 id;
200 union {
201 KbdFeedbackPtr kf;
202 LedFeedbackPtr lf;
203 } fb;
204
205 CARD32 physIndicators;
206 CARD32 autoState;
207 CARD32 explicitState;
208 CARD32 effectiveState;
209
210 CARD32 mapsPresent;
211 CARD32 namesPresent;
212 XkbIndicatorMapPtr maps;
213 Atom * names;
214
215 CARD32 usesBase;
216 CARD32 usesLatched;
217 CARD32 usesLocked;
218 CARD32 usesEffective;
219 CARD32 usesCompat;
220 CARD32 usesControls;
221
222 CARD32 usedComponents;
223} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr;
224
225/*
226 * Settings for xkbClientFlags field (used by DIX)
227 * These flags _must_ not overlap with XkbPCF_*
228 */
229#define _XkbClientInitialized (1<<15)
230
231#define _XkbWantsDetectableAutoRepeat(c)\
232 ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask)
233
234/*
235 * Settings for flags field
236 */
237#define _XkbStateNotifyInProgress (1<<0)
238
239typedef struct
240{
241 ProcessInputProc processInputProc;
242 /* If processInputProc is set to something different than realInputProc,
243 * UNWRAP and COND_WRAP will not touch processInputProc and update only
244 * realInputProc. This ensures that
245 * processInputProc == (frozen ? EnqueueEvent : realInputProc)
246 *
247 * WRAP_PROCESS_INPUT_PROC should only be called during initialization,
248 * since it may destroy this invariant.
249 */
250 ProcessInputProc realInputProc;
251 DeviceUnwrapProc unwrapProc;
252} xkbDeviceInfoRec, *xkbDeviceInfoPtr;
253
254#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
255 device->public.processInputProc = proc; \
256 oldprocs->processInputProc = \
257 oldprocs->realInputProc = device->public.realInputProc; \
258 device->public.realInputProc = proc; \
259 oldprocs->unwrapProc = device->unwrapProc; \
260 device->unwrapProc = unwrapproc;
261
262#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
263 if (device->public.processInputProc == device->public.realInputProc)\
264 device->public.processInputProc = proc; \
265 oldprocs->processInputProc = \
266 oldprocs->realInputProc = device->public.realInputProc; \
267 device->public.realInputProc = proc; \
268 oldprocs->unwrapProc = device->unwrapProc; \
269 device->unwrapProc = unwrapproc;
270
271#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \
272 backupproc = device->public.realInputProc; \
273 if (device->public.processInputProc == device->public.realInputProc)\
274 device->public.processInputProc = oldprocs->realInputProc; \
275 device->public.realInputProc = oldprocs->realInputProc; \
276 device->unwrapProc = oldprocs->unwrapProc;
277
278extern _X_EXPORT DevPrivateKey xkbDevicePrivateKey;
279#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr)dixLookupPrivate(&(dev)->devPrivates, xkbDevicePrivateKey))
280
281extern _X_EXPORT void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, pointer);
282
283/***====================================================================***/
284
285
286/***====================================================================***/
287
288#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
289#define XkbAllFilteredEventsMask \
290 (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
291
292/***====================================================================***/
293
294extern _X_EXPORT int XkbReqCode;
295extern _X_EXPORT int XkbEventBase;
296extern _X_EXPORT int XkbKeyboardErrorCode;
297extern _X_EXPORT char * XkbBaseDirectory;
298extern _X_EXPORT char * XkbBinDirectory;
299
300extern _X_EXPORT pointer XkbLastRepeatEvent;
301
302extern _X_EXPORT CARD32 xkbDebugFlags;
303
304#define _XkbTypedAlloc(t) ((t *)xalloc(sizeof(t)))
305#define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n)*sizeof(t)))
306#define _XkbTypedRealloc(o,n,t) \
307 ((o)?(t *)Xrealloc((o),(n)*sizeof(t)):_XkbTypedCalloc(n,t))
308#define _XkbClearElems(a,f,l,t) bzero(&(a)[f],((l)-(f)+1)*sizeof(t))
309
310#define _XkbLibError(c,l,d) /* Epoch fail */
311#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
312#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
313#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
314
315extern _X_EXPORT int DeviceKeyPress,DeviceKeyRelease,DeviceMotionNotify;
316extern _X_EXPORT int DeviceButtonPress,DeviceButtonRelease;
317
318#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress))
319#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease))
320
321#define XConvertCase(s,l,u) XkbConvertCase(s,l,u)
322#undef IsKeypadKey
323#define IsKeypadKey(s) XkbKSIsKeypad(s)
324
325#define Status int
326
327#ifndef True
328#define True TRUE
329#define False FALSE
330#endif
331
332extern _X_EXPORT void XkbUseMsg(
333 void
334);
335
336extern _X_EXPORT int XkbProcessArguments(
337 int /* argc */,
338 char ** /* argv */,
339 int /* i */
340);
341
342extern _X_EXPORT void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc);
343
344extern _X_EXPORT void XkbFreeCompatMap(
345 XkbDescPtr /* xkb */,
346 unsigned int /* which */,
347 Bool /* freeMap */
348);
349
350extern _X_EXPORT void XkbFreeNames(
351 XkbDescPtr /* xkb */,
352 unsigned int /* which */,
353 Bool /* freeMap */
354);
355
356extern _X_EXPORT int _XkbLookupAnyDevice(
357 DeviceIntPtr *pDev,
358 int id,
359 ClientPtr client,
360 Mask access_mode,
361 int *xkb_err
362);
363
364extern _X_EXPORT int _XkbLookupKeyboard(
365 DeviceIntPtr *pDev,
366 int id,
367 ClientPtr client,
368 Mask access_mode,
369 int *xkb_err
370);
371
372extern _X_EXPORT int _XkbLookupBellDevice(
373 DeviceIntPtr *pDev,
374 int id,
375 ClientPtr client,
376 Mask access_mode,
377 int *xkb_err
378);
379
380extern _X_EXPORT int _XkbLookupLedDevice(
381 DeviceIntPtr *pDev,
382 int id,
383 ClientPtr client,
384 Mask access_mode,
385 int *xkb_err
386);
387
388extern _X_EXPORT int _XkbLookupButtonDevice(
389 DeviceIntPtr *pDev,
390 int id,
391 ClientPtr client,
392 Mask access_mode,
393 int *xkb_err
394);
395
396extern _X_EXPORT XkbDescPtr XkbAllocKeyboard(
397 void
398);
399
400extern _X_EXPORT Status XkbAllocClientMap(
401 XkbDescPtr /* xkb */,
402 unsigned int /* which */,
403 unsigned int /* nTypes */
404);
405
406extern _X_EXPORT Status XkbAllocServerMap(
407 XkbDescPtr /* xkb */,
408 unsigned int /* which */,
409 unsigned int /* nNewActions */
410);
411
412extern _X_EXPORT void XkbFreeClientMap(
413 XkbDescPtr /* xkb */,
414 unsigned int /* what */,
415 Bool /* freeMap */
416);
417
418extern _X_EXPORT void XkbFreeServerMap(
419 XkbDescPtr /* xkb */,
420 unsigned int /* what */,
421 Bool /* freeMap */
422);
423
424extern _X_EXPORT Status XkbAllocIndicatorMaps(
425 XkbDescPtr /* xkb */
426);
427
428extern _X_EXPORT Status XkbAllocCompatMap(
429 XkbDescPtr /* xkb */,
430 unsigned int /* which */,
431 unsigned int /* nInterpret */
432);
433
434extern _X_EXPORT Status XkbAllocNames(
435 XkbDescPtr /* xkb */,
436 unsigned int /* which */,
437 int /* nTotalRG */,
438 int /* nTotalAliases */
439);
440
441extern _X_EXPORT Status XkbAllocControls(
442 XkbDescPtr /* xkb */,
443 unsigned int /* which*/
444);
445
446extern _X_EXPORT Status XkbCopyKeyTypes(
447 XkbKeyTypePtr /* from */,
448 XkbKeyTypePtr /* into */,
449 int /* num_types */
450);
451
452extern _X_EXPORT Status XkbResizeKeyType(
453 XkbDescPtr /* xkb */,
454 int /* type_ndx */,
455 int /* map_count */,
456 Bool /* want_preserve */,
457 int /* new_num_lvls */
458);
459
460extern _X_EXPORT void XkbFreeKeyboard(
461 XkbDescPtr /* xkb */,
462 unsigned int /* which */,
463 Bool /* freeDesc */
464);
465
466extern _X_EXPORT void XkbSetActionKeyMods(
467 XkbDescPtr /* xkb */,
468 XkbAction * /* act */,
469 unsigned int /* mods */
470);
471
472extern _X_EXPORT unsigned int XkbMaskForVMask(
473 XkbDescPtr /* xkb */,
474 unsigned int /* vmask */
475);
476
477extern _X_EXPORT Bool XkbVirtualModsToReal(
478 XkbDescPtr /* xkb */,
479 unsigned int /* virtua_mask */,
480 unsigned int * /* mask_rtrn */
481);
482
483extern _X_EXPORT unsigned int XkbAdjustGroup(
484 int /* group */,
485 XkbControlsPtr /* ctrls */
486);
487
488extern _X_EXPORT KeySym *XkbResizeKeySyms(
489 XkbDescPtr /* xkb */,
490 int /* key */,
491 int /* needed */
492);
493
494extern _X_EXPORT XkbAction *XkbResizeKeyActions(
495 XkbDescPtr /* xkb */,
496 int /* key */,
497 int /* needed */
498);
499
500extern _X_EXPORT void XkbUpdateKeyTypesFromCore(
501 DeviceIntPtr /* pXDev */,
502 KeySymsPtr /* syms */,
503 KeyCode /* first */,
504 CARD8 /* num */,
505 XkbChangesPtr /* pChanges */
506);
507
508extern _X_EXPORT void XkbUpdateDescActions(
509 XkbDescPtr /* xkb */,
510 KeyCode /* first */,
511 CARD8 /* num */,
512 XkbChangesPtr /* changes */
513);
514
515extern _X_EXPORT void XkbUpdateActions(
516 DeviceIntPtr /* pXDev */,
517 KeyCode /* first */,
518 CARD8 /* num */,
519 XkbChangesPtr /* pChanges */,
520 unsigned int * /* needChecksRtrn */,
521 XkbEventCausePtr /* cause */
522);
523
524extern _X_EXPORT KeySymsPtr XkbGetCoreMap(
525 DeviceIntPtr /* keybd */
526);
527
528extern _X_EXPORT void XkbApplyMappingChange(
529 DeviceIntPtr /* pXDev */,
530 KeySymsPtr /* map */,
531 KeyCode /* firstKey */,
532 CARD8 /* num */,
533 CARD8 * /* modmap */,
534 ClientPtr /* client */
535);
536
537extern _X_EXPORT void XkbSetIndicators(
538 DeviceIntPtr /* pXDev */,
539 CARD32 /* affect */,
540 CARD32 /* values */,
541 XkbEventCausePtr /* cause */
542);
543
544extern _X_EXPORT void XkbUpdateIndicators(
545 DeviceIntPtr /* keybd */,
546 CARD32 /* changed */,
547 Bool /* check_edevs */,
548 XkbChangesPtr /* pChanges */,
549 XkbEventCausePtr /* cause */
550);
551
552extern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
553 DeviceIntPtr /* dev */,
554 KbdFeedbackPtr /* kf */,
555 LedFeedbackPtr /* lf */,
556 unsigned int /* needed_parts */
557);
558
559extern _X_EXPORT XkbSrvLedInfoPtr XkbCopySrvLedInfo(
560 DeviceIntPtr /* dev */,
561 XkbSrvLedInfoPtr /* src */,
562 KbdFeedbackPtr /* kf */,
563 LedFeedbackPtr /* lf */
564);
565
566
567extern _X_EXPORT XkbSrvLedInfoPtr XkbFindSrvLedInfo(
568 DeviceIntPtr /* dev */,
569 unsigned int /* class */,
570 unsigned int /* id */,
571 unsigned int /* needed_parts */
572);
573
574extern _X_EXPORT void XkbApplyLedNameChanges(
575 DeviceIntPtr /* dev */,
576 XkbSrvLedInfoPtr /* sli */,
577 unsigned int /* changed_names */,
578 xkbExtensionDeviceNotify * /* ed */,
579 XkbChangesPtr /* changes */,
580 XkbEventCausePtr /* cause */
581);
582
583extern _X_EXPORT void XkbApplyLedMapChanges(
584 DeviceIntPtr /* dev */,
585 XkbSrvLedInfoPtr /* sli */,
586 unsigned int /* changed_maps */,
587 xkbExtensionDeviceNotify * /* ed */,
588 XkbChangesPtr /* changes */,
589 XkbEventCausePtr /* cause */
590);
591
592extern _X_EXPORT void XkbApplyLedStateChanges(
593 DeviceIntPtr /* dev */,
594 XkbSrvLedInfoPtr /* sli */,
595 unsigned int /* changed_leds */,
596 xkbExtensionDeviceNotify * /* ed */,
597 XkbChangesPtr /* changes */,
598 XkbEventCausePtr /* cause */
599);
600
601extern _X_EXPORT void XkbFlushLedEvents(
602 DeviceIntPtr /* dev */,
603 DeviceIntPtr /* kbd */,
604 XkbSrvLedInfoPtr /* sli */,
605 xkbExtensionDeviceNotify * /* ed */,
606 XkbChangesPtr /* changes */,
607 XkbEventCausePtr /* cause */
608);
609
610extern _X_EXPORT unsigned int XkbIndicatorsToUpdate(
611 DeviceIntPtr /* dev */,
612 unsigned long /* state_changes */,
613 Bool /* enabled_ctrl_changes */
614);
615
616extern _X_EXPORT void XkbComputeDerivedState(
617 XkbSrvInfoPtr /* xkbi */
618);
619
620extern _X_EXPORT void XkbCheckSecondaryEffects(
621 XkbSrvInfoPtr /* xkbi */,
622 unsigned int /* which */,
623 XkbChangesPtr /* changes */,
624 XkbEventCausePtr /* cause */
625);
626
627extern _X_EXPORT void XkbCheckIndicatorMaps(
628 DeviceIntPtr /* dev */,
629 XkbSrvLedInfoPtr /* sli */,
630 unsigned int /* which */
631);
632
633extern _X_EXPORT unsigned int XkbStateChangedFlags(
634 XkbStatePtr /* old */,
635 XkbStatePtr /* new */
636);
637
638extern _X_EXPORT void XkbSendStateNotify(
639 DeviceIntPtr /* kbd */,
640 xkbStateNotify * /* pSN */
641);
642
643extern _X_EXPORT void XkbSendMapNotify(
644 DeviceIntPtr /* kbd */,
645 xkbMapNotify * /* ev */
646);
647
648extern _X_EXPORT int XkbComputeControlsNotify(
649 DeviceIntPtr /* kbd */,
650 XkbControlsPtr /* old */,
651 XkbControlsPtr /* new */,
652 xkbControlsNotify * /* pCN */,
653 Bool /* forceCtrlProc */
654);
655
656extern _X_EXPORT void XkbSendControlsNotify(
657 DeviceIntPtr /* kbd */,
658 xkbControlsNotify * /* ev */
659);
660
661extern _X_EXPORT void XkbSendCompatMapNotify(
662 DeviceIntPtr /* kbd */,
663 xkbCompatMapNotify * /* ev */
664);
665
666extern _X_EXPORT void XkbHandleBell(
667 BOOL /* force */,
668 BOOL /* eventOnly */,
669 DeviceIntPtr /* kbd */,
670 CARD8 /* percent */,
671 pointer /* ctrl */,
672 CARD8 /* class */,
673 Atom /* name */,
674 WindowPtr /* pWin */,
675 ClientPtr /* pClient */
676);
677
678extern _X_EXPORT void XkbSendAccessXNotify(
679 DeviceIntPtr /* kbd */,
680 xkbAccessXNotify * /* pEv */
681);
682
683extern _X_EXPORT void XkbSendNamesNotify(
684 DeviceIntPtr /* kbd */,
685 xkbNamesNotify * /* ev */
686);
687
688extern _X_EXPORT void XkbSendActionMessage(
689 DeviceIntPtr /* kbd */,
690 xkbActionMessage * /* ev */
691);
692
693extern _X_EXPORT void XkbSendExtensionDeviceNotify(
694 DeviceIntPtr /* kbd */,
695 ClientPtr /* client */,
696 xkbExtensionDeviceNotify * /* ev */
697);
698
699extern _X_EXPORT void XkbSendNotification(
700 DeviceIntPtr /* kbd */,
701 XkbChangesPtr /* pChanges */,
702 XkbEventCausePtr /* cause */
703);
704
705extern _X_EXPORT void XkbProcessKeyboardEvent(
706 DeviceEvent* /* event */,
707 DeviceIntPtr /* keybd */
708);
709
710extern _X_EXPORT void XkbHandleActions(
711 DeviceIntPtr /* dev */,
712 DeviceIntPtr /* kbd */,
713 DeviceEvent* /* event */
714);
715
716extern _X_EXPORT Bool XkbEnableDisableControls(
717 XkbSrvInfoPtr /* xkbi */,
718 unsigned long /* change */,
719 unsigned long /* newValues */,
720 XkbChangesPtr /* changes */,
721 XkbEventCausePtr /* cause */
722);
723
724extern _X_EXPORT void AccessXInit(
725 DeviceIntPtr /* dev */
726);
727
728extern _X_EXPORT Bool AccessXFilterPressEvent(
729 DeviceEvent* /* event */,
730 DeviceIntPtr /* keybd */
731);
732
733extern _X_EXPORT Bool AccessXFilterReleaseEvent(
734 DeviceEvent* /* event */,
735 DeviceIntPtr /* keybd */
736);
737
738extern _X_EXPORT void AccessXCancelRepeatKey(
739 XkbSrvInfoPtr /* xkbi */,
740 KeyCode /* key */
741);
742
743extern _X_EXPORT void AccessXComputeCurveFactor(
744 XkbSrvInfoPtr /* xkbi */,
745 XkbControlsPtr /* ctrls */
746);
747
748extern _X_EXPORT XkbInterestPtr XkbFindClientResource(
749 DevicePtr /* inDev */,
750 ClientPtr /* client */
751);
752
753extern _X_EXPORT XkbInterestPtr XkbAddClientResource(
754 DevicePtr /* inDev */,
755 ClientPtr /* client */,
756 XID /* id */
757);
758
759extern _X_EXPORT int XkbRemoveResourceClient(
760 DevicePtr /* inDev */,
761 XID /* id */
762);
763
764extern _X_EXPORT int XkbDDXAccessXBeep(
765 DeviceIntPtr /* dev */,
766 unsigned int /* what */,
767 unsigned int /* which */
768);
769
770extern _X_EXPORT int XkbDDXUsesSoftRepeat(
771 DeviceIntPtr /* dev */
772);
773
774extern _X_EXPORT void XkbDDXKeybdCtrlProc(
775 DeviceIntPtr /* dev */,
776 KeybdCtrl * /* ctrl */
777);
778
779extern _X_EXPORT void XkbDDXChangeControls(
780 DeviceIntPtr /* dev */,
781 XkbControlsPtr /* old */,
782 XkbControlsPtr /* new */
783);
784
785extern _X_EXPORT void XkbDDXUpdateDeviceIndicators(
786 DeviceIntPtr /* dev */,
787 XkbSrvLedInfoPtr /* sli */,
788 CARD32 /* newState */
789);
790
791extern _X_EXPORT void XkbDDXFakePointerMotion(
792 unsigned int /* flags */,
793 int /* x */,
794 int /* y */
795);
796
797extern _X_EXPORT void XkbDDXFakeDeviceButton(
798 DeviceIntPtr /* dev */,
799 Bool /* press */,
800 int /* button */
801);
802
803extern _X_EXPORT int XkbDDXTerminateServer(
804 DeviceIntPtr /* dev */,
805 KeyCode /* key */,
806 XkbAction * /* act */
807);
808
809extern _X_EXPORT int XkbDDXSwitchScreen(
810 DeviceIntPtr /* dev */,
811 KeyCode /* key */,
812 XkbAction * /* act */
813);
814
815extern _X_EXPORT int XkbDDXPrivate(
816 DeviceIntPtr /* dev */,
817 KeyCode /* key */,
818 XkbAction * /* act */
819);
820
821extern _X_EXPORT void XkbDisableComputedAutoRepeats(
822 DeviceIntPtr /* pXDev */,
823 unsigned int /* key */
824);
825
826extern _X_EXPORT void XkbSetRepeatKeys(
827 DeviceIntPtr /* pXDev */,
828 int /* key */,
829 int /* onoff */
830);
831
832extern _X_EXPORT int XkbLatchModifiers(
833 DeviceIntPtr /* pXDev */,
834 CARD8 /* mask */,
835 CARD8 /* latches */
836);
837
838extern _X_EXPORT int XkbLatchGroup(
839 DeviceIntPtr /* pXDev */,
840 int /* group */
841);
842
843extern _X_EXPORT void XkbClearAllLatchesAndLocks(
844 DeviceIntPtr /* dev */,
845 XkbSrvInfoPtr /* xkbi */,
846 Bool /* genEv */,
847 XkbEventCausePtr /* cause */
848);
849
850extern _X_EXPORT void XkbGetRulesDflts(
851 XkbRMLVOSet * /* rmlvo */
852);
853
854extern _X_EXPORT void XkbFreeRMLVOSet(
855 XkbRMLVOSet * /* rmlvo */,
856 Bool /* freeRMLVO */
857);
858
859extern _X_EXPORT void XkbSetRulesDflts(
860 XkbRMLVOSet * /* rmlvo */
861);
862
863extern _X_EXPORT void XkbDeleteRulesDflts(
864 void
865);
866
867extern _X_EXPORT int SProcXkbDispatch(
868 ClientPtr /* client */
869);
870
871extern _X_EXPORT XkbGeometryPtr XkbLookupNamedGeometry(
872 DeviceIntPtr /* dev */,
873 Atom /* name */,
874 Bool * /* shouldFree */
875);
876
877extern _X_EXPORT char * _XkbDupString(
878 const char * /* str */
879);
880
881extern _X_EXPORT void XkbConvertCase(
882 KeySym /* sym */,
883 KeySym * /* lower */,
884 KeySym * /* upper */
885);
886
887extern _X_EXPORT Status XkbChangeKeycodeRange(
888 XkbDescPtr /* xkb */,
889 int /* minKC */,
890 int /* maxKC */,
891 XkbChangesPtr /* changes */
892);
893
894extern _X_EXPORT void XkbFreeSrvLedInfo(
895 XkbSrvLedInfoPtr /* sli */
896);
897
898extern _X_EXPORT void XkbFreeInfo(
899 XkbSrvInfoPtr /* xkbi */
900);
901
902extern _X_EXPORT Status XkbChangeTypesOfKey(
903 XkbDescPtr /* xkb */,
904 int /* key */,
905 int /* nGroups */,
906 unsigned int /* groups */,
907 int * /* newTypesIn */,
908 XkbMapChangesPtr /* changes */
909);
910
911extern _X_EXPORT int XkbKeyTypesForCoreSymbols(
912 XkbDescPtr /* xkb */,
913 int /* map_width */,
914 KeySym * /* core_syms */,
915 unsigned int /* protected */,
916 int * /* types_inout */,
917 KeySym * /* xkb_syms_rtrn */
918);
919
920extern _X_EXPORT Bool XkbApplyCompatMapToKey(
921 XkbDescPtr /* xkb */,
922 KeyCode /* key */,
923 XkbChangesPtr /* changes */
924);
925
926extern _X_EXPORT Bool XkbApplyVirtualModChanges(
927 XkbDescPtr /* xkb */,
928 unsigned int /* changed */,
929 XkbChangesPtr /* changes */
930);
931
932extern _X_EXPORT void XkbSendNewKeyboardNotify(
933 DeviceIntPtr /* kbd */,
934 xkbNewKeyboardNotify * /* pNKN */
935);
936
937extern Bool XkbCopyKeymap(
938 XkbDescPtr /* dst */,
939 XkbDescPtr /* src */);
940
941extern Bool XkbCopyDeviceKeymap(
942 DeviceIntPtr /* dst */,
943 DeviceIntPtr /* src */);
944
945extern Bool XkbFilterEvents(
946 ClientPtr /* pClient */,
947 int /* nEvents */,
948 xEvent* /* xE */);
949
950#include "xkbfile.h"
951#include "xkbrules.h"
952
953#define _XkbListKeycodes 0
954#define _XkbListTypes 1
955#define _XkbListCompat 2
956#define _XkbListSymbols 3
957#define _XkbListGeometry 4
958#define _XkbListNumComponents 5
959
960typedef struct _XkbSrvListInfo {
961 int szPool;
962 int nPool;
963 char * pool;
964
965 int maxRtrn;
966 int nTotal;
967
968 char * pattern[_XkbListNumComponents];
969 int nFound[_XkbListNumComponents];
970} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
971
972extern _X_EXPORT Status XkbDDXList(
973 DeviceIntPtr /* dev */,
974 XkbSrvListInfoPtr /* listing */,
975 ClientPtr /* client */
976);
977
978extern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames(
979 DeviceIntPtr /* keybd */,
980 XkbComponentNamesPtr /* names */,
981 unsigned int /* want */,
982 unsigned int /* need */,
983 XkbDescPtr * /* finfoRtrn */,
984 char * /* keymapNameRtrn */,
985 int /* keymapNameRtrnLen */
986);
987
988extern _X_EXPORT Bool XkbDDXNamesFromRules(
989 DeviceIntPtr /* keybd */,
990 char * /* rules */,
991 XkbRF_VarDefsPtr /* defs */,
992 XkbComponentNamesPtr /* names */
993);
994
995extern _X_EXPORT XkbDescPtr XkbCompileKeymap(
996 DeviceIntPtr /* dev */,
997 XkbRMLVOSet * /* rmlvo */
998);
999
1000#define XkbAtomGetString(s) NameForAtom(s)
1001
1002#endif /* _XKBSRV_H_ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette