VirtualBox

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

Last change on this file since 107044 was 43251, checked in by vboxsync, 12 years ago

Additions/x11: added headers for X.Org Server 1.13.

  • Property svn:eol-style set to native
File size: 33.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
97#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
98 (c)->mjr= (c)->mnr= 0; \
99 (c)->client= NULL; }
100#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
101 (c)->mjr= (j),(c)->mnr= (n);\
102 (c)->client= (cl); }
103#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
104#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
105#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0)
106
107#define _OFF_TIMER 0
108#define _KRG_WARN_TIMER 1
109#define _KRG_TIMER 2
110#define _SK_TIMEOUT_TIMER 3
111#define _ALL_TIMEOUT_TIMER 4
112
113#define _BEEP_NONE 0
114#define _BEEP_FEATURE_ON 1
115#define _BEEP_FEATURE_OFF 2
116#define _BEEP_FEATURE_CHANGE 3
117#define _BEEP_SLOW_WARN 4
118#define _BEEP_SLOW_PRESS 5
119#define _BEEP_SLOW_ACCEPT 6
120#define _BEEP_SLOW_REJECT 7
121#define _BEEP_SLOW_RELEASE 8
122#define _BEEP_STICKY_LATCH 9
123#define _BEEP_STICKY_LOCK 10
124#define _BEEP_STICKY_UNLOCK 11
125#define _BEEP_LED_ON 12
126#define _BEEP_LED_OFF 13
127#define _BEEP_LED_CHANGE 14
128#define _BEEP_BOUNCE_REJECT 15
129
130typedef struct _XkbFilter {
131 CARD16 keycode;
132 CARD8 what;
133 CARD8 active;
134 CARD8 filterOthers;
135 CARD32 priv;
136 XkbAction upAction;
137 int (*filter) (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 ProcessInputProc processInputProc;
241 /* If processInputProc is set to something different than realInputProc,
242 * UNWRAP and COND_WRAP will not touch processInputProc and update only
243 * realInputProc. This ensures that
244 * processInputProc == (frozen ? EnqueueEvent : realInputProc)
245 *
246 * WRAP_PROCESS_INPUT_PROC should only be called during initialization,
247 * since it may destroy this invariant.
248 */
249 ProcessInputProc realInputProc;
250 DeviceUnwrapProc unwrapProc;
251} xkbDeviceInfoRec, *xkbDeviceInfoPtr;
252
253#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
254 device->public.processInputProc = proc; \
255 oldprocs->processInputProc = \
256 oldprocs->realInputProc = device->public.realInputProc; \
257 device->public.realInputProc = proc; \
258 oldprocs->unwrapProc = device->unwrapProc; \
259 device->unwrapProc = unwrapproc;
260
261#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
262 if (device->public.processInputProc == device->public.realInputProc)\
263 device->public.processInputProc = proc; \
264 oldprocs->processInputProc = \
265 oldprocs->realInputProc = device->public.realInputProc; \
266 device->public.realInputProc = proc; \
267 oldprocs->unwrapProc = device->unwrapProc; \
268 device->unwrapProc = unwrapproc;
269
270#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \
271 backupproc = device->public.realInputProc; \
272 if (device->public.processInputProc == device->public.realInputProc)\
273 device->public.processInputProc = oldprocs->realInputProc; \
274 device->public.realInputProc = oldprocs->realInputProc; \
275 device->unwrapProc = oldprocs->unwrapProc;
276
277extern _X_EXPORT DevPrivateKeyRec xkbDevicePrivateKeyRec;
278
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#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
290#define XkbAllFilteredEventsMask \
291 (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
292
293/***====================================================================***/
294
295extern _X_EXPORT int XkbReqCode;
296extern _X_EXPORT int XkbEventBase;
297extern _X_EXPORT int XkbKeyboardErrorCode;
298extern _X_EXPORT const char *XkbBaseDirectory;
299extern _X_EXPORT const char *XkbBinDirectory;
300
301extern _X_EXPORT CARD32 xkbDebugFlags;
302
303#define _XkbLibError(c,l,d) /* Epoch fail */
304
305/* "a" is a "unique" numeric identifier that just defines which error
306 * code statement it is. _XkbErrCode2(4, foo) means "this is the 4th error
307 * statement in this function". lovely.
308 */
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
313#define Status int
314
315extern _X_EXPORT void XkbUseMsg(void
316 );
317
318extern _X_EXPORT int XkbProcessArguments(int /* argc */ ,
319 char ** /* argv */ ,
320 int /* i */
321 );
322
323extern _X_EXPORT Bool XkbInitPrivates(void);
324
325extern _X_EXPORT void XkbSetExtension(DeviceIntPtr device,
326 ProcessInputProc proc);
327
328extern _X_EXPORT void XkbFreeCompatMap(XkbDescPtr /* xkb */ ,
329 unsigned int /* which */ ,
330 Bool /* freeMap */
331 );
332
333extern _X_EXPORT void XkbFreeNames(XkbDescPtr /* xkb */ ,
334 unsigned int /* which */ ,
335 Bool /* freeMap */
336 );
337
338extern _X_EXPORT int _XkbLookupAnyDevice(DeviceIntPtr *pDev,
339 int id,
340 ClientPtr client,
341 Mask access_mode, int *xkb_err);
342
343extern _X_EXPORT int _XkbLookupKeyboard(DeviceIntPtr *pDev,
344 int id,
345 ClientPtr client,
346 Mask access_mode, int *xkb_err);
347
348extern _X_EXPORT int _XkbLookupBellDevice(DeviceIntPtr *pDev,
349 int id,
350 ClientPtr client,
351 Mask access_mode, int *xkb_err);
352
353extern _X_EXPORT int _XkbLookupLedDevice(DeviceIntPtr *pDev,
354 int id,
355 ClientPtr client,
356 Mask access_mode, int *xkb_err);
357
358extern _X_EXPORT int _XkbLookupButtonDevice(DeviceIntPtr *pDev,
359 int id,
360 ClientPtr client,
361 Mask access_mode, int *xkb_err);
362
363extern _X_EXPORT XkbDescPtr XkbAllocKeyboard(void
364 );
365
366extern _X_EXPORT Status XkbAllocClientMap(XkbDescPtr /* xkb */ ,
367 unsigned int /* which */ ,
368 unsigned int /* nTypes */
369 );
370
371extern _X_EXPORT Status XkbAllocServerMap(XkbDescPtr /* xkb */ ,
372 unsigned int /* which */ ,
373 unsigned int /* nNewActions */
374 );
375
376extern _X_EXPORT void XkbFreeClientMap(XkbDescPtr /* xkb */ ,
377 unsigned int /* what */ ,
378 Bool /* freeMap */
379 );
380
381extern _X_EXPORT void XkbFreeServerMap(XkbDescPtr /* xkb */ ,
382 unsigned int /* what */ ,
383 Bool /* freeMap */
384 );
385
386extern _X_EXPORT Status XkbAllocIndicatorMaps(XkbDescPtr /* xkb */
387 );
388
389extern _X_EXPORT Status XkbAllocCompatMap(XkbDescPtr /* xkb */ ,
390 unsigned int /* which */ ,
391 unsigned int /* nInterpret */
392 );
393
394extern _X_EXPORT Status XkbAllocNames(XkbDescPtr /* xkb */ ,
395 unsigned int /* which */ ,
396 int /* nTotalRG */ ,
397 int /* nTotalAliases */
398 );
399
400extern _X_EXPORT Status XkbAllocControls(XkbDescPtr /* xkb */ ,
401 unsigned int /* which */
402 );
403
404extern _X_EXPORT Status XkbCopyKeyTypes(XkbKeyTypePtr /* from */ ,
405 XkbKeyTypePtr /* into */ ,
406 int /* num_types */
407 );
408
409extern _X_EXPORT Status XkbResizeKeyType(XkbDescPtr /* xkb */ ,
410 int /* type_ndx */ ,
411 int /* map_count */ ,
412 Bool /* want_preserve */ ,
413 int /* new_num_lvls */
414 );
415
416extern _X_EXPORT void XkbFreeKeyboard(XkbDescPtr /* xkb */ ,
417 unsigned int /* which */ ,
418 Bool /* freeDesc */
419 );
420
421extern _X_EXPORT void XkbFreeComponentNames(XkbComponentNamesPtr /* names */ ,
422 Bool /* freeNames */
423 );
424
425extern _X_EXPORT void XkbSetActionKeyMods(XkbDescPtr /* xkb */ ,
426 XkbAction * /* act */ ,
427 unsigned int /* mods */
428 );
429
430extern _X_EXPORT unsigned int XkbMaskForVMask(XkbDescPtr /* xkb */ ,
431 unsigned int /* vmask */
432 );
433
434extern _X_EXPORT Bool XkbVirtualModsToReal(XkbDescPtr /* xkb */ ,
435 unsigned int /* virtua_mask */ ,
436 unsigned int * /* mask_rtrn */
437 );
438
439extern _X_EXPORT unsigned int XkbAdjustGroup(int /* group */ ,
440 XkbControlsPtr /* ctrls */
441 );
442
443extern _X_EXPORT KeySym *XkbResizeKeySyms(XkbDescPtr /* xkb */ ,
444 int /* key */ ,
445 int /* needed */
446 );
447
448extern _X_EXPORT XkbAction *XkbResizeKeyActions(XkbDescPtr /* xkb */ ,
449 int /* key */ ,
450 int /* needed */
451 );
452
453extern _X_EXPORT void XkbUpdateKeyTypesFromCore(DeviceIntPtr /* pXDev */ ,
454 KeySymsPtr /* syms */ ,
455 KeyCode /* first */ ,
456 CARD8 /* num */ ,
457 XkbChangesPtr /* pChanges */
458 );
459
460extern _X_EXPORT void XkbUpdateDescActions(XkbDescPtr /* xkb */ ,
461 KeyCode /* first */ ,
462 CARD8 /* num */ ,
463 XkbChangesPtr /* changes */
464 );
465
466extern _X_EXPORT void XkbUpdateActions(DeviceIntPtr /* pXDev */ ,
467 KeyCode /* first */ ,
468 CARD8 /* num */ ,
469 XkbChangesPtr /* pChanges */ ,
470 unsigned int * /* needChecksRtrn */ ,
471 XkbEventCausePtr /* cause */
472 );
473
474extern _X_EXPORT KeySymsPtr XkbGetCoreMap(DeviceIntPtr /* keybd */
475 );
476
477extern _X_EXPORT void XkbApplyMappingChange(DeviceIntPtr /* pXDev */ ,
478 KeySymsPtr /* map */ ,
479 KeyCode /* firstKey */ ,
480 CARD8 /* num */ ,
481 CARD8 * /* modmap */ ,
482 ClientPtr /* client */
483 );
484
485extern _X_EXPORT void XkbSetIndicators(DeviceIntPtr /* pXDev */ ,
486 CARD32 /* affect */ ,
487 CARD32 /* values */ ,
488 XkbEventCausePtr /* cause */
489 );
490
491extern _X_EXPORT void XkbUpdateIndicators(DeviceIntPtr /* keybd */ ,
492 CARD32 /* changed */ ,
493 Bool /* check_edevs */ ,
494 XkbChangesPtr /* pChanges */ ,
495 XkbEventCausePtr /* cause */
496 );
497
498extern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo(DeviceIntPtr /* dev */ ,
499 KbdFeedbackPtr /* kf */ ,
500 LedFeedbackPtr /* lf */ ,
501 unsigned int /* needed_parts */
502 );
503
504extern _X_EXPORT XkbSrvLedInfoPtr XkbCopySrvLedInfo(DeviceIntPtr /* dev */ ,
505 XkbSrvLedInfoPtr /* src */ ,
506 KbdFeedbackPtr /* kf */ ,
507 LedFeedbackPtr /* lf */
508 );
509
510extern _X_EXPORT XkbSrvLedInfoPtr XkbFindSrvLedInfo(DeviceIntPtr /* dev */ ,
511 unsigned int /* class */ ,
512 unsigned int /* id */ ,
513 unsigned int /* needed_parts */
514 );
515
516extern _X_EXPORT void XkbApplyLedNameChanges(DeviceIntPtr /* dev */ ,
517 XkbSrvLedInfoPtr /* sli */ ,
518 unsigned int /* changed_names */ ,
519 xkbExtensionDeviceNotify * /* ed */
520 ,
521 XkbChangesPtr /* changes */ ,
522 XkbEventCausePtr /* cause */
523 );
524
525extern _X_EXPORT void XkbApplyLedMapChanges(DeviceIntPtr /* dev */ ,
526 XkbSrvLedInfoPtr /* sli */ ,
527 unsigned int /* changed_maps */ ,
528 xkbExtensionDeviceNotify * /* ed */
529 ,
530 XkbChangesPtr /* changes */ ,
531 XkbEventCausePtr /* cause */
532 );
533
534extern _X_EXPORT void XkbApplyLedStateChanges(DeviceIntPtr /* dev */ ,
535 XkbSrvLedInfoPtr /* sli */ ,
536 unsigned int /* changed_leds */ ,
537 xkbExtensionDeviceNotify *
538 /* ed */ ,
539 XkbChangesPtr /* changes */ ,
540 XkbEventCausePtr /* cause */
541 );
542
543extern _X_EXPORT void XkbFlushLedEvents(DeviceIntPtr /* dev */ ,
544 DeviceIntPtr /* kbd */ ,
545 XkbSrvLedInfoPtr /* sli */ ,
546 xkbExtensionDeviceNotify * /* ed */ ,
547 XkbChangesPtr /* changes */ ,
548 XkbEventCausePtr /* cause */
549 );
550
551extern _X_EXPORT unsigned int XkbIndicatorsToUpdate(DeviceIntPtr /* dev */ ,
552 unsigned long
553 /* state_changes */ ,
554 Bool /* enabled_ctrl_changes */
555 );
556
557extern _X_EXPORT void XkbComputeDerivedState(XkbSrvInfoPtr /* xkbi */
558 );
559
560extern _X_EXPORT void XkbCheckSecondaryEffects(XkbSrvInfoPtr /* xkbi */ ,
561 unsigned int /* which */ ,
562 XkbChangesPtr /* changes */ ,
563 XkbEventCausePtr /* cause */
564 );
565
566extern _X_EXPORT void XkbCheckIndicatorMaps(DeviceIntPtr /* dev */ ,
567 XkbSrvLedInfoPtr /* sli */ ,
568 unsigned int /* which */
569 );
570
571extern _X_EXPORT unsigned int XkbStateChangedFlags(XkbStatePtr /* old */ ,
572 XkbStatePtr /* new */
573 );
574
575extern _X_EXPORT void XkbSendStateNotify(DeviceIntPtr /* kbd */ ,
576 xkbStateNotify * /* pSN */
577 );
578
579extern _X_EXPORT void XkbSendMapNotify(DeviceIntPtr /* kbd */ ,
580 xkbMapNotify * /* ev */
581 );
582
583extern _X_EXPORT int XkbComputeControlsNotify(DeviceIntPtr /* kbd */ ,
584 XkbControlsPtr /* old */ ,
585 XkbControlsPtr /* new */ ,
586 xkbControlsNotify * /* pCN */ ,
587 Bool /* forceCtrlProc */
588 );
589
590extern _X_EXPORT void XkbSendControlsNotify(DeviceIntPtr /* kbd */ ,
591 xkbControlsNotify * /* ev */
592 );
593
594extern _X_EXPORT void XkbSendCompatMapNotify(DeviceIntPtr /* kbd */ ,
595 xkbCompatMapNotify * /* ev */
596 );
597
598extern _X_EXPORT void XkbHandleBell(BOOL /* force */ ,
599 BOOL /* eventOnly */ ,
600 DeviceIntPtr /* kbd */ ,
601 CARD8 /* percent */ ,
602 pointer /* ctrl */ ,
603 CARD8 /* class */ ,
604 Atom /* name */ ,
605 WindowPtr /* pWin */ ,
606 ClientPtr /* pClient */
607 );
608
609extern _X_EXPORT void XkbSendAccessXNotify(DeviceIntPtr /* kbd */ ,
610 xkbAccessXNotify * /* pEv */
611 );
612
613extern _X_EXPORT void XkbSendNamesNotify(DeviceIntPtr /* kbd */ ,
614 xkbNamesNotify * /* ev */
615 );
616
617extern _X_EXPORT void XkbSendActionMessage(DeviceIntPtr /* kbd */ ,
618 xkbActionMessage * /* ev */
619 );
620
621extern _X_EXPORT void XkbSendExtensionDeviceNotify(DeviceIntPtr /* kbd */ ,
622 ClientPtr /* client */ ,
623 xkbExtensionDeviceNotify * /* ev */
624 );
625
626extern _X_EXPORT void XkbSendNotification(DeviceIntPtr /* kbd */ ,
627 XkbChangesPtr /* pChanges */ ,
628 XkbEventCausePtr /* cause */
629 );
630
631extern _X_EXPORT void XkbProcessKeyboardEvent(DeviceEvent * /* event */ ,
632 DeviceIntPtr /* keybd */
633 );
634
635extern _X_EXPORT void XkbHandleActions(DeviceIntPtr /* dev */ ,
636 DeviceIntPtr /* kbd */ ,
637 DeviceEvent * /* event */
638 );
639
640extern _X_EXPORT Bool XkbEnableDisableControls(XkbSrvInfoPtr /* xkbi */ ,
641 unsigned long /* change */ ,
642 unsigned long /* newValues */ ,
643 XkbChangesPtr /* changes */ ,
644 XkbEventCausePtr /* cause */
645 );
646
647extern _X_EXPORT void AccessXInit(DeviceIntPtr /* dev */
648 );
649
650extern _X_EXPORT Bool AccessXFilterPressEvent(DeviceEvent * /* event */ ,
651 DeviceIntPtr /* keybd */
652 );
653
654extern _X_EXPORT Bool AccessXFilterReleaseEvent(DeviceEvent * /* event */ ,
655 DeviceIntPtr /* keybd */
656 );
657
658extern _X_EXPORT void AccessXCancelRepeatKey(XkbSrvInfoPtr /* xkbi */ ,
659 KeyCode /* key */
660 );
661
662extern _X_EXPORT void AccessXComputeCurveFactor(XkbSrvInfoPtr /* xkbi */ ,
663 XkbControlsPtr /* ctrls */
664 );
665
666extern _X_EXPORT XkbInterestPtr XkbFindClientResource(DevicePtr /* inDev */ ,
667 ClientPtr /* client */
668 );
669
670extern _X_EXPORT XkbInterestPtr XkbAddClientResource(DevicePtr /* inDev */ ,
671 ClientPtr /* client */ ,
672 XID /* id */
673 );
674
675extern _X_EXPORT int XkbRemoveResourceClient(DevicePtr /* inDev */ ,
676 XID /* id */
677 );
678
679extern _X_EXPORT int XkbDDXAccessXBeep(DeviceIntPtr /* dev */ ,
680 unsigned int /* what */ ,
681 unsigned int /* which */
682 );
683
684extern _X_EXPORT int XkbDDXUsesSoftRepeat(DeviceIntPtr /* dev */
685 );
686
687extern _X_EXPORT void XkbDDXKeybdCtrlProc(DeviceIntPtr /* dev */ ,
688 KeybdCtrl * /* ctrl */
689 );
690
691extern _X_EXPORT void XkbDDXChangeControls(DeviceIntPtr /* dev */ ,
692 XkbControlsPtr /* old */ ,
693 XkbControlsPtr /* new */
694 );
695
696extern _X_EXPORT void XkbDDXUpdateDeviceIndicators(DeviceIntPtr /* dev */ ,
697 XkbSrvLedInfoPtr /* sli */ ,
698 CARD32 /* newState */
699 );
700
701extern _X_EXPORT int XkbDDXTerminateServer(DeviceIntPtr /* dev */ ,
702 KeyCode /* key */ ,
703 XkbAction * /* act */
704 );
705
706extern _X_EXPORT int XkbDDXSwitchScreen(DeviceIntPtr /* dev */ ,
707 KeyCode /* key */ ,
708 XkbAction * /* act */
709 );
710
711extern _X_EXPORT int XkbDDXPrivate(DeviceIntPtr /* dev */ ,
712 KeyCode /* key */ ,
713 XkbAction * /* act */
714 );
715
716extern _X_EXPORT void XkbDisableComputedAutoRepeats(DeviceIntPtr /* pXDev */ ,
717 unsigned int /* key */
718 );
719
720extern _X_EXPORT void XkbSetRepeatKeys(DeviceIntPtr /* pXDev */ ,
721 int /* key */ ,
722 int /* onoff */
723 );
724
725extern _X_EXPORT int XkbLatchModifiers(DeviceIntPtr /* pXDev */ ,
726 CARD8 /* mask */ ,
727 CARD8 /* latches */
728 );
729
730extern _X_EXPORT int XkbLatchGroup(DeviceIntPtr /* pXDev */ ,
731 int /* group */
732 );
733
734extern _X_EXPORT void XkbClearAllLatchesAndLocks(DeviceIntPtr /* dev */ ,
735 XkbSrvInfoPtr /* xkbi */ ,
736 Bool /* genEv */ ,
737 XkbEventCausePtr /* cause */
738 );
739
740extern _X_EXPORT void XkbGetRulesDflts(XkbRMLVOSet * /* rmlvo */
741 );
742
743extern _X_EXPORT void XkbFreeRMLVOSet(XkbRMLVOSet * /* rmlvo */ ,
744 Bool /* freeRMLVO */
745 );
746
747extern _X_EXPORT void XkbSetRulesDflts(XkbRMLVOSet * /* rmlvo */
748 );
749
750extern _X_EXPORT void XkbDeleteRulesDflts(void
751 );
752
753extern _X_EXPORT int SProcXkbDispatch(ClientPtr /* client */
754 );
755
756extern _X_EXPORT XkbGeometryPtr XkbLookupNamedGeometry(DeviceIntPtr /* dev */ ,
757 Atom /* name */ ,
758 Bool * /* shouldFree */
759 );
760
761extern _X_EXPORT void XkbConvertCase(KeySym /* sym */ ,
762 KeySym * /* lower */ ,
763 KeySym * /* upper */
764 );
765
766extern _X_EXPORT Status XkbChangeKeycodeRange(XkbDescPtr /* xkb */ ,
767 int /* minKC */ ,
768 int /* maxKC */ ,
769 XkbChangesPtr /* changes */
770 );
771
772extern _X_EXPORT void XkbFreeSrvLedInfo(XkbSrvLedInfoPtr /* sli */
773 );
774
775extern _X_EXPORT void XkbFreeInfo(XkbSrvInfoPtr /* xkbi */
776 );
777
778extern _X_EXPORT Status XkbChangeTypesOfKey(XkbDescPtr /* xkb */ ,
779 int /* key */ ,
780 int /* nGroups */ ,
781 unsigned int /* groups */ ,
782 int * /* newTypesIn */ ,
783 XkbMapChangesPtr /* changes */
784 );
785
786extern _X_EXPORT int XkbKeyTypesForCoreSymbols(XkbDescPtr /* xkb */ ,
787 int /* map_width */ ,
788 KeySym * /* core_syms */ ,
789 unsigned int /* protected */ ,
790 int * /* types_inout */ ,
791 KeySym * /* xkb_syms_rtrn */
792 );
793
794extern _X_EXPORT Bool XkbApplyCompatMapToKey(XkbDescPtr /* xkb */ ,
795 KeyCode /* key */ ,
796 XkbChangesPtr /* changes */
797 );
798
799extern _X_EXPORT Bool XkbApplyVirtualModChanges(XkbDescPtr /* xkb */ ,
800 unsigned int /* changed */ ,
801 XkbChangesPtr /* changes */
802 );
803
804extern _X_EXPORT void XkbSendNewKeyboardNotify(DeviceIntPtr /* kbd */ ,
805 xkbNewKeyboardNotify * /* pNKN */
806 );
807
808extern Bool XkbCopyKeymap(XkbDescPtr /* dst */ ,
809 XkbDescPtr /* src */ );
810
811extern _X_EXPORT Bool XkbCopyDeviceKeymap(DeviceIntPtr /* dst */ ,
812 DeviceIntPtr /* src */ );
813
814extern void XkbFilterEvents(ClientPtr /* pClient */ ,
815 int /* nEvents */ ,
816 xEvent * /* xE */ );
817
818extern int XkbGetEffectiveGroup(XkbSrvInfoPtr /* xkbi */ ,
819 XkbStatePtr /* xkbstate */ ,
820 CARD8 /* keycode */ );
821
822extern void XkbMergeLockedPtrBtns(DeviceIntPtr /* master */ );
823
824extern void XkbFakeDeviceButton(DeviceIntPtr /* dev */ ,
825 int /* press */ ,
826 int /* button */ );
827
828#include "xkbfile.h"
829#include "xkbrules.h"
830
831#define _XkbListKeycodes 0
832#define _XkbListTypes 1
833#define _XkbListCompat 2
834#define _XkbListSymbols 3
835#define _XkbListGeometry 4
836#define _XkbListNumComponents 5
837
838typedef struct _XkbSrvListInfo {
839 int szPool;
840 int nPool;
841 char *pool;
842
843 int maxRtrn;
844 int nTotal;
845
846 char *pattern[_XkbListNumComponents];
847 int nFound[_XkbListNumComponents];
848} XkbSrvListInfoRec, *XkbSrvListInfoPtr;
849
850extern _X_EXPORT Status XkbDDXList(DeviceIntPtr /* dev */ ,
851 XkbSrvListInfoPtr /* listing */ ,
852 ClientPtr /* client */
853 );
854
855extern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames(DeviceIntPtr /* keybd */ ,
856 XkbComponentNamesPtr
857 /* names */ ,
858 unsigned int /* want */ ,
859 unsigned int /* need */ ,
860 XkbDescPtr *
861 /* finfoRtrn */ ,
862 char *
863 /* keymapNameRtrn */ ,
864 int /* keymapNameRtrnLen */
865 );
866
867extern _X_EXPORT Bool XkbDDXNamesFromRules(DeviceIntPtr /* keybd */ ,
868 char * /* rules */ ,
869 XkbRF_VarDefsPtr /* defs */ ,
870 XkbComponentNamesPtr /* names */
871 );
872
873extern _X_EXPORT XkbDescPtr XkbCompileKeymap(DeviceIntPtr /* dev */ ,
874 XkbRMLVOSet * /* rmlvo */
875 );
876
877#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