f78b12e570284aa8291f4ca1add24937fd107403vboxsync/************************************************************
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncCopyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncPermission to use, copy, modify, and distribute this
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncsoftware and its documentation for any purpose and without
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncfee is hereby granted, provided that the above copyright
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncnotice appear in all copies and that both that copyright
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncnotice and this permission notice appear in supporting
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncdocumentation, and that the name of Silicon Graphics not be
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncused in advertising or publicity pertaining to distribution
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncof the software without specific prior written permission.
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncSilicon Graphics makes no representation about the suitability
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncof this software for any purpose. It is provided "as is"
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncwithout any express or implied warranty.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncTHE USE OR PERFORMANCE OF THIS SOFTWARE.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync********************************************************/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#ifndef _XKBSRV_H_
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XKBSRV_H_
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllocClientMap SrvXkbAllocClientMap
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllocServerMap SrvXkbAllocServerMap
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbFreeClientMap SrvXkbFreeClientMap
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbFreeServerMap SrvXkbFreeServerMap
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbResizeKeyActions SrvXkbResizeKeyActions
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbResizeKeySyms SrvXkbResizeKeySyms
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbResizeKeyType SrvXkbResizeKeyType
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllocCompatMap SrvXkbAllocCompatMap
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllocControls SrvXkbAllocControls
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllocKeyboard SrvXkbAllocKeyboard
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllocNames SrvXkbAllocNames
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbFreeCompatMap SrvXkbFreeCompatMap
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbFreeKeyboard SrvXkbFreeKeyboard
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbFreeNames SrvXkbFreeNames
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbLatchModifiers SrvXkbLatchModifiers
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbLatchGroup SrvXkbLatchGroup
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include <X11/extensions/XKBproto.h>
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "xkbstr.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "xkbrules.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "inputstr.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "events.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _XkbInterest {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr dev;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XID resource;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync struct _XkbInterest * next;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 extDevNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 stateNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 namesNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 ctrlsNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 compatNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync BOOL bellNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync BOOL actionMessageMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 accessXNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 iStateNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 iMapNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 altSymsNotifyMask;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 autoCtrls;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 autoCtrlValues;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XkbInterestRec,*XkbInterestPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _XkbRadioGroup {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 flags;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 nMembers;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 dfltDown;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 currentDown;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 members[XkbRGMaxMembers];
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XkbRadioGroupRec, *XkbRadioGroupPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _XkbEventCause {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 kc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 event;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 mjr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 mnr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XkbEventCauseRec,*XkbEventCausePtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync (c)->mjr= (c)->mnr= 0; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync (c)->client= NULL; }
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync (c)->mjr= (j),(c)->mnr= (n);\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync (c)->client= (cl); }
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _OFF_TIMER 0
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _KRG_WARN_TIMER 1
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _KRG_TIMER 2
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _SK_TIMEOUT_TIMER 3
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _ALL_TIMEOUT_TIMER 4
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_NONE 0
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_FEATURE_ON 1
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_FEATURE_OFF 2
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_FEATURE_CHANGE 3
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_SLOW_WARN 4
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_SLOW_PRESS 5
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_SLOW_ACCEPT 6
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_SLOW_REJECT 7
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_SLOW_RELEASE 8
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_STICKY_LATCH 9
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_STICKY_LOCK 10
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_STICKY_UNLOCK 11
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_LED_ON 12
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_LED_OFF 13
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_LED_CHANGE 14
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _BEEP_BOUNCE_REJECT 15
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _XkbFilter {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 keycode;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 what;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 active;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 filterOthers;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 priv;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbAction upAction;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int (*filter)(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync struct _XkbSrvInfo* /* xkbi */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync struct _XkbFilter * /* filter */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned /* keycode */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbAction * /* action */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync );
f78b12e570284aa8291f4ca1add24937fd107403vboxsync struct _XkbFilter *next;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XkbFilterRec,*XkbFilterPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _XkbSrvInfo {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbStateRec prev_state;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbStateRec state;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr desc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr device;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KbdCtrlProcPtr kbdProc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbRadioGroupPtr radioGroups;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 nRadioGroups;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 clearMods;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 setMods;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync INT16 groupChange;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 dfltPtrDelta;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync double mouseKeysCurve;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync double mouseKeysCurveFactor;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync INT16 mouseKeysDX;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync INT16 mouseKeysDY;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 mouseKeysFlags;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool mouseKeysAccel;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 mouseKeysCounter;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 lockedPtrButtons;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 shiftKeyCount;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode mouseKey;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode inactiveKey;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode slowKey;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode repeatKey;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 krgTimerActive;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 beepType;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 beepCount;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 flags;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 lastPtrEventTime;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 lastShiftEventTime;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync OsTimerPtr beepTimer;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync OsTimerPtr mouseKeyTimer;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync OsTimerPtr slowKeysTimer;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync OsTimerPtr bounceKeysTimer;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync OsTimerPtr repeatKeyTimer;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync OsTimerPtr krgTimer;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int szFilters;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbFilterPtr filters;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XkbSrvInfoRec, *XkbSrvInfoPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSLI_IsDefault (1L<<0)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSLI_HasOwnState (1L<<1)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _XkbSrvLedInfo {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 flags;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 class;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD16 id;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync union {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KbdFeedbackPtr kf;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync LedFeedbackPtr lf;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync } fb;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 physIndicators;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 autoState;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 explicitState;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 effectiveState;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 mapsPresent;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 namesPresent;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbIndicatorMapPtr maps;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Atom * names;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 usesBase;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 usesLatched;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 usesLocked;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 usesEffective;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 usesCompat;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 usesControls;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 usedComponents;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/*
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Settings for xkbClientFlags field (used by DIX)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * These flags _must_ not overlap with XkbPCF_*
f78b12e570284aa8291f4ca1add24937fd107403vboxsync */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbClientInitialized (1<<15)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbWantsDetectableAutoRepeat(c)\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/*
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Settings for flags field
f78b12e570284aa8291f4ca1add24937fd107403vboxsync */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbStateNotifyInProgress (1<<0)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct
f78b12e570284aa8291f4ca1add24937fd107403vboxsync{
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ProcessInputProc processInputProc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync /* If processInputProc is set to something different than realInputProc,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * UNWRAP and COND_WRAP will not touch processInputProc and update only
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * realInputProc. This ensures that
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * processInputProc == (frozen ? EnqueueEvent : realInputProc)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * WRAP_PROCESS_INPUT_PROC should only be called during initialization,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * since it may destroy this invariant.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ProcessInputProc realInputProc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceUnwrapProc unwrapProc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} xkbDeviceInfoRec, *xkbDeviceInfoPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->public.processInputProc = proc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync oldprocs->processInputProc = \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync oldprocs->realInputProc = device->public.realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->public.realInputProc = proc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync oldprocs->unwrapProc = device->unwrapProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->unwrapProc = unwrapproc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync if (device->public.processInputProc == device->public.realInputProc)\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->public.processInputProc = proc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync oldprocs->processInputProc = \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync oldprocs->realInputProc = device->public.realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->public.realInputProc = proc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync oldprocs->unwrapProc = device->unwrapProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->unwrapProc = unwrapproc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync backupproc = device->public.realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync if (device->public.processInputProc == device->public.realInputProc)\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->public.processInputProc = oldprocs->realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->public.realInputProc = oldprocs->realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->unwrapProc = oldprocs->unwrapProc;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT DevPrivateKeyRec xkbDevicePrivateKeyRec;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define xkbDevicePrivateKey (&xkbDevicePrivateKeyRec)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr)dixLookupPrivate(&(dev)->devPrivates, xkbDevicePrivateKey))
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, pointer);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/***====================================================================***/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/***====================================================================***/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllFilteredEventsMask \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/***====================================================================***/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbReqCode;
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbEventBase;
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbKeyboardErrorCode;
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT char * XkbBaseDirectory;
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT char * XkbBinDirectory;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT CARD32 xkbDebugFlags;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbLibError(c,l,d) /* Epoch fail */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int DeviceKeyPress,DeviceKeyRelease,DeviceMotionNotify;
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int DeviceButtonPress,DeviceButtonRelease;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define Status int
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbUseMsg(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync void
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbProcessArguments(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* argc */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync char ** /* argv */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* i */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool XkbInitPrivates(void);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeCompatMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* freeMap */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeNames(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* freeMap */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int _XkbLookupAnyDevice(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr *pDev,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int id,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Mask access_mode,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int *xkb_err
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int _XkbLookupKeyboard(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr *pDev,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int id,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Mask access_mode,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int *xkb_err
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int _XkbLookupBellDevice(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr *pDev,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int id,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Mask access_mode,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int *xkb_err
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int _XkbLookupLedDevice(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr *pDev,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int id,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Mask access_mode,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int *xkb_err
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int _XkbLookupButtonDevice(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr *pDev,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int id,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Mask access_mode,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int *xkb_err
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbDescPtr XkbAllocKeyboard(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync void
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbAllocClientMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* nTypes */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbAllocServerMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* nNewActions */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeClientMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* what */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* freeMap */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeServerMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* what */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* freeMap */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbAllocIndicatorMaps(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbAllocCompatMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* nInterpret */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbAllocNames(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* nTotalRG */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* nTotalAliases */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbAllocControls(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which*/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbCopyKeyTypes(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbKeyTypePtr /* from */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbKeyTypePtr /* into */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* num_types */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbResizeKeyType(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* type_ndx */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* map_count */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* want_preserve */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* new_num_lvls */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeKeyboard(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* freeDesc */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeComponentNames(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbComponentNamesPtr /* names */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* freeNames */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSetActionKeyMods(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbAction * /* act */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* mods */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT unsigned int XkbMaskForVMask(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* vmask */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool XkbVirtualModsToReal(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* virtua_mask */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int * /* mask_rtrn */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT unsigned int XkbAdjustGroup(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* group */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbControlsPtr /* ctrls */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT KeySym *XkbResizeKeySyms(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* needed */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbAction *XkbResizeKeyActions(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* needed */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbUpdateKeyTypesFromCore(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* pXDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeySymsPtr /* syms */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* first */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* num */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* pChanges */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbUpdateDescActions(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* first */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* num */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbUpdateActions(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* pXDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* first */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* num */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* pChanges */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int * /* needChecksRtrn */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT KeySymsPtr XkbGetCoreMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* keybd */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbApplyMappingChange(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* pXDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeySymsPtr /* map */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* firstKey */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* num */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 * /* modmap */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr /* client */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSetIndicators(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* pXDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 /* affect */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 /* values */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbUpdateIndicators(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* keybd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 /* changed */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* check_edevs */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* pChanges */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KbdFeedbackPtr /* kf */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync LedFeedbackPtr /* lf */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* needed_parts */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbSrvLedInfoPtr XkbCopySrvLedInfo(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvLedInfoPtr /* src */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KbdFeedbackPtr /* kf */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync LedFeedbackPtr /* lf */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbSrvLedInfoPtr XkbFindSrvLedInfo(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* class */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* id */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* needed_parts */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbApplyLedNameChanges(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvLedInfoPtr /* sli */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* changed_names */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbExtensionDeviceNotify * /* ed */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbApplyLedMapChanges(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvLedInfoPtr /* sli */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* changed_maps */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbExtensionDeviceNotify * /* ed */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbApplyLedStateChanges(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvLedInfoPtr /* sli */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* changed_leds */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbExtensionDeviceNotify * /* ed */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFlushLedEvents(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvLedInfoPtr /* sli */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbExtensionDeviceNotify * /* ed */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT unsigned int XkbIndicatorsToUpdate(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned long /* state_changes */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* enabled_ctrl_changes */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbComputeDerivedState(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvInfoPtr /* xkbi */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbCheckSecondaryEffects(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvInfoPtr /* xkbi */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbCheckIndicatorMaps(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvLedInfoPtr /* sli */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT unsigned int XkbStateChangedFlags(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbStatePtr /* old */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbStatePtr /* new */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendStateNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbStateNotify * /* pSN */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendMapNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbMapNotify * /* ev */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbComputeControlsNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbControlsPtr /* old */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbControlsPtr /* new */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbControlsNotify * /* pCN */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* forceCtrlProc */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendControlsNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbControlsNotify * /* ev */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendCompatMapNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbCompatMapNotify * /* ev */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbHandleBell(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync BOOL /* force */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync BOOL /* eventOnly */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* percent */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync pointer /* ctrl */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* class */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Atom /* name */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync WindowPtr /* pWin */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr /* pClient */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendAccessXNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbAccessXNotify * /* pEv */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendNamesNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbNamesNotify * /* ev */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendActionMessage(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbActionMessage * /* ev */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendExtensionDeviceNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr /* client */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbExtensionDeviceNotify * /* ev */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendNotification(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* pChanges */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbProcessKeyboardEvent(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceEvent* /* event */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* keybd */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbHandleActions(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceEvent* /* event */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool XkbEnableDisableControls(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvInfoPtr /* xkbi */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned long /* change */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned long /* newValues */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void AccessXInit(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool AccessXFilterPressEvent(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceEvent* /* event */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* keybd */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool AccessXFilterReleaseEvent(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceEvent* /* event */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* keybd */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void AccessXCancelRepeatKey(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvInfoPtr /* xkbi */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* key */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void AccessXComputeCurveFactor(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvInfoPtr /* xkbi */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbControlsPtr /* ctrls */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbInterestPtr XkbFindClientResource(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DevicePtr /* inDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr /* client */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbInterestPtr XkbAddClientResource(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DevicePtr /* inDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr /* client */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XID /* id */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbRemoveResourceClient(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DevicePtr /* inDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XID /* id */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbDDXAccessXBeep(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* what */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbDDXUsesSoftRepeat(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbDDXKeybdCtrlProc(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeybdCtrl * /* ctrl */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbDDXChangeControls(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbControlsPtr /* old */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbControlsPtr /* new */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbDDXUpdateDeviceIndicators(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvLedInfoPtr /* sli */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD32 /* newState */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbDDXTerminateServer(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbAction * /* act */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbDDXSwitchScreen(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbAction * /* act */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbDDXPrivate(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbAction * /* act */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbDisableComputedAutoRepeats(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* pXDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* key */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSetRepeatKeys(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* pXDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* onoff */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbLatchModifiers(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* pXDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* mask */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* latches */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbLatchGroup(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* pXDev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* group */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbClearAllLatchesAndLocks(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvInfoPtr /* xkbi */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* genEv */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbEventCausePtr /* cause */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbGetRulesDflts(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbRMLVOSet * /* rmlvo */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeRMLVOSet(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbRMLVOSet * /* rmlvo */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /* freeRMLVO */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSetRulesDflts(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbRMLVOSet * /* rmlvo */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbDeleteRulesDflts(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync void
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int SProcXkbDispatch(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr /* client */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbGeometryPtr XkbLookupNamedGeometry(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Atom /* name */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool * /* shouldFree */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbConvertCase(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeySym /* sym */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeySym * /* lower */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeySym * /* upper */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbChangeKeycodeRange(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* minKC */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* maxKC */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeSrvLedInfo(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvLedInfoPtr /* sli */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbFreeInfo(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvInfoPtr /* xkbi */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbChangeTypesOfKey(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* nGroups */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* groups */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int * /* newTypesIn */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbMapChangesPtr /* changes */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int XkbKeyTypesForCoreSymbols(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* map_width */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeySym * /* core_syms */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* protected */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int * /* types_inout */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeySym * /* xkb_syms_rtrn */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool XkbApplyCompatMapToKey(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync KeyCode /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool XkbApplyVirtualModChanges(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* xkb */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* changed */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbChangesPtr /* changes */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSendNewKeyboardNotify(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* kbd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xkbNewKeyboardNotify * /* pNKN */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern Bool XkbCopyKeymap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* dst */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr /* src */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool XkbCopyDeviceKeymap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dst */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* src */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern void XkbFilterEvents(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr /* pClient */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* nEvents */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xEvent* /* xE */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern int XkbGetEffectiveGroup(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvInfoPtr /* xkbi */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbStatePtr /* xkbstate */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync CARD8 /* keycode */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern void XkbMergeLockedPtrBtns(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* master */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern void XkbFakeDeviceButton(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* press */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* button */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "xkbfile.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "xkbrules.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbListKeycodes 0
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbListTypes 1
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbListCompat 2
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbListSymbols 3
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbListGeometry 4
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbListNumComponents 5
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _XkbSrvListInfo {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int szPool;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int nPool;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync char * pool;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int maxRtrn;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int nTotal;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync char * pattern[_XkbListNumComponents];
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int nFound[_XkbListNumComponents];
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Status XkbDDXList(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbSrvListInfoPtr /* listing */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr /* client */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* keybd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbComponentNamesPtr /* names */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* want */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* need */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbDescPtr * /* finfoRtrn */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync char * /* keymapNameRtrn */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* keymapNameRtrnLen */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool XkbDDXNamesFromRules(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* keybd */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync char * /* rules */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbRF_VarDefsPtr /* defs */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbComponentNamesPtr /* names */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbDescPtr XkbCompileKeymap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DeviceIntPtr /* dev */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XkbRMLVOSet * /* rmlvo */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#endif /* _XKBSRV_H_ */