VirtualBox

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

Last change on this file since 68495 was 40349, checked in by vboxsync, 13 years ago

Additions/xorg: support X.Org Server 1.12.

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