VirtualBox

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

Last change on this file since 17448 was 17448, checked in by vboxsync, 16 years ago

Additions/x11: added a full header set for X.Org server 1.5 and 1.6

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