VirtualBox

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

Last change on this file since 99743 was 49174, checked in by vboxsync, 11 years ago

Additions/x11: replace header files for X.Org Server 1.6.0 with those for version 1.6.5 due to an ABI bump in-between.

  • Property svn:eol-style set to native
File size: 24.5 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 XkbCopySrvLedInfo(
580 DeviceIntPtr /* dev */,
581 XkbSrvLedInfoPtr /* src */,
582 KbdFeedbackPtr /* kf */,
583 LedFeedbackPtr /* lf */
584);
585
586
587extern XkbSrvLedInfoPtr XkbFindSrvLedInfo(
588 DeviceIntPtr /* dev */,
589 unsigned int /* class */,
590 unsigned int /* id */,
591 unsigned int /* needed_parts */
592);
593
594extern void XkbApplyLedNameChanges(
595 DeviceIntPtr /* dev */,
596 XkbSrvLedInfoPtr /* sli */,
597 unsigned int /* changed_names */,
598 xkbExtensionDeviceNotify * /* ed */,
599 XkbChangesPtr /* changes */,
600 XkbEventCausePtr /* cause */
601);
602
603extern void XkbApplyLedMapChanges(
604 DeviceIntPtr /* dev */,
605 XkbSrvLedInfoPtr /* sli */,
606 unsigned int /* changed_maps */,
607 xkbExtensionDeviceNotify * /* ed */,
608 XkbChangesPtr /* changes */,
609 XkbEventCausePtr /* cause */
610);
611
612extern void XkbApplyLedStateChanges(
613 DeviceIntPtr /* dev */,
614 XkbSrvLedInfoPtr /* sli */,
615 unsigned int /* changed_leds */,
616 xkbExtensionDeviceNotify * /* ed */,
617 XkbChangesPtr /* changes */,
618 XkbEventCausePtr /* cause */
619);
620
621extern void XkbFlushLedEvents(
622 DeviceIntPtr /* dev */,
623 DeviceIntPtr /* kbd */,
624 XkbSrvLedInfoPtr /* sli */,
625 xkbExtensionDeviceNotify * /* ed */,
626 XkbChangesPtr /* changes */,
627 XkbEventCausePtr /* cause */
628);
629
630extern unsigned int XkbIndicatorsToUpdate(
631 DeviceIntPtr /* dev */,
632 unsigned long /* state_changes */,
633 Bool /* enabled_ctrl_changes */
634);
635
636extern void XkbComputeDerivedState(
637 XkbSrvInfoPtr /* xkbi */
638);
639
640extern void XkbCheckSecondaryEffects(
641 XkbSrvInfoPtr /* xkbi */,
642 unsigned int /* which */,
643 XkbChangesPtr /* changes */,
644 XkbEventCausePtr /* cause */
645);
646
647extern void XkbCheckIndicatorMaps(
648 DeviceIntPtr /* dev */,
649 XkbSrvLedInfoPtr /* sli */,
650 unsigned int /* which */
651);
652
653extern unsigned int XkbStateChangedFlags(
654 XkbStatePtr /* old */,
655 XkbStatePtr /* new */
656);
657
658extern void XkbSendStateNotify(
659 DeviceIntPtr /* kbd */,
660 xkbStateNotify * /* pSN */
661);
662
663extern void XkbSendMapNotify(
664 DeviceIntPtr /* kbd */,
665 xkbMapNotify * /* ev */
666);
667
668extern int XkbComputeControlsNotify(
669 DeviceIntPtr /* kbd */,
670 XkbControlsPtr /* old */,
671 XkbControlsPtr /* new */,
672 xkbControlsNotify * /* pCN */,
673 Bool /* forceCtrlProc */
674);
675
676extern void XkbSendControlsNotify(
677 DeviceIntPtr /* kbd */,
678 xkbControlsNotify * /* ev */
679);
680
681extern void XkbSendCompatMapNotify(
682 DeviceIntPtr /* kbd */,
683 xkbCompatMapNotify * /* ev */
684);
685
686extern void XkbHandleBell(
687 BOOL /* force */,
688 BOOL /* eventOnly */,
689 DeviceIntPtr /* kbd */,
690 CARD8 /* percent */,
691 pointer /* ctrl */,
692 CARD8 /* class */,
693 Atom /* name */,
694 WindowPtr /* pWin */,
695 ClientPtr /* pClient */
696);
697
698extern void XkbSendAccessXNotify(
699 DeviceIntPtr /* kbd */,
700 xkbAccessXNotify * /* pEv */
701);
702
703extern void XkbSendNamesNotify(
704 DeviceIntPtr /* kbd */,
705 xkbNamesNotify * /* ev */
706);
707
708extern void XkbSendCompatNotify(
709 DeviceIntPtr /* kbd */,
710 xkbCompatMapNotify * /* ev */
711);
712
713extern void XkbSendActionMessage(
714 DeviceIntPtr /* kbd */,
715 xkbActionMessage * /* ev */
716);
717
718extern void XkbSendExtensionDeviceNotify(
719 DeviceIntPtr /* kbd */,
720 ClientPtr /* client */,
721 xkbExtensionDeviceNotify * /* ev */
722);
723
724extern void XkbSendNotification(
725 DeviceIntPtr /* kbd */,
726 XkbChangesPtr /* pChanges */,
727 XkbEventCausePtr /* cause */
728);
729
730extern void XkbProcessKeyboardEvent(
731 struct _xEvent * /* xE */,
732 DeviceIntPtr /* keybd */,
733 int /* count */
734);
735
736extern void XkbHandleActions(
737 DeviceIntPtr /* dev */,
738 DeviceIntPtr /* kbd */,
739 struct _xEvent * /* xE */,
740 int /* count */
741);
742
743extern Bool XkbEnableDisableControls(
744 XkbSrvInfoPtr /* xkbi */,
745 unsigned long /* change */,
746 unsigned long /* newValues */,
747 XkbChangesPtr /* changes */,
748 XkbEventCausePtr /* cause */
749);
750
751extern void AccessXInit(
752 DeviceIntPtr /* dev */
753);
754
755extern Bool AccessXFilterPressEvent(
756 struct _xEvent * /* xE */,
757 DeviceIntPtr /* keybd */,
758 int /* count */
759);
760
761extern Bool AccessXFilterReleaseEvent(
762 struct _xEvent * /* xE */,
763 DeviceIntPtr /* keybd */,
764 int /* count */
765);
766
767extern void AccessXCancelRepeatKey(
768 XkbSrvInfoPtr /* xkbi */,
769 KeyCode /* key */
770);
771
772extern void AccessXComputeCurveFactor(
773 XkbSrvInfoPtr /* xkbi */,
774 XkbControlsPtr /* ctrls */
775);
776
777extern XkbInterestPtr XkbFindClientResource(
778 DevicePtr /* inDev */,
779 ClientPtr /* client */
780);
781
782extern XkbInterestPtr XkbAddClientResource(
783 DevicePtr /* inDev */,
784 ClientPtr /* client */,
785 XID /* id */
786);
787
788extern int XkbRemoveResourceClient(
789 DevicePtr /* inDev */,
790 XID /* id */
791);
792
793extern int XkbDDXInitDevice(
794 DeviceIntPtr /* dev */
795);
796
797extern int XkbDDXAccessXBeep(
798 DeviceIntPtr /* dev */,
799 unsigned int /* what */,
800 unsigned int /* which */
801);
802
803extern void XkbDDXKeyClick(
804 DeviceIntPtr /* dev */,
805 int /* keycode */,
806 int /* synthetic */
807);
808
809extern int XkbDDXUsesSoftRepeat(
810 DeviceIntPtr /* dev */
811);
812
813extern void XkbDDXKeybdCtrlProc(
814 DeviceIntPtr /* dev */,
815 KeybdCtrl * /* ctrl */
816);
817
818extern void XkbDDXChangeControls(
819 DeviceIntPtr /* dev */,
820 XkbControlsPtr /* old */,
821 XkbControlsPtr /* new */
822);
823
824extern void XkbDDXUpdateDeviceIndicators(
825 DeviceIntPtr /* dev */,
826 XkbSrvLedInfoPtr /* sli */,
827 CARD32 /* newState */
828);
829
830extern void XkbDDXFakePointerButton(
831 int /* event */,
832 int /* button */
833);
834
835extern void XkbDDXFakePointerMotion(
836 unsigned int /* flags */,
837 int /* x */,
838 int /* y */
839);
840
841extern void XkbDDXFakeDeviceButton(
842 DeviceIntPtr /* dev */,
843 Bool /* press */,
844 int /* button */
845);
846
847extern int XkbDDXTerminateServer(
848 DeviceIntPtr /* dev */,
849 KeyCode /* key */,
850 XkbAction * /* act */
851);
852
853extern int XkbDDXSwitchScreen(
854 DeviceIntPtr /* dev */,
855 KeyCode /* key */,
856 XkbAction * /* act */
857);
858
859extern int XkbDDXPrivate(
860 DeviceIntPtr /* dev */,
861 KeyCode /* key */,
862 XkbAction * /* act */
863);
864
865extern void XkbDisableComputedAutoRepeats(
866 DeviceIntPtr /* pXDev */,
867 unsigned int /* key */
868);
869
870extern void XkbSetRepeatKeys(
871 DeviceIntPtr /* pXDev */,
872 int /* key */,
873 int /* onoff */
874);
875
876extern int XkbLatchModifiers(
877 DeviceIntPtr /* pXDev */,
878 CARD8 /* mask */,
879 CARD8 /* latches */
880);
881
882extern int XkbLatchGroup(
883 DeviceIntPtr /* pXDev */,
884 int /* group */
885);
886
887extern void XkbClearAllLatchesAndLocks(
888 DeviceIntPtr /* dev */,
889 XkbSrvInfoPtr /* xkbi */,
890 Bool /* genEv */,
891 XkbEventCausePtr /* cause */
892);
893
894extern void XkbSetRulesDflts(
895 char * /* rulesFile */,
896 char * /* model */,
897 char * /* layout */,
898 char * /* variant */,
899 char * /* options */
900);
901
902extern void XkbDeleteRulesDflts(
903 void
904);
905
906extern void XkbInitDevice(
907 DeviceIntPtr /* pXDev */
908);
909
910extern Bool XkbInitKeyboardDeviceStruct(
911 DeviceIntPtr /* pXDev */,
912 XkbComponentNamesPtr /* pNames */,
913 KeySymsPtr /* pSyms */,
914 CARD8 /* pMods */[],
915 BellProcPtr /* bellProc */,
916 KbdCtrlProcPtr /* ctrlProc */
917);
918
919extern int SProcXkbDispatch(
920 ClientPtr /* client */
921);
922
923extern XkbGeometryPtr XkbLookupNamedGeometry(
924 DeviceIntPtr /* dev */,
925 Atom /* name */,
926 Bool * /* shouldFree */
927);
928
929extern char * _XkbDupString(
930 char * /* str */
931);
932
933extern void XkbConvertCase(
934 KeySym /* sym */,
935 KeySym * /* lower */,
936 KeySym * /* upper */
937);
938
939extern Status XkbChangeKeycodeRange(
940 XkbDescPtr /* xkb */,
941 int /* minKC */,
942 int /* maxKC */,
943 XkbChangesPtr /* changes */
944);
945
946extern int XkbFinishDeviceInit(
947 DeviceIntPtr /* pXDev */
948);
949
950extern void XkbFreeSrvLedInfo(
951 XkbSrvLedInfoPtr /* sli */
952);
953
954extern void XkbFreeInfo(
955 XkbSrvInfoPtr /* xkbi */
956);
957
958extern Status XkbChangeTypesOfKey(
959 XkbDescPtr /* xkb */,
960 int /* key */,
961 int /* nGroups */,
962 unsigned int /* groups */,
963 int * /* newTypesIn */,
964 XkbMapChangesPtr /* changes */
965);
966
967extern int XkbKeyTypesForCoreSymbols(
968 XkbDescPtr /* xkb */,
969 int /* map_width */,
970 KeySym * /* core_syms */,
971 unsigned int /* protected */,
972 int * /* types_inout */,
973 KeySym * /* xkb_syms_rtrn */
974);
975
976extern Bool XkbApplyCompatMapToKey(
977 XkbDescPtr /* xkb */,
978 KeyCode /* key */,
979 XkbChangesPtr /* changes */
980);
981
982extern Bool XkbApplyVirtualModChanges(
983 XkbDescPtr /* xkb */,
984 unsigned int /* changed */,
985 XkbChangesPtr /* changes */
986);
987
988extern void XkbSendNewKeyboardNotify(
989 DeviceIntPtr /* kbd */,
990 xkbNewKeyboardNotify * /* pNKN */
991);
992
993#include "xkbfile.h"
994#include <X11/extensions/XKMformat.h>
995#include "xkbrules.h"
996
997#define _XkbListKeymaps 0
998#define _XkbListKeycodes 1
999#define _XkbListTypes 2
1000#define _XkbListCompat 3
1001#define _XkbListSymbols 4
1002#define _XkbListGeometry 5
1003#define _XkbListNumComponents 6
1004
1005typedef struct _XkbSrvListInfo {
1006 int szPool;
1007 int nPool;
1008 char * pool;
1009
1010 int maxRtrn;
1011 int nTotal;
1012
1013 char * pattern[_XkbListNumComponents];
1014 int nFound[_XkbListNumComponents];
1015} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
1016
1017extern Status XkbDDXList(
1018 DeviceIntPtr /* dev */,
1019 XkbSrvListInfoPtr /* listing */,
1020 ClientPtr /* client */
1021);
1022
1023extern unsigned int XkbDDXLoadKeymapByNames(
1024 DeviceIntPtr /* keybd */,
1025 XkbComponentNamesPtr /* names */,
1026 unsigned int /* want */,
1027 unsigned int /* need */,
1028 XkbDescPtr * /* finfoRtrn */,
1029 char * /* keymapNameRtrn */,
1030 int /* keymapNameRtrnLen */
1031);
1032
1033extern Bool XkbDDXNamesFromRules(
1034 DeviceIntPtr /* keybd */,
1035 char * /* rules */,
1036 XkbRF_VarDefsPtr /* defs */,
1037 XkbComponentNamesPtr /* names */
1038);
1039
1040extern Bool XkbDDXApplyConfig(
1041 void * /* cfg_in */,
1042 XkbSrvInfoPtr /* xkbi */
1043);
1044
1045extern int _XkbStrCaseCmp(
1046 char * /* str1 */,
1047 char * /* str2 */
1048);
1049
1050_XFUNCPROTOEND
1051
1052#define XkbAtomGetString(s) NameForAtom(s)
1053
1054#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