VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.8.0/xkbsrv.h@ 64670

Last change on this file since 64670 was 28062, checked in by vboxsync, 15 years ago

Additions/x11/x11include: header files for building X.Org server 1.8 drivers

  • Property svn:eol-style set to native
File size: 24.2 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 DevPrivateKey xkbDevicePrivateKey;
279#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr)dixLookupPrivate(&(dev)->devPrivates, xkbDevicePrivateKey))
280
281extern 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 CARD32 xkbDebugFlags;
301
302#define _XkbLibError(c,l,d) /* Epoch fail */
303#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
304#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
305#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
306
307extern _X_EXPORT int DeviceKeyPress,DeviceKeyRelease,DeviceMotionNotify;
308extern _X_EXPORT int DeviceButtonPress,DeviceButtonRelease;
309
310#define Status int
311
312extern _X_EXPORT void XkbUseMsg(
313 void
314);
315
316extern _X_EXPORT int XkbProcessArguments(
317 int /* argc */,
318 char ** /* argv */,
319 int /* i */
320);
321
322extern _X_EXPORT void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc);
323
324extern _X_EXPORT void XkbFreeCompatMap(
325 XkbDescPtr /* xkb */,
326 unsigned int /* which */,
327 Bool /* freeMap */
328);
329
330extern _X_EXPORT void XkbFreeNames(
331 XkbDescPtr /* xkb */,
332 unsigned int /* which */,
333 Bool /* freeMap */
334);
335
336extern _X_EXPORT int _XkbLookupAnyDevice(
337 DeviceIntPtr *pDev,
338 int id,
339 ClientPtr client,
340 Mask access_mode,
341 int *xkb_err
342);
343
344extern _X_EXPORT int _XkbLookupKeyboard(
345 DeviceIntPtr *pDev,
346 int id,
347 ClientPtr client,
348 Mask access_mode,
349 int *xkb_err
350);
351
352extern _X_EXPORT int _XkbLookupBellDevice(
353 DeviceIntPtr *pDev,
354 int id,
355 ClientPtr client,
356 Mask access_mode,
357 int *xkb_err
358);
359
360extern _X_EXPORT int _XkbLookupLedDevice(
361 DeviceIntPtr *pDev,
362 int id,
363 ClientPtr client,
364 Mask access_mode,
365 int *xkb_err
366);
367
368extern _X_EXPORT int _XkbLookupButtonDevice(
369 DeviceIntPtr *pDev,
370 int id,
371 ClientPtr client,
372 Mask access_mode,
373 int *xkb_err
374);
375
376extern _X_EXPORT XkbDescPtr XkbAllocKeyboard(
377 void
378);
379
380extern _X_EXPORT Status XkbAllocClientMap(
381 XkbDescPtr /* xkb */,
382 unsigned int /* which */,
383 unsigned int /* nTypes */
384);
385
386extern _X_EXPORT Status XkbAllocServerMap(
387 XkbDescPtr /* xkb */,
388 unsigned int /* which */,
389 unsigned int /* nNewActions */
390);
391
392extern _X_EXPORT void XkbFreeClientMap(
393 XkbDescPtr /* xkb */,
394 unsigned int /* what */,
395 Bool /* freeMap */
396);
397
398extern _X_EXPORT void XkbFreeServerMap(
399 XkbDescPtr /* xkb */,
400 unsigned int /* what */,
401 Bool /* freeMap */
402);
403
404extern _X_EXPORT Status XkbAllocIndicatorMaps(
405 XkbDescPtr /* xkb */
406);
407
408extern _X_EXPORT Status XkbAllocCompatMap(
409 XkbDescPtr /* xkb */,
410 unsigned int /* which */,
411 unsigned int /* nInterpret */
412);
413
414extern _X_EXPORT Status XkbAllocNames(
415 XkbDescPtr /* xkb */,
416 unsigned int /* which */,
417 int /* nTotalRG */,
418 int /* nTotalAliases */
419);
420
421extern _X_EXPORT Status XkbAllocControls(
422 XkbDescPtr /* xkb */,
423 unsigned int /* which*/
424);
425
426extern _X_EXPORT Status XkbCopyKeyTypes(
427 XkbKeyTypePtr /* from */,
428 XkbKeyTypePtr /* into */,
429 int /* num_types */
430);
431
432extern _X_EXPORT Status XkbResizeKeyType(
433 XkbDescPtr /* xkb */,
434 int /* type_ndx */,
435 int /* map_count */,
436 Bool /* want_preserve */,
437 int /* new_num_lvls */
438);
439
440extern _X_EXPORT void XkbFreeKeyboard(
441 XkbDescPtr /* xkb */,
442 unsigned int /* which */,
443 Bool /* freeDesc */
444);
445
446extern _X_EXPORT void XkbSetActionKeyMods(
447 XkbDescPtr /* xkb */,
448 XkbAction * /* act */,
449 unsigned int /* mods */
450);
451
452extern _X_EXPORT unsigned int XkbMaskForVMask(
453 XkbDescPtr /* xkb */,
454 unsigned int /* vmask */
455);
456
457extern _X_EXPORT Bool XkbVirtualModsToReal(
458 XkbDescPtr /* xkb */,
459 unsigned int /* virtua_mask */,
460 unsigned int * /* mask_rtrn */
461);
462
463extern _X_EXPORT unsigned int XkbAdjustGroup(
464 int /* group */,
465 XkbControlsPtr /* ctrls */
466);
467
468extern _X_EXPORT KeySym *XkbResizeKeySyms(
469 XkbDescPtr /* xkb */,
470 int /* key */,
471 int /* needed */
472);
473
474extern _X_EXPORT XkbAction *XkbResizeKeyActions(
475 XkbDescPtr /* xkb */,
476 int /* key */,
477 int /* needed */
478);
479
480extern _X_EXPORT void XkbUpdateKeyTypesFromCore(
481 DeviceIntPtr /* pXDev */,
482 KeySymsPtr /* syms */,
483 KeyCode /* first */,
484 CARD8 /* num */,
485 XkbChangesPtr /* pChanges */
486);
487
488extern _X_EXPORT void XkbUpdateDescActions(
489 XkbDescPtr /* xkb */,
490 KeyCode /* first */,
491 CARD8 /* num */,
492 XkbChangesPtr /* changes */
493);
494
495extern _X_EXPORT void XkbUpdateActions(
496 DeviceIntPtr /* pXDev */,
497 KeyCode /* first */,
498 CARD8 /* num */,
499 XkbChangesPtr /* pChanges */,
500 unsigned int * /* needChecksRtrn */,
501 XkbEventCausePtr /* cause */
502);
503
504extern _X_EXPORT KeySymsPtr XkbGetCoreMap(
505 DeviceIntPtr /* keybd */
506);
507
508extern _X_EXPORT void XkbApplyMappingChange(
509 DeviceIntPtr /* pXDev */,
510 KeySymsPtr /* map */,
511 KeyCode /* firstKey */,
512 CARD8 /* num */,
513 CARD8 * /* modmap */,
514 ClientPtr /* client */
515);
516
517extern _X_EXPORT void XkbSetIndicators(
518 DeviceIntPtr /* pXDev */,
519 CARD32 /* affect */,
520 CARD32 /* values */,
521 XkbEventCausePtr /* cause */
522);
523
524extern _X_EXPORT void XkbUpdateIndicators(
525 DeviceIntPtr /* keybd */,
526 CARD32 /* changed */,
527 Bool /* check_edevs */,
528 XkbChangesPtr /* pChanges */,
529 XkbEventCausePtr /* cause */
530);
531
532extern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
533 DeviceIntPtr /* dev */,
534 KbdFeedbackPtr /* kf */,
535 LedFeedbackPtr /* lf */,
536 unsigned int /* needed_parts */
537);
538
539extern _X_EXPORT XkbSrvLedInfoPtr XkbCopySrvLedInfo(
540 DeviceIntPtr /* dev */,
541 XkbSrvLedInfoPtr /* src */,
542 KbdFeedbackPtr /* kf */,
543 LedFeedbackPtr /* lf */
544);
545
546
547extern _X_EXPORT XkbSrvLedInfoPtr XkbFindSrvLedInfo(
548 DeviceIntPtr /* dev */,
549 unsigned int /* class */,
550 unsigned int /* id */,
551 unsigned int /* needed_parts */
552);
553
554extern _X_EXPORT void XkbApplyLedNameChanges(
555 DeviceIntPtr /* dev */,
556 XkbSrvLedInfoPtr /* sli */,
557 unsigned int /* changed_names */,
558 xkbExtensionDeviceNotify * /* ed */,
559 XkbChangesPtr /* changes */,
560 XkbEventCausePtr /* cause */
561);
562
563extern _X_EXPORT void XkbApplyLedMapChanges(
564 DeviceIntPtr /* dev */,
565 XkbSrvLedInfoPtr /* sli */,
566 unsigned int /* changed_maps */,
567 xkbExtensionDeviceNotify * /* ed */,
568 XkbChangesPtr /* changes */,
569 XkbEventCausePtr /* cause */
570);
571
572extern _X_EXPORT void XkbApplyLedStateChanges(
573 DeviceIntPtr /* dev */,
574 XkbSrvLedInfoPtr /* sli */,
575 unsigned int /* changed_leds */,
576 xkbExtensionDeviceNotify * /* ed */,
577 XkbChangesPtr /* changes */,
578 XkbEventCausePtr /* cause */
579);
580
581extern _X_EXPORT void XkbFlushLedEvents(
582 DeviceIntPtr /* dev */,
583 DeviceIntPtr /* kbd */,
584 XkbSrvLedInfoPtr /* sli */,
585 xkbExtensionDeviceNotify * /* ed */,
586 XkbChangesPtr /* changes */,
587 XkbEventCausePtr /* cause */
588);
589
590extern _X_EXPORT unsigned int XkbIndicatorsToUpdate(
591 DeviceIntPtr /* dev */,
592 unsigned long /* state_changes */,
593 Bool /* enabled_ctrl_changes */
594);
595
596extern _X_EXPORT void XkbComputeDerivedState(
597 XkbSrvInfoPtr /* xkbi */
598);
599
600extern _X_EXPORT void XkbCheckSecondaryEffects(
601 XkbSrvInfoPtr /* xkbi */,
602 unsigned int /* which */,
603 XkbChangesPtr /* changes */,
604 XkbEventCausePtr /* cause */
605);
606
607extern _X_EXPORT void XkbCheckIndicatorMaps(
608 DeviceIntPtr /* dev */,
609 XkbSrvLedInfoPtr /* sli */,
610 unsigned int /* which */
611);
612
613extern _X_EXPORT unsigned int XkbStateChangedFlags(
614 XkbStatePtr /* old */,
615 XkbStatePtr /* new */
616);
617
618extern _X_EXPORT void XkbSendStateNotify(
619 DeviceIntPtr /* kbd */,
620 xkbStateNotify * /* pSN */
621);
622
623extern _X_EXPORT void XkbSendMapNotify(
624 DeviceIntPtr /* kbd */,
625 xkbMapNotify * /* ev */
626);
627
628extern _X_EXPORT int XkbComputeControlsNotify(
629 DeviceIntPtr /* kbd */,
630 XkbControlsPtr /* old */,
631 XkbControlsPtr /* new */,
632 xkbControlsNotify * /* pCN */,
633 Bool /* forceCtrlProc */
634);
635
636extern _X_EXPORT void XkbSendControlsNotify(
637 DeviceIntPtr /* kbd */,
638 xkbControlsNotify * /* ev */
639);
640
641extern _X_EXPORT void XkbSendCompatMapNotify(
642 DeviceIntPtr /* kbd */,
643 xkbCompatMapNotify * /* ev */
644);
645
646extern _X_EXPORT void XkbHandleBell(
647 BOOL /* force */,
648 BOOL /* eventOnly */,
649 DeviceIntPtr /* kbd */,
650 CARD8 /* percent */,
651 pointer /* ctrl */,
652 CARD8 /* class */,
653 Atom /* name */,
654 WindowPtr /* pWin */,
655 ClientPtr /* pClient */
656);
657
658extern _X_EXPORT void XkbSendAccessXNotify(
659 DeviceIntPtr /* kbd */,
660 xkbAccessXNotify * /* pEv */
661);
662
663extern _X_EXPORT void XkbSendNamesNotify(
664 DeviceIntPtr /* kbd */,
665 xkbNamesNotify * /* ev */
666);
667
668extern _X_EXPORT void XkbSendActionMessage(
669 DeviceIntPtr /* kbd */,
670 xkbActionMessage * /* ev */
671);
672
673extern _X_EXPORT void XkbSendExtensionDeviceNotify(
674 DeviceIntPtr /* kbd */,
675 ClientPtr /* client */,
676 xkbExtensionDeviceNotify * /* ev */
677);
678
679extern _X_EXPORT void XkbSendNotification(
680 DeviceIntPtr /* kbd */,
681 XkbChangesPtr /* pChanges */,
682 XkbEventCausePtr /* cause */
683);
684
685extern _X_EXPORT void XkbProcessKeyboardEvent(
686 DeviceEvent* /* event */,
687 DeviceIntPtr /* keybd */
688);
689
690extern _X_EXPORT void XkbHandleActions(
691 DeviceIntPtr /* dev */,
692 DeviceIntPtr /* kbd */,
693 DeviceEvent* /* event */
694);
695
696extern _X_EXPORT Bool XkbEnableDisableControls(
697 XkbSrvInfoPtr /* xkbi */,
698 unsigned long /* change */,
699 unsigned long /* newValues */,
700 XkbChangesPtr /* changes */,
701 XkbEventCausePtr /* cause */
702);
703
704extern _X_EXPORT void AccessXInit(
705 DeviceIntPtr /* dev */
706);
707
708extern _X_EXPORT Bool AccessXFilterPressEvent(
709 DeviceEvent* /* event */,
710 DeviceIntPtr /* keybd */
711);
712
713extern _X_EXPORT Bool AccessXFilterReleaseEvent(
714 DeviceEvent* /* event */,
715 DeviceIntPtr /* keybd */
716);
717
718extern _X_EXPORT void AccessXCancelRepeatKey(
719 XkbSrvInfoPtr /* xkbi */,
720 KeyCode /* key */
721);
722
723extern _X_EXPORT void AccessXComputeCurveFactor(
724 XkbSrvInfoPtr /* xkbi */,
725 XkbControlsPtr /* ctrls */
726);
727
728extern _X_EXPORT XkbInterestPtr XkbFindClientResource(
729 DevicePtr /* inDev */,
730 ClientPtr /* client */
731);
732
733extern _X_EXPORT XkbInterestPtr XkbAddClientResource(
734 DevicePtr /* inDev */,
735 ClientPtr /* client */,
736 XID /* id */
737);
738
739extern _X_EXPORT int XkbRemoveResourceClient(
740 DevicePtr /* inDev */,
741 XID /* id */
742);
743
744extern _X_EXPORT int XkbDDXAccessXBeep(
745 DeviceIntPtr /* dev */,
746 unsigned int /* what */,
747 unsigned int /* which */
748);
749
750extern _X_EXPORT int XkbDDXUsesSoftRepeat(
751 DeviceIntPtr /* dev */
752);
753
754extern _X_EXPORT void XkbDDXKeybdCtrlProc(
755 DeviceIntPtr /* dev */,
756 KeybdCtrl * /* ctrl */
757);
758
759extern _X_EXPORT void XkbDDXChangeControls(
760 DeviceIntPtr /* dev */,
761 XkbControlsPtr /* old */,
762 XkbControlsPtr /* new */
763);
764
765extern _X_EXPORT void XkbDDXUpdateDeviceIndicators(
766 DeviceIntPtr /* dev */,
767 XkbSrvLedInfoPtr /* sli */,
768 CARD32 /* newState */
769);
770
771extern _X_EXPORT void XkbDDXFakePointerMotion(
772 unsigned int /* flags */,
773 int /* x */,
774 int /* y */
775);
776
777extern _X_EXPORT void XkbDDXFakeDeviceButton(
778 DeviceIntPtr /* dev */,
779 Bool /* press */,
780 int /* button */
781);
782
783extern _X_EXPORT int XkbDDXTerminateServer(
784 DeviceIntPtr /* dev */,
785 KeyCode /* key */,
786 XkbAction * /* act */
787);
788
789extern _X_EXPORT int XkbDDXSwitchScreen(
790 DeviceIntPtr /* dev */,
791 KeyCode /* key */,
792 XkbAction * /* act */
793);
794
795extern _X_EXPORT int XkbDDXPrivate(
796 DeviceIntPtr /* dev */,
797 KeyCode /* key */,
798 XkbAction * /* act */
799);
800
801extern _X_EXPORT void XkbDisableComputedAutoRepeats(
802 DeviceIntPtr /* pXDev */,
803 unsigned int /* key */
804);
805
806extern _X_EXPORT void XkbSetRepeatKeys(
807 DeviceIntPtr /* pXDev */,
808 int /* key */,
809 int /* onoff */
810);
811
812extern _X_EXPORT int XkbLatchModifiers(
813 DeviceIntPtr /* pXDev */,
814 CARD8 /* mask */,
815 CARD8 /* latches */
816);
817
818extern _X_EXPORT int XkbLatchGroup(
819 DeviceIntPtr /* pXDev */,
820 int /* group */
821);
822
823extern _X_EXPORT void XkbClearAllLatchesAndLocks(
824 DeviceIntPtr /* dev */,
825 XkbSrvInfoPtr /* xkbi */,
826 Bool /* genEv */,
827 XkbEventCausePtr /* cause */
828);
829
830extern _X_EXPORT void XkbGetRulesDflts(
831 XkbRMLVOSet * /* rmlvo */
832);
833
834extern _X_EXPORT void XkbFreeRMLVOSet(
835 XkbRMLVOSet * /* rmlvo */,
836 Bool /* freeRMLVO */
837);
838
839extern _X_EXPORT void XkbSetRulesDflts(
840 XkbRMLVOSet * /* rmlvo */
841);
842
843extern _X_EXPORT void XkbDeleteRulesDflts(
844 void
845);
846
847extern _X_EXPORT int SProcXkbDispatch(
848 ClientPtr /* client */
849);
850
851extern _X_EXPORT XkbGeometryPtr XkbLookupNamedGeometry(
852 DeviceIntPtr /* dev */,
853 Atom /* name */,
854 Bool * /* shouldFree */
855);
856
857extern _X_EXPORT char * _XkbDupString(
858 const char * /* str */
859);
860
861extern _X_EXPORT void XkbConvertCase(
862 KeySym /* sym */,
863 KeySym * /* lower */,
864 KeySym * /* upper */
865);
866
867extern _X_EXPORT Status XkbChangeKeycodeRange(
868 XkbDescPtr /* xkb */,
869 int /* minKC */,
870 int /* maxKC */,
871 XkbChangesPtr /* changes */
872);
873
874extern _X_EXPORT void XkbFreeSrvLedInfo(
875 XkbSrvLedInfoPtr /* sli */
876);
877
878extern _X_EXPORT void XkbFreeInfo(
879 XkbSrvInfoPtr /* xkbi */
880);
881
882extern _X_EXPORT Status XkbChangeTypesOfKey(
883 XkbDescPtr /* xkb */,
884 int /* key */,
885 int /* nGroups */,
886 unsigned int /* groups */,
887 int * /* newTypesIn */,
888 XkbMapChangesPtr /* changes */
889);
890
891extern _X_EXPORT int XkbKeyTypesForCoreSymbols(
892 XkbDescPtr /* xkb */,
893 int /* map_width */,
894 KeySym * /* core_syms */,
895 unsigned int /* protected */,
896 int * /* types_inout */,
897 KeySym * /* xkb_syms_rtrn */
898);
899
900extern _X_EXPORT Bool XkbApplyCompatMapToKey(
901 XkbDescPtr /* xkb */,
902 KeyCode /* key */,
903 XkbChangesPtr /* changes */
904);
905
906extern _X_EXPORT Bool XkbApplyVirtualModChanges(
907 XkbDescPtr /* xkb */,
908 unsigned int /* changed */,
909 XkbChangesPtr /* changes */
910);
911
912extern _X_EXPORT void XkbSendNewKeyboardNotify(
913 DeviceIntPtr /* kbd */,
914 xkbNewKeyboardNotify * /* pNKN */
915);
916
917extern Bool XkbCopyKeymap(
918 XkbDescPtr /* dst */,
919 XkbDescPtr /* src */);
920
921extern Bool XkbCopyDeviceKeymap(
922 DeviceIntPtr /* dst */,
923 DeviceIntPtr /* src */);
924
925extern void XkbFilterEvents(
926 ClientPtr /* pClient */,
927 int /* nEvents */,
928 xEvent* /* xE */);
929
930extern int XkbGetEffectiveGroup(
931 XkbSrvInfoPtr /* xkbi */,
932 XkbStatePtr /* xkbstate */,
933 CARD8 /* keycode */);
934
935#include "xkbfile.h"
936#include "xkbrules.h"
937
938#define _XkbListKeycodes 0
939#define _XkbListTypes 1
940#define _XkbListCompat 2
941#define _XkbListSymbols 3
942#define _XkbListGeometry 4
943#define _XkbListNumComponents 5
944
945typedef struct _XkbSrvListInfo {
946 int szPool;
947 int nPool;
948 char * pool;
949
950 int maxRtrn;
951 int nTotal;
952
953 char * pattern[_XkbListNumComponents];
954 int nFound[_XkbListNumComponents];
955} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
956
957extern _X_EXPORT Status XkbDDXList(
958 DeviceIntPtr /* dev */,
959 XkbSrvListInfoPtr /* listing */,
960 ClientPtr /* client */
961);
962
963extern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames(
964 DeviceIntPtr /* keybd */,
965 XkbComponentNamesPtr /* names */,
966 unsigned int /* want */,
967 unsigned int /* need */,
968 XkbDescPtr * /* finfoRtrn */,
969 char * /* keymapNameRtrn */,
970 int /* keymapNameRtrnLen */
971);
972
973extern _X_EXPORT Bool XkbDDXNamesFromRules(
974 DeviceIntPtr /* keybd */,
975 char * /* rules */,
976 XkbRF_VarDefsPtr /* defs */,
977 XkbComponentNamesPtr /* names */
978);
979
980extern _X_EXPORT XkbDescPtr XkbCompileKeymap(
981 DeviceIntPtr /* dev */,
982 XkbRMLVOSet * /* rmlvo */
983);
984
985#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