45e9809aff7304721fddb95654901b32195c9c7avboxsync/************************************************************
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCopyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPermission to use, copy, modify, and distribute this
45e9809aff7304721fddb95654901b32195c9c7avboxsyncsoftware and its documentation for any purpose and without
45e9809aff7304721fddb95654901b32195c9c7avboxsyncfee is hereby granted, provided that the above copyright
45e9809aff7304721fddb95654901b32195c9c7avboxsyncnotice appear in all copies and that both that copyright
45e9809aff7304721fddb95654901b32195c9c7avboxsyncnotice and this permission notice appear in supporting
45e9809aff7304721fddb95654901b32195c9c7avboxsyncdocumentation, and that the name of Silicon Graphics not be
45e9809aff7304721fddb95654901b32195c9c7avboxsyncused in advertising or publicity pertaining to distribution
45e9809aff7304721fddb95654901b32195c9c7avboxsyncof the software without specific prior written permission.
45e9809aff7304721fddb95654901b32195c9c7avboxsyncSilicon Graphics makes no representation about the suitability
45e9809aff7304721fddb95654901b32195c9c7avboxsyncof this software for any purpose. It is provided "as is"
45e9809aff7304721fddb95654901b32195c9c7avboxsyncwithout any express or implied warranty.
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
45e9809aff7304721fddb95654901b32195c9c7avboxsyncSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
45e9809aff7304721fddb95654901b32195c9c7avboxsyncAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
45e9809aff7304721fddb95654901b32195c9c7avboxsyncGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
45e9809aff7304721fddb95654901b32195c9c7avboxsyncDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
45e9809aff7304721fddb95654901b32195c9c7avboxsyncDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
45e9809aff7304721fddb95654901b32195c9c7avboxsyncOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
45e9809aff7304721fddb95654901b32195c9c7avboxsyncTHE USE OR PERFORMANCE OF THIS SOFTWARE.
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync********************************************************/
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifndef _XKBSRV_H_
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XKBSRV_H_
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifdef XKB_IN_SERVER
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAllocClientMap SrvXkbAllocClientMap
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAllocServerMap SrvXkbAllocServerMap
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbFreeClientMap SrvXkbFreeClientMap
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbFreeServerMap SrvXkbFreeServerMap
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbResizeKeyActions SrvXkbResizeKeyActions
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbResizeKeySyms SrvXkbResizeKeySyms
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbResizeKeyType SrvXkbResizeKeyType
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAllocCompatMap SrvXkbAllocCompatMap
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAllocControls SrvXkbAllocControls
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAllocKeyboard SrvXkbAllocKeyboard
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAllocNames SrvXkbAllocNames
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbFreeCompatMap SrvXkbFreeCompatMap
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbFreeKeyboard SrvXkbFreeKeyboard
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbFreeNames SrvXkbFreeNames
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbLatchModifiers SrvXkbLatchModifiers
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbLatchGroup SrvXkbLatchGroup
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include <X11/extensions/XKBstr.h>
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include <X11/extensions/XKBproto.h>
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "inputstr.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _XkbInterest {
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr dev;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr client;
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID resource;
45e9809aff7304721fddb95654901b32195c9c7avboxsync struct _XkbInterest * next;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 extDevNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 stateNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 namesNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 ctrlsNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 compatNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync BOOL bellNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync BOOL actionMessageMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 accessXNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 iStateNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 iMapNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 altSymsNotifyMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 autoCtrls;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 autoCtrlValues;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} XkbInterestRec,*XkbInterestPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _XkbRadioGroup {
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 flags;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 nMembers;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 dfltDown;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 currentDown;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 members[XkbRGMaxMembers];
45e9809aff7304721fddb95654901b32195c9c7avboxsync} XkbRadioGroupRec, *XkbRadioGroupPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _XkbEventCause {
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 kc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 event;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 mjr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 mnr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr client;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} XkbEventCauseRec,*XkbEventCausePtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
45e9809aff7304721fddb95654901b32195c9c7avboxsync (c)->mjr= (c)->mnr= 0; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync (c)->client= NULL; }
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
45e9809aff7304721fddb95654901b32195c9c7avboxsync (c)->mjr= (j),(c)->mnr= (n);\
45e9809aff7304721fddb95654901b32195c9c7avboxsync (c)->client= (cl); }
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _OFF_TIMER 0
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _KRG_WARN_TIMER 1
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _KRG_TIMER 2
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _SK_TIMEOUT_TIMER 3
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _ALL_TIMEOUT_TIMER 4
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_NONE 0
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_FEATURE_ON 1
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_FEATURE_OFF 2
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_FEATURE_CHANGE 3
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_SLOW_WARN 4
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_SLOW_PRESS 5
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_SLOW_ACCEPT 6
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_SLOW_REJECT 7
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_SLOW_RELEASE 8
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_STICKY_LATCH 9
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_STICKY_LOCK 10
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_STICKY_UNLOCK 11
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_LED_ON 12
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_LED_OFF 13
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_LED_CHANGE 14
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _BEEP_BOUNCE_REJECT 15
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncstruct _XkbSrvInfo; /* definition see below */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _XkbFilter {
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 keycode;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 what;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 active;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 filterOthers;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 priv;
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbAction upAction;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int (*filter)(
45e9809aff7304721fddb95654901b32195c9c7avboxsync struct _XkbSrvInfo* /* xkbi */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync struct _XkbFilter * /* filter */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned /* keycode */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbAction * /* action */
45e9809aff7304721fddb95654901b32195c9c7avboxsync );
45e9809aff7304721fddb95654901b32195c9c7avboxsync struct _XkbFilter *next;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} XkbFilterRec,*XkbFilterPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _XkbSrvInfo {
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbStateRec prev_state;
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbStateRec state;
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr desc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr device;
45e9809aff7304721fddb95654901b32195c9c7avboxsync KbdCtrlProcPtr kbdProc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbRadioGroupPtr radioGroups;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 nRadioGroups;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 clearMods;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 setMods;
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 groupChange;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 dfltPtrDelta;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync double mouseKeysCurve;
45e9809aff7304721fddb95654901b32195c9c7avboxsync double mouseKeysCurveFactor;
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 mouseKeysDX;
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 mouseKeysDY;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 mouseKeysFlags;
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool mouseKeysAccel;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 mouseKeysCounter;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 lockedPtrButtons;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 shiftKeyCount;
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode mouseKey;
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode inactiveKey;
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode slowKey;
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode repeatKey;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 krgTimerActive;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 beepType;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 beepCount;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 flags;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 lastPtrEventTime;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 lastShiftEventTime;
45e9809aff7304721fddb95654901b32195c9c7avboxsync OsTimerPtr beepTimer;
45e9809aff7304721fddb95654901b32195c9c7avboxsync OsTimerPtr mouseKeyTimer;
45e9809aff7304721fddb95654901b32195c9c7avboxsync OsTimerPtr slowKeysTimer;
45e9809aff7304721fddb95654901b32195c9c7avboxsync OsTimerPtr bounceKeysTimer;
45e9809aff7304721fddb95654901b32195c9c7avboxsync OsTimerPtr repeatKeyTimer;
45e9809aff7304721fddb95654901b32195c9c7avboxsync OsTimerPtr krgTimer;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync int szFilters;
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbFilterPtr filters;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} XkbSrvInfoRec, *XkbSrvInfoPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbSLI_IsDefault (1L<<0)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbSLI_HasOwnState (1L<<1)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _XkbSrvLedInfo {
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 flags;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 class;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 id;
45e9809aff7304721fddb95654901b32195c9c7avboxsync union {
45e9809aff7304721fddb95654901b32195c9c7avboxsync KbdFeedbackPtr kf;
45e9809aff7304721fddb95654901b32195c9c7avboxsync LedFeedbackPtr lf;
45e9809aff7304721fddb95654901b32195c9c7avboxsync } fb;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 physIndicators;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 autoState;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 explicitState;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 effectiveState;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 mapsPresent;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 namesPresent;
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbIndicatorMapPtr maps;
45e9809aff7304721fddb95654901b32195c9c7avboxsync Atom * names;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 usesBase;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 usesLatched;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 usesLocked;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 usesEffective;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 usesCompat;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 usesControls;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 usedComponents;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Settings for xkbClientFlags field (used by DIX)
45e9809aff7304721fddb95654901b32195c9c7avboxsync * These flags _must_ not overlap with XkbPCF_*
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbClientInitialized (1<<15)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbWantsDetectableAutoRepeat(c)\
45e9809aff7304721fddb95654901b32195c9c7avboxsync ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Settings for flags field
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbStateNotifyInProgress (1<<0)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct
45e9809aff7304721fddb95654901b32195c9c7avboxsync{
45e9809aff7304721fddb95654901b32195c9c7avboxsync ProcessInputProc processInputProc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync /* If processInputProc is set to something different than realInputProc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync * UNWRAP and COND_WRAP will not touch processInputProc and update only
45e9809aff7304721fddb95654901b32195c9c7avboxsync * realInputProc. This ensures that
45e9809aff7304721fddb95654901b32195c9c7avboxsync * processInputProc == (frozen ? EnqueueEvent : realInputProc)
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * WRAP_PROCESS_INPUT_PROC should only be called during initialization,
45e9809aff7304721fddb95654901b32195c9c7avboxsync * since it may destroy this invariant.
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync ProcessInputProc realInputProc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceUnwrapProc unwrapProc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} xkbDeviceInfoRec, *xkbDeviceInfoPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->public.processInputProc = proc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync oldprocs->processInputProc = \
45e9809aff7304721fddb95654901b32195c9c7avboxsync oldprocs->realInputProc = device->public.realInputProc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->public.realInputProc = proc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync oldprocs->unwrapProc = device->unwrapProc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->unwrapProc = unwrapproc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync if (device->public.processInputProc == device->public.realInputProc)\
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->public.processInputProc = proc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync oldprocs->processInputProc = \
45e9809aff7304721fddb95654901b32195c9c7avboxsync oldprocs->realInputProc = device->public.realInputProc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->public.realInputProc = proc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync oldprocs->unwrapProc = device->unwrapProc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->unwrapProc = unwrapproc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync backupproc = device->public.realInputProc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync if (device->public.processInputProc == device->public.realInputProc)\
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->public.processInputProc = oldprocs->realInputProc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->public.realInputProc = oldprocs->realInputProc; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync device->unwrapProc = oldprocs->unwrapProc;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int xkbDevicePrivateIndex;
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr) (dev)->devPrivates[xkbDevicePrivateIndex].ptr)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, pointer);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/***====================================================================***/
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/***====================================================================***/
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAllFilteredEventsMask \
45e9809aff7304721fddb95654901b32195c9c7avboxsync (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync/***====================================================================***/
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbReqCode;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbEventBase;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbDisableLockActions;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern char * XkbBaseDirectory;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern char * XkbBinDirectory;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern char * XkbInitialMap;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern unsigned int XkbXIUnsupported;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool noXkbExtension;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern pointer XkbLastRepeatEvent;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern CARD32 xkbDebugFlags;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbAlloc(s) xalloc((s))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbCalloc(n,s) Xcalloc((n)*(s))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbRealloc(o,s) Xrealloc((o),(s))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbTypedAlloc(t) ((t *)xalloc(sizeof(t)))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n)*sizeof(t)))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbTypedRealloc(o,n,t) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync ((o)?(t *)Xrealloc((o),(n)*sizeof(t)):_XkbTypedCalloc(n,t))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbClearElems(a,f,l,t) bzero(&(a)[f],((l)-(f)+1)*sizeof(t))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbFree(p) Xfree(p)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbLibError(c,l,d) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync { _XkbErrCode= (c); _XkbErrLocation= (l); _XkbErrData= (d); }
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int DeviceKeyPress,DeviceKeyRelease,DeviceMotionNotify;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int DeviceButtonPress,DeviceButtonRelease;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int DeviceEnterNotify,DeviceLeaveNotify;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifdef XINPUT
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#else
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbIsPressEvent(t) ((t)==KeyPress)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbIsReleaseEvent(t) ((t)==KeyRelease)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbCoreKeycodeInRange(c,k) (((k)>=(c)->curKeySyms.minKeyCode)&&\
45e9809aff7304721fddb95654901b32195c9c7avboxsync ((k)<=(c)->curKeySyms.maxKeyCode))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbCoreNumKeys(c) ((c)->curKeySyms.maxKeyCode-\
45e9809aff7304721fddb95654901b32195c9c7avboxsync (c)->curKeySyms.minKeyCode+1)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XConvertCase(s,l,u) XkbConvertCase(s,l,u)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#undef IsKeypadKey
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define IsKeypadKey(s) XkbKSIsKeypad(s)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define Status int
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XPointer pointer
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define Display struct _XDisplay
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifndef True
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define True 1
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define False 0
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifndef PATH_MAX
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifdef MAXPATHLEN
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PATH_MAX MAXPATHLEN
45e9809aff7304721fddb95654901b32195c9c7avboxsync#else
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PATH_MAX 1024
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync_XFUNCPROTOBEGIN
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbUseMsg(
45e9809aff7304721fddb95654901b32195c9c7avboxsync void
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbProcessArguments(
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* argc */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char ** /* argv */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* i */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbFreeCompatMap(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* freeMap */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbFreeNames(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* freeMap */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern DeviceIntPtr _XkbLookupAnyDevice(
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* id */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int * /* why_rtrn */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern DeviceIntPtr _XkbLookupKeyboard(
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* id */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int * /* why_rtrn */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern DeviceIntPtr _XkbLookupBellDevice(
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* id */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int * /* why_rtrn */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern DeviceIntPtr _XkbLookupLedDevice(
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* id */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int * /* why_rtrn */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern DeviceIntPtr _XkbLookupButtonDevice(
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* id */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int * /* why_rtrn */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern XkbDescPtr XkbAllocKeyboard(
45e9809aff7304721fddb95654901b32195c9c7avboxsync void
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbAllocClientMap(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* nTypes */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbAllocServerMap(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* nNewActions */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbFreeClientMap(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* what */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* freeMap */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbFreeServerMap(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* what */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* freeMap */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbAllocIndicatorMaps(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbAllocCompatMap(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* nInterpret */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbAllocNames(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* nTotalRG */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* nTotalAliases */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbAllocControls(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which*/
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbCopyKeyTypes(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbKeyTypePtr /* from */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbKeyTypePtr /* into */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* num_types */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbResizeKeyType(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* type_ndx */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* map_count */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* want_preserve */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* new_num_lvls */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbFreeKeyboard(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* freeDesc */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSetActionKeyMods(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbAction * /* act */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* mods */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool XkbCheckActionVMods(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbAction * /* act */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* changed */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern unsigned int XkbMaskForVMask(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* vmask */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool XkbVirtualModsToReal(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* virtua_mask */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int * /* mask_rtrn */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern unsigned int XkbAdjustGroup(
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* group */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbControlsPtr /* ctrls */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern KeySym *XkbResizeKeySyms(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* key */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* needed */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern XkbAction *XkbResizeKeyActions(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* key */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* needed */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbUpdateKeyTypesFromCore(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* first */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* num */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* pChanges */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbUpdateDescActions(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* first */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* num */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbUpdateActions(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* first */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* num */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* pChanges */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int * /* needChecksRtrn */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbUpdateCoreDescription(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* keybd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* resize */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbApplyMappingChange(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* request */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* firstKey */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* num */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr /* client */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSetIndicators(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 /* affect */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 /* values */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbUpdateIndicators(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* keybd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 /* changed */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* check_edevs */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* pChanges */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KbdFeedbackPtr /* kf */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync LedFeedbackPtr /* lf */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* needed_parts */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern XkbSrvLedInfoPtr XkbFindSrvLedInfo(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* class */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* id */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* needed_parts */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbApplyLedNameChanges(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvLedInfoPtr /* sli */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* changed_names */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbExtensionDeviceNotify * /* ed */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbApplyLedMapChanges(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvLedInfoPtr /* sli */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* changed_maps */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbExtensionDeviceNotify * /* ed */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbApplyLedStateChanges(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvLedInfoPtr /* sli */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* changed_leds */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbExtensionDeviceNotify * /* ed */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbFlushLedEvents(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvLedInfoPtr /* sli */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbExtensionDeviceNotify * /* ed */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern unsigned int XkbIndicatorsToUpdate(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned long /* state_changes */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* enabled_ctrl_changes */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbComputeDerivedState(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvInfoPtr /* xkbi */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbCheckSecondaryEffects(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvInfoPtr /* xkbi */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbCheckIndicatorMaps(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvLedInfoPtr /* sli */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern unsigned int XkbStateChangedFlags(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbStatePtr /* old */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbStatePtr /* new */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendStateNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbStateNotify * /* pSN */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendMapNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbMapNotify * /* ev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbComputeControlsNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbControlsPtr /* old */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbControlsPtr /* new */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbControlsNotify * /* pCN */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* forceCtrlProc */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendControlsNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbControlsNotify * /* ev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendCompatMapNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbCompatMapNotify * /* ev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbHandleBell(
45e9809aff7304721fddb95654901b32195c9c7avboxsync BOOL /* force */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync BOOL /* eventOnly */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* percent */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync pointer /* ctrl */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* class */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Atom /* name */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync WindowPtr /* pWin */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr /* pClient */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendAccessXNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbAccessXNotify * /* pEv */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendNamesNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbNamesNotify * /* ev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendCompatNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbCompatMapNotify * /* ev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendActionMessage(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbActionMessage * /* ev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendExtensionDeviceNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr /* client */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbExtensionDeviceNotify * /* ev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendNotification(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* pChanges */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbProcessKeyboardEvent(
45e9809aff7304721fddb95654901b32195c9c7avboxsync struct _xEvent * /* xE */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* keybd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* count */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbHandleActions(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync struct _xEvent * /* xE */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* count */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool XkbEnableDisableControls(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvInfoPtr /* xkbi */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned long /* change */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned long /* newValues */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void AccessXInit(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool AccessXFilterPressEvent(
45e9809aff7304721fddb95654901b32195c9c7avboxsync register struct _xEvent * /* xE */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync register DeviceIntPtr /* keybd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* count */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool AccessXFilterReleaseEvent(
45e9809aff7304721fddb95654901b32195c9c7avboxsync register struct _xEvent * /* xE */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync register DeviceIntPtr /* keybd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* count */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void AccessXCancelRepeatKey(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvInfoPtr /* xkbi */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* key */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void AccessXComputeCurveFactor(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvInfoPtr /* xkbi */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbControlsPtr /* ctrls */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern XkbInterestPtr XkbFindClientResource(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DevicePtr /* inDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr /* client */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern XkbInterestPtr XkbAddClientResource(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DevicePtr /* inDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr /* client */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID /* id */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbRemoveResourceClient(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DevicePtr /* inDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID /* id */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbDDXInitDevice(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbDDXAccessXBeep(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* what */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* which */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbDDXKeyClick(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* keycode */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* synthetic */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbDDXUsesSoftRepeat(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbDDXKeybdCtrlProc(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeybdCtrl * /* ctrl */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbDDXChangeControls(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbControlsPtr /* old */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbControlsPtr /* new */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbDDXUpdateDeviceIndicators(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvLedInfoPtr /* sli */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 /* newState */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbDDXFakePointerButton(
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* event */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* button */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbDDXFakePointerMotion(
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* flags */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* x */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* y */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbDDXFakeDeviceButton(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* press */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* button */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbDDXTerminateServer(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* key */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbAction * /* act */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbDDXSwitchScreen(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* key */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbAction * /* act */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbDDXPrivate(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* key */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbAction * /* act */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbDisableComputedAutoRepeats(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* key */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSetRepeatKeys(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* key */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* onoff */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbLatchModifiers(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* mask */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* latches */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbLatchGroup(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* group */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbClearAllLatchesAndLocks(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvInfoPtr /* xkbi */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool /* genEv */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbEventCausePtr /* cause */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSetRulesDflts(
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* rulesFile */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* model */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* layout */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* variant */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* options */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbInitDevice(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool XkbInitKeyboardDeviceStruct(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbComponentNamesPtr /* pNames */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeySymsPtr /* pSyms */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD8 /* pMods */[],
45e9809aff7304721fddb95654901b32195c9c7avboxsync BellProcPtr /* bellProc */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KbdCtrlProcPtr /* ctrlProc */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int SProcXkbDispatch(
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr /* client */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern XkbGeometryPtr XkbLookupNamedGeometry(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Atom /* name */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool * /* shouldFree */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern char * _XkbDupString(
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* str */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbConvertCase(
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeySym /* sym */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeySym * /* lower */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeySym * /* upper */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbChangeKeycodeRange(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* minKC */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* maxKC */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbFinishDeviceInit(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* pXDev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbFreeSrvLedInfo(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvLedInfoPtr /* sli */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbFreeInfo(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvInfoPtr /* xkbi */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbChangeTypesOfKey(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* key */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* nGroups */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* groups */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int * /* newTypesIn */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbMapChangesPtr /* changes */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int XkbKeyTypesForCoreSymbols(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* map_width */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeySym * /* core_syms */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* protected */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int * /* types_inout */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeySym * /* xkb_syms_rtrn */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool XkbApplyCompatMapToKey(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync KeyCode /* key */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool XkbApplyVirtualModChanges(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbDescPtr /* xkb */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* changed */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbChangesPtr /* changes */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern void XkbSendNewKeyboardNotify(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* kbd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xkbNewKeyboardNotify * /* pNKN */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifdef XKBSRV_NEED_FILE_FUNCS
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include <X11/extensions/XKMformat.h>
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include <X11/extensions/XKBfile.h>
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include <X11/extensions/XKBrules.h>
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbListKeymaps 0
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbListKeycodes 1
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbListTypes 2
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbListCompat 3
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbListSymbols 4
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbListGeometry 5
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _XkbListNumComponents 6
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _XkbSrvListInfo {
45e9809aff7304721fddb95654901b32195c9c7avboxsync int szPool;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nPool;
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * pool;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync int maxRtrn;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nTotal;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * pattern[_XkbListNumComponents];
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nFound[_XkbListNumComponents];
45e9809aff7304721fddb95654901b32195c9c7avboxsync} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Status XkbDDXList(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvListInfoPtr /* listing */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr /* client */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern unsigned int XkbDDXLoadKeymapByNames(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* keybd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbComponentNamesPtr /* names */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* want */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int /* need */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbFileInfoPtr /* finfoRtrn */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* keymapNameRtrn */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int /* keymapNameRtrnLen */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool XkbDDXNamesFromRules(
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* keybd */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* rules */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbRF_VarDefsPtr /* defs */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbComponentNamesPtr /* names */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern Bool XkbDDXApplyConfig(
45e9809aff7304721fddb95654901b32195c9c7avboxsync XPointer /* cfg_in */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbSrvInfoPtr /* xkbi */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern XPointer XkbDDXPreloadConfig(
45e9809aff7304721fddb95654901b32195c9c7avboxsync char ** /* rulesFileRtrn */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbRF_VarDefsPtr /* defs */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XkbComponentNamesPtr /* names */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync DeviceIntPtr /* dev */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int _XkbStrCaseCmp(
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* str1 */,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char * /* str2 */
45e9809aff7304721fddb95654901b32195c9c7avboxsync);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif /* XKBSRV_NEED_FILE_FUNCS */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync_XFUNCPROTOEND
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define XkbAtomGetString(d,s) NameForAtom(s)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif /* _XKBSRV_H_ */