VirtualBox

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

最後變更 在這個檔案從46019是 43272,由 vboxsync 提交於 12 年 前

Additions/x11: more original X server headers.

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

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