VirtualBox

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

Last change on this file was 36308, checked in by vboxsync, 14 years ago

fix OSE

  • Property svn:eol-style set to native
File size: 24.3 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 char * XkbBaseDirectory;
300extern _X_EXPORT 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 XkbSetActionKeyMods(
451 XkbDescPtr /* xkb */,
452 XkbAction * /* act */,
453 unsigned int /* mods */
454);
455
456extern _X_EXPORT unsigned int XkbMaskForVMask(
457 XkbDescPtr /* xkb */,
458 unsigned int /* vmask */
459);
460
461extern _X_EXPORT Bool XkbVirtualModsToReal(
462 XkbDescPtr /* xkb */,
463 unsigned int /* virtua_mask */,
464 unsigned int * /* mask_rtrn */
465);
466
467extern _X_EXPORT unsigned int XkbAdjustGroup(
468 int /* group */,
469 XkbControlsPtr /* ctrls */
470);
471
472extern _X_EXPORT KeySym *XkbResizeKeySyms(
473 XkbDescPtr /* xkb */,
474 int /* key */,
475 int /* needed */
476);
477
478extern _X_EXPORT XkbAction *XkbResizeKeyActions(
479 XkbDescPtr /* xkb */,
480 int /* key */,
481 int /* needed */
482);
483
484extern _X_EXPORT void XkbUpdateKeyTypesFromCore(
485 DeviceIntPtr /* pXDev */,
486 KeySymsPtr /* syms */,
487 KeyCode /* first */,
488 CARD8 /* num */,
489 XkbChangesPtr /* pChanges */
490);
491
492extern _X_EXPORT void XkbUpdateDescActions(
493 XkbDescPtr /* xkb */,
494 KeyCode /* first */,
495 CARD8 /* num */,
496 XkbChangesPtr /* changes */
497);
498
499extern _X_EXPORT void XkbUpdateActions(
500 DeviceIntPtr /* pXDev */,
501 KeyCode /* first */,
502 CARD8 /* num */,
503 XkbChangesPtr /* pChanges */,
504 unsigned int * /* needChecksRtrn */,
505 XkbEventCausePtr /* cause */
506);
507
508extern _X_EXPORT KeySymsPtr XkbGetCoreMap(
509 DeviceIntPtr /* keybd */
510);
511
512extern _X_EXPORT void XkbApplyMappingChange(
513 DeviceIntPtr /* pXDev */,
514 KeySymsPtr /* map */,
515 KeyCode /* firstKey */,
516 CARD8 /* num */,
517 CARD8 * /* modmap */,
518 ClientPtr /* client */
519);
520
521extern _X_EXPORT void XkbSetIndicators(
522 DeviceIntPtr /* pXDev */,
523 CARD32 /* affect */,
524 CARD32 /* values */,
525 XkbEventCausePtr /* cause */
526);
527
528extern _X_EXPORT void XkbUpdateIndicators(
529 DeviceIntPtr /* keybd */,
530 CARD32 /* changed */,
531 Bool /* check_edevs */,
532 XkbChangesPtr /* pChanges */,
533 XkbEventCausePtr /* cause */
534);
535
536extern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
537 DeviceIntPtr /* dev */,
538 KbdFeedbackPtr /* kf */,
539 LedFeedbackPtr /* lf */,
540 unsigned int /* needed_parts */
541);
542
543extern _X_EXPORT XkbSrvLedInfoPtr XkbCopySrvLedInfo(
544 DeviceIntPtr /* dev */,
545 XkbSrvLedInfoPtr /* src */,
546 KbdFeedbackPtr /* kf */,
547 LedFeedbackPtr /* lf */
548);
549
550
551extern _X_EXPORT XkbSrvLedInfoPtr XkbFindSrvLedInfo(
552 DeviceIntPtr /* dev */,
553 unsigned int /* class */,
554 unsigned int /* id */,
555 unsigned int /* needed_parts */
556);
557
558extern _X_EXPORT void XkbApplyLedNameChanges(
559 DeviceIntPtr /* dev */,
560 XkbSrvLedInfoPtr /* sli */,
561 unsigned int /* changed_names */,
562 xkbExtensionDeviceNotify * /* ed */,
563 XkbChangesPtr /* changes */,
564 XkbEventCausePtr /* cause */
565);
566
567extern _X_EXPORT void XkbApplyLedMapChanges(
568 DeviceIntPtr /* dev */,
569 XkbSrvLedInfoPtr /* sli */,
570 unsigned int /* changed_maps */,
571 xkbExtensionDeviceNotify * /* ed */,
572 XkbChangesPtr /* changes */,
573 XkbEventCausePtr /* cause */
574);
575
576extern _X_EXPORT void XkbApplyLedStateChanges(
577 DeviceIntPtr /* dev */,
578 XkbSrvLedInfoPtr /* sli */,
579 unsigned int /* changed_leds */,
580 xkbExtensionDeviceNotify * /* ed */,
581 XkbChangesPtr /* changes */,
582 XkbEventCausePtr /* cause */
583);
584
585extern _X_EXPORT void XkbFlushLedEvents(
586 DeviceIntPtr /* dev */,
587 DeviceIntPtr /* kbd */,
588 XkbSrvLedInfoPtr /* sli */,
589 xkbExtensionDeviceNotify * /* ed */,
590 XkbChangesPtr /* changes */,
591 XkbEventCausePtr /* cause */
592);
593
594extern _X_EXPORT unsigned int XkbIndicatorsToUpdate(
595 DeviceIntPtr /* dev */,
596 unsigned long /* state_changes */,
597 Bool /* enabled_ctrl_changes */
598);
599
600extern _X_EXPORT void XkbComputeDerivedState(
601 XkbSrvInfoPtr /* xkbi */
602);
603
604extern _X_EXPORT void XkbCheckSecondaryEffects(
605 XkbSrvInfoPtr /* xkbi */,
606 unsigned int /* which */,
607 XkbChangesPtr /* changes */,
608 XkbEventCausePtr /* cause */
609);
610
611extern _X_EXPORT void XkbCheckIndicatorMaps(
612 DeviceIntPtr /* dev */,
613 XkbSrvLedInfoPtr /* sli */,
614 unsigned int /* which */
615);
616
617extern _X_EXPORT unsigned int XkbStateChangedFlags(
618 XkbStatePtr /* old */,
619 XkbStatePtr /* new */
620);
621
622extern _X_EXPORT void XkbSendStateNotify(
623 DeviceIntPtr /* kbd */,
624 xkbStateNotify * /* pSN */
625);
626
627extern _X_EXPORT void XkbSendMapNotify(
628 DeviceIntPtr /* kbd */,
629 xkbMapNotify * /* ev */
630);
631
632extern _X_EXPORT int XkbComputeControlsNotify(
633 DeviceIntPtr /* kbd */,
634 XkbControlsPtr /* old */,
635 XkbControlsPtr /* new */,
636 xkbControlsNotify * /* pCN */,
637 Bool /* forceCtrlProc */
638);
639
640extern _X_EXPORT void XkbSendControlsNotify(
641 DeviceIntPtr /* kbd */,
642 xkbControlsNotify * /* ev */
643);
644
645extern _X_EXPORT void XkbSendCompatMapNotify(
646 DeviceIntPtr /* kbd */,
647 xkbCompatMapNotify * /* ev */
648);
649
650extern _X_EXPORT void XkbHandleBell(
651 BOOL /* force */,
652 BOOL /* eventOnly */,
653 DeviceIntPtr /* kbd */,
654 CARD8 /* percent */,
655 pointer /* ctrl */,
656 CARD8 /* class */,
657 Atom /* name */,
658 WindowPtr /* pWin */,
659 ClientPtr /* pClient */
660);
661
662extern _X_EXPORT void XkbSendAccessXNotify(
663 DeviceIntPtr /* kbd */,
664 xkbAccessXNotify * /* pEv */
665);
666
667extern _X_EXPORT void XkbSendNamesNotify(
668 DeviceIntPtr /* kbd */,
669 xkbNamesNotify * /* ev */
670);
671
672extern _X_EXPORT void XkbSendActionMessage(
673 DeviceIntPtr /* kbd */,
674 xkbActionMessage * /* ev */
675);
676
677extern _X_EXPORT void XkbSendExtensionDeviceNotify(
678 DeviceIntPtr /* kbd */,
679 ClientPtr /* client */,
680 xkbExtensionDeviceNotify * /* ev */
681);
682
683extern _X_EXPORT void XkbSendNotification(
684 DeviceIntPtr /* kbd */,
685 XkbChangesPtr /* pChanges */,
686 XkbEventCausePtr /* cause */
687);
688
689extern _X_EXPORT void XkbProcessKeyboardEvent(
690 DeviceEvent* /* event */,
691 DeviceIntPtr /* keybd */
692);
693
694extern _X_EXPORT void XkbHandleActions(
695 DeviceIntPtr /* dev */,
696 DeviceIntPtr /* kbd */,
697 DeviceEvent* /* event */
698);
699
700extern _X_EXPORT Bool XkbEnableDisableControls(
701 XkbSrvInfoPtr /* xkbi */,
702 unsigned long /* change */,
703 unsigned long /* newValues */,
704 XkbChangesPtr /* changes */,
705 XkbEventCausePtr /* cause */
706);
707
708extern _X_EXPORT void AccessXInit(
709 DeviceIntPtr /* dev */
710);
711
712extern _X_EXPORT Bool AccessXFilterPressEvent(
713 DeviceEvent* /* event */,
714 DeviceIntPtr /* keybd */
715);
716
717extern _X_EXPORT Bool AccessXFilterReleaseEvent(
718 DeviceEvent* /* event */,
719 DeviceIntPtr /* keybd */
720);
721
722extern _X_EXPORT void AccessXCancelRepeatKey(
723 XkbSrvInfoPtr /* xkbi */,
724 KeyCode /* key */
725);
726
727extern _X_EXPORT void AccessXComputeCurveFactor(
728 XkbSrvInfoPtr /* xkbi */,
729 XkbControlsPtr /* ctrls */
730);
731
732extern _X_EXPORT XkbInterestPtr XkbFindClientResource(
733 DevicePtr /* inDev */,
734 ClientPtr /* client */
735);
736
737extern _X_EXPORT XkbInterestPtr XkbAddClientResource(
738 DevicePtr /* inDev */,
739 ClientPtr /* client */,
740 XID /* id */
741);
742
743extern _X_EXPORT int XkbRemoveResourceClient(
744 DevicePtr /* inDev */,
745 XID /* id */
746);
747
748extern _X_EXPORT int XkbDDXAccessXBeep(
749 DeviceIntPtr /* dev */,
750 unsigned int /* what */,
751 unsigned int /* which */
752);
753
754extern _X_EXPORT int XkbDDXUsesSoftRepeat(
755 DeviceIntPtr /* dev */
756);
757
758extern _X_EXPORT void XkbDDXKeybdCtrlProc(
759 DeviceIntPtr /* dev */,
760 KeybdCtrl * /* ctrl */
761);
762
763extern _X_EXPORT void XkbDDXChangeControls(
764 DeviceIntPtr /* dev */,
765 XkbControlsPtr /* old */,
766 XkbControlsPtr /* new */
767);
768
769extern _X_EXPORT void XkbDDXUpdateDeviceIndicators(
770 DeviceIntPtr /* dev */,
771 XkbSrvLedInfoPtr /* sli */,
772 CARD32 /* newState */
773);
774
775extern _X_EXPORT int XkbDDXTerminateServer(
776 DeviceIntPtr /* dev */,
777 KeyCode /* key */,
778 XkbAction * /* act */
779);
780
781extern _X_EXPORT int XkbDDXSwitchScreen(
782 DeviceIntPtr /* dev */,
783 KeyCode /* key */,
784 XkbAction * /* act */
785);
786
787extern _X_EXPORT int XkbDDXPrivate(
788 DeviceIntPtr /* dev */,
789 KeyCode /* key */,
790 XkbAction * /* act */
791);
792
793extern _X_EXPORT void XkbDisableComputedAutoRepeats(
794 DeviceIntPtr /* pXDev */,
795 unsigned int /* key */
796);
797
798extern _X_EXPORT void XkbSetRepeatKeys(
799 DeviceIntPtr /* pXDev */,
800 int /* key */,
801 int /* onoff */
802);
803
804extern _X_EXPORT int XkbLatchModifiers(
805 DeviceIntPtr /* pXDev */,
806 CARD8 /* mask */,
807 CARD8 /* latches */
808);
809
810extern _X_EXPORT int XkbLatchGroup(
811 DeviceIntPtr /* pXDev */,
812 int /* group */
813);
814
815extern _X_EXPORT void XkbClearAllLatchesAndLocks(
816 DeviceIntPtr /* dev */,
817 XkbSrvInfoPtr /* xkbi */,
818 Bool /* genEv */,
819 XkbEventCausePtr /* cause */
820);
821
822extern _X_EXPORT void XkbGetRulesDflts(
823 XkbRMLVOSet * /* rmlvo */
824);
825
826extern _X_EXPORT void XkbFreeRMLVOSet(
827 XkbRMLVOSet * /* rmlvo */,
828 Bool /* freeRMLVO */
829);
830
831extern _X_EXPORT void XkbSetRulesDflts(
832 XkbRMLVOSet * /* rmlvo */
833);
834
835extern _X_EXPORT void XkbDeleteRulesDflts(
836 void
837);
838
839extern _X_EXPORT int SProcXkbDispatch(
840 ClientPtr /* client */
841);
842
843extern _X_EXPORT XkbGeometryPtr XkbLookupNamedGeometry(
844 DeviceIntPtr /* dev */,
845 Atom /* name */,
846 Bool * /* shouldFree */
847);
848
849extern _X_EXPORT char * _XkbDupString(
850 const char * /* str */
851);
852
853extern _X_EXPORT void XkbConvertCase(
854 KeySym /* sym */,
855 KeySym * /* lower */,
856 KeySym * /* upper */
857);
858
859extern _X_EXPORT Status XkbChangeKeycodeRange(
860 XkbDescPtr /* xkb */,
861 int /* minKC */,
862 int /* maxKC */,
863 XkbChangesPtr /* changes */
864);
865
866extern _X_EXPORT void XkbFreeSrvLedInfo(
867 XkbSrvLedInfoPtr /* sli */
868);
869
870extern _X_EXPORT void XkbFreeInfo(
871 XkbSrvInfoPtr /* xkbi */
872);
873
874extern _X_EXPORT Status XkbChangeTypesOfKey(
875 XkbDescPtr /* xkb */,
876 int /* key */,
877 int /* nGroups */,
878 unsigned int /* groups */,
879 int * /* newTypesIn */,
880 XkbMapChangesPtr /* changes */
881);
882
883extern _X_EXPORT int XkbKeyTypesForCoreSymbols(
884 XkbDescPtr /* xkb */,
885 int /* map_width */,
886 KeySym * /* core_syms */,
887 unsigned int /* protected */,
888 int * /* types_inout */,
889 KeySym * /* xkb_syms_rtrn */
890);
891
892extern _X_EXPORT Bool XkbApplyCompatMapToKey(
893 XkbDescPtr /* xkb */,
894 KeyCode /* key */,
895 XkbChangesPtr /* changes */
896);
897
898extern _X_EXPORT Bool XkbApplyVirtualModChanges(
899 XkbDescPtr /* xkb */,
900 unsigned int /* changed */,
901 XkbChangesPtr /* changes */
902);
903
904extern _X_EXPORT void XkbSendNewKeyboardNotify(
905 DeviceIntPtr /* kbd */,
906 xkbNewKeyboardNotify * /* pNKN */
907);
908
909extern Bool XkbCopyKeymap(
910 XkbDescPtr /* dst */,
911 XkbDescPtr /* src */);
912
913extern _X_EXPORT Bool XkbCopyDeviceKeymap(
914 DeviceIntPtr /* dst */,
915 DeviceIntPtr /* src */);
916
917extern void XkbFilterEvents(
918 ClientPtr /* pClient */,
919 int /* nEvents */,
920 xEvent* /* xE */);
921
922extern int XkbGetEffectiveGroup(
923 XkbSrvInfoPtr /* xkbi */,
924 XkbStatePtr /* xkbstate */,
925 CARD8 /* keycode */);
926
927extern void XkbMergeLockedPtrBtns(
928 DeviceIntPtr /* master */);
929
930extern void XkbFakeDeviceButton(
931 DeviceIntPtr /* dev */,
932 int /* press */,
933 int /* button */);
934
935
936#include "xkbfile.h"
937#include "xkbrules.h"
938
939#define _XkbListKeycodes 0
940#define _XkbListTypes 1
941#define _XkbListCompat 2
942#define _XkbListSymbols 3
943#define _XkbListGeometry 4
944#define _XkbListNumComponents 5
945
946typedef struct _XkbSrvListInfo {
947 int szPool;
948 int nPool;
949 char * pool;
950
951 int maxRtrn;
952 int nTotal;
953
954 char * pattern[_XkbListNumComponents];
955 int nFound[_XkbListNumComponents];
956} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
957
958extern _X_EXPORT Status XkbDDXList(
959 DeviceIntPtr /* dev */,
960 XkbSrvListInfoPtr /* listing */,
961 ClientPtr /* client */
962);
963
964extern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames(
965 DeviceIntPtr /* keybd */,
966 XkbComponentNamesPtr /* names */,
967 unsigned int /* want */,
968 unsigned int /* need */,
969 XkbDescPtr * /* finfoRtrn */,
970 char * /* keymapNameRtrn */,
971 int /* keymapNameRtrnLen */
972);
973
974extern _X_EXPORT Bool XkbDDXNamesFromRules(
975 DeviceIntPtr /* keybd */,
976 char * /* rules */,
977 XkbRF_VarDefsPtr /* defs */,
978 XkbComponentNamesPtr /* names */
979);
980
981extern _X_EXPORT XkbDescPtr XkbCompileKeymap(
982 DeviceIntPtr /* dev */,
983 XkbRMLVOSet * /* rmlvo */
984);
985
986#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