74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $Xorg: XKBsrv.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncCopyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncPermission to use, copy, modify, and distribute this
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncsoftware and its documentation for any purpose and without
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncfee is hereby granted, provided that the above copyright
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncnotice appear in all copies and that both that copyright
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncnotice and this permission notice appear in supporting
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncdocumentation, and that the name of Silicon Graphics not be
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncused in advertising or publicity pertaining to distribution
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncof the software without specific prior written permission.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncSilicon Graphics makes no representation about the suitability
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncof this software for any purpose. It is provided "as is"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncwithout any express or implied warranty.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncTHE USE OR PERFORMANCE OF THIS SOFTWARE.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync********************************************************/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $XFree86: xc/include/extensions/XKBsrv.h,v 3.22 2002/11/20 04:49:01 dawes Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef _XKBSRV_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XKBSRV_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef XKB_IN_SERVER
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllocClientMap SrvXkbAllocClientMap
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllocServerMap SrvXkbAllocServerMap
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAddKeyType SrvXkbAddKeyType
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbCopyKeyType SrvXkbCopyKeyType
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbFreeClientMap SrvXkbFreeClientMap
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbFreeServerMap SrvXkbFreeServerMap
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbInitCanonicalKeyTypes SrvXkbInitCanonicalKeyTypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbUpdateMapFromCore SrvXkbUpdateMapFromCore
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbResizeKeyActions SrvXkbResizeKeyActions
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbResizeKeySyms SrvXkbResizeKeySyms
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbResizeKeyType SrvXkbResizeKeyType
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllocCompatMap SrvXkbAllocCompatMap
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllocControls SrvXkbAllocControls
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllocKeyboard SrvXkbAllocKeyboard
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllocNames SrvXkbAllocNames
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbFreeCompatMap SrvXkbFreeCompatMap
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbFreeControls SrvXkbFreeControls
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbFreeIndicatorMaps SrvXkbFreeIndicatorMaps
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbFreeKeyboard SrvXkbFreeKeyboard
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbFreeNames SrvXkbFreeNames
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAddDeviceLedInfo SrvXkbAddDeviceLedInfo
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllocDeviceInfo SrvXkbAllocDeviceInfo
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbFreeDeviceInfo SrvXkbFreeDeviceInfo
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbResizeDeviceButtonActions SrvXkbResizeDeviceButtonActions
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbLatchModifiers SrvXkbLatchModifiers
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbLatchGroup SrvXkbLatchGroup
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbUpdateActionVirtualMods SrvXkbUpdateActionVirtualMods
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbUpdateKeyTypeVirtualMods SrvXkbUpdateKeyTypeVirtualMods
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/XKBstr.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/XKBproto.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include "inputstr.h"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct _XkbInterest {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr dev;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr client;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XID resource;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync struct _XkbInterest * next;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 extDevNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 stateNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 namesNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 ctrlsNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 compatNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BOOL bellNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BOOL actionMessageMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 accessXNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 iStateNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 iMapNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 altSymsNotifyMask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 autoCtrls;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 autoCtrlValues;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XkbInterestRec,*XkbInterestPtr;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct _XkbRadioGroup {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 flags;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 nMembers;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 dfltDown;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 currentDown;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 members[XkbRGMaxMembers];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XkbRadioGroupRec, *XkbRadioGroupPtr;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct _XkbEventCause {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 kc;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 event;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 mjr;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 mnr;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr client;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XkbEventCauseRec,*XkbEventCausePtr;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync (c)->mjr= (c)->mnr= 0; \
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync (c)->client= NULL; }
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync (c)->mjr= (j),(c)->mnr= (n);\
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync (c)->client= (cl); }
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _OFF_TIMER 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _KRG_WARN_TIMER 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _KRG_TIMER 2
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _SK_TIMEOUT_TIMER 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _ALL_TIMEOUT_TIMER 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_NONE 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_FEATURE_ON 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_FEATURE_OFF 2
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_FEATURE_CHANGE 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_SLOW_WARN 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_SLOW_PRESS 5
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_SLOW_ACCEPT 6
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_SLOW_REJECT 7
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_SLOW_RELEASE 8
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_STICKY_LATCH 9
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_STICKY_LOCK 10
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_STICKY_UNLOCK 11
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_LED_ON 12
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_LED_OFF 13
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_LED_CHANGE 14
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _BEEP_BOUNCE_REJECT 15
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct _XkbSrvInfo {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbStateRec prev_state;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbStateRec state;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr desc;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr device;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KbdCtrlProcPtr kbdProc;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbRadioGroupPtr radioGroups;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 nRadioGroups;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 clearMods;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 setMods;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync INT16 groupChange;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 dfltPtrDelta;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync double mouseKeysCurve;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync double mouseKeysCurveFactor;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync INT16 mouseKeysDX;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync INT16 mouseKeysDY;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 mouseKeysFlags;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool mouseKeysAccel;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 mouseKeysCounter;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 lockedPtrButtons;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 shiftKeyCount;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode mouseKey;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode inactiveKey;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode slowKey;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode repeatKey;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 krgTimerActive;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 beepType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 beepCount;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 flags;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 lastPtrEventTime;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 lastShiftEventTime;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync OsTimerPtr beepTimer;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync OsTimerPtr mouseKeyTimer;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync OsTimerPtr slowKeysTimer;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync OsTimerPtr bounceKeysTimer;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync OsTimerPtr repeatKeyTimer;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync OsTimerPtr krgTimer;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XkbSrvInfoRec, *XkbSrvInfoPtr;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbSLI_IsDefault (1L<<0)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbSLI_HasOwnState (1L<<1)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct _XkbSrvLedInfo {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 flags;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 class;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 id;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync union {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KbdFeedbackPtr kf;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync LedFeedbackPtr lf;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync } fb;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 physIndicators;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 autoState;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 explicitState;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 effectiveState;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 mapsPresent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 namesPresent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbIndicatorMapPtr maps;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom * names;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 usesBase;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 usesLatched;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 usesLocked;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 usesEffective;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 usesCompat;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 usesControls;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 usedComponents;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Settings for xkbClientFlags field (used by DIX)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * These flags _must_ not overlap with XkbPCF_*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbClientInitialized (1<<15)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbWantsDetectableAutoRepeat(c)\
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Settings for flags field
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbStateNotifyInProgress (1<<0)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/***====================================================================***/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAllFilteredEventsMask \
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/***====================================================================***/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbReqCode;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbEventBase;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbKeyboardErrorCode;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbDisableLockActions;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char * XkbBaseDirectory;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char * XkbInitialMap;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int _XkbClientMajor;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int _XkbClientMinor;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern unsigned int XkbXIUnsupported;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char * XkbModelUsed,*XkbLayoutUsed,*XkbVariantUsed,*XkbOptionsUsed;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool noXkbExtension;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbWantRulesProp;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern pointer XkbLastRepeatEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern CARD32 xkbDebugFlags;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern CARD32 xkbDebugCtrls;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbAlloc(s) xalloc((s))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbCalloc(n,s) Xcalloc((n)*(s))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbRealloc(o,s) Xrealloc((o),(s))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbTypedAlloc(t) ((t *)xalloc(sizeof(t)))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n)*sizeof(t)))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbTypedRealloc(o,n,t) \
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ((o)?(t *)Xrealloc((o),(n)*sizeof(t)):_XkbTypedCalloc(n,t))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbClearElems(a,f,l,t) bzero(&(a)[f],((l)-(f)+1)*sizeof(t))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbFree(p) Xfree(p)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbLibError(c,l,d) \
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _XkbErrCode= (c); _XkbErrLocation= (l); _XkbErrData= (d); }
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int DeviceKeyPress,DeviceKeyRelease;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int DeviceButtonPress,DeviceButtonRelease;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef XINPUT
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#else
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbIsPressEvent(t) ((t)==KeyPress)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbIsReleaseEvent(t) ((t)==KeyRelease)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbCoreKeycodeInRange(c,k) (((k)>=(c)->curKeySyms.minKeyCode)&&\
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ((k)<=(c)->curKeySyms.maxKeyCode))
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbCoreNumKeys(c) ((c)->curKeySyms.maxKeyCode-\
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync (c)->curKeySyms.minKeyCode+1)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XConvertCase(s,l,u) XkbConvertCase(s,l,u)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#undef IsKeypadKey
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define IsKeypadKey(s) XkbKSIsKeypad(s)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define Status int
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XPointer pointer
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define Display struct _XDisplay
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef True
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define True 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define False 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef PATH_MAX
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef MAXPATHLEN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PATH_MAX MAXPATHLEN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#else
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PATH_MAX 1024
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync_XFUNCPROTOBEGIN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUseMsg(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync void
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbProcessArguments(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* argc */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char ** /* argv */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* i */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeCompatMap(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* freeMap */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeNames(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* freeMap */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern DeviceIntPtr _XkbLookupAnyDevice(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* id */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int * /* why_rtrn */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern DeviceIntPtr _XkbLookupKeyboard(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* id */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int * /* why_rtrn */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern DeviceIntPtr _XkbLookupBellDevice(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* id */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int * /* why_rtrn */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern DeviceIntPtr _XkbLookupLedDevice(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* id */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int * /* why_rtrn */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern DeviceIntPtr _XkbLookupButtonDevice(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* id */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int * /* why_rtrn */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbDescPtr XkbAllocKeyboard(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync void
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbAllocClientMap(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* nTypes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbAllocServerMap(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* nNewActions */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeClientMap(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* what */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* freeMap */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeServerMap(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* what */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* freeMap */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbAllocIndicatorMaps(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbAllocCompatMap(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* nInterpret */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbAllocNames(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* nTotalRG */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* nTotalAliases */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbAllocControls(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which*/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbCopyKeyType(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbKeyTypePtr /* from */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbKeyTypePtr /* into */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbCopyKeyTypes(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbKeyTypePtr /* from */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbKeyTypePtr /* into */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* num_types */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbResizeKeyType(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* type_ndx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* map_count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* want_preserve */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* new_num_lvls */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeKeyboard(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* freeDesc */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSetActionKeyMods(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbAction * /* act */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* mods */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbCheckActionVMods(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbAction * /* act */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbApplyVModChanges(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* pChanges */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int * /* needChecksRtrn */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbApplyVModChangesToAllDevices(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern unsigned int XkbMaskForVMask(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vmask */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbVirtualModsToReal(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* virtua_mask */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int * /* mask_rtrn */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern unsigned int XkbAdjustGroup(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* group */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbControlsPtr /* ctrls */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern KeySym *XkbResizeKeySyms(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* needed */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbAction *XkbResizeKeyActions(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* needed */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUpdateKeyTypesFromCore(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* first */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* num */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* pChanges */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUpdateDescActions(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* first */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* num */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUpdateActions(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* first */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* num */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* pChanges */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int * /* needChecksRtrn */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUpdateCoreDescription(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* resize */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbApplyMappingChange(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* request */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* firstKey */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* num */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr /* client */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSetIndicators(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 /* affect */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 /* values */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUpdateIndicators(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 /* changed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* check_edevs */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* pChanges */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KbdFeedbackPtr /* kf */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync LedFeedbackPtr /* lf */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* needed_parts */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbSrvLedInfoPtr XkbFindSrvLedInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* class */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* id */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* needed_parts */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbApplyLedNameChanges(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvLedInfoPtr /* sli */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed_names */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbExtensionDeviceNotify * /* ed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbApplyLedMapChanges(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvLedInfoPtr /* sli */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed_maps */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbExtensionDeviceNotify * /* ed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbApplyLedStateChanges(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvLedInfoPtr /* sli */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed_leds */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbExtensionDeviceNotify * /* ed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUpdateLedAutoState(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvLedInfoPtr /* sli */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* maps_to_check */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbExtensionDeviceNotify * /* ed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFlushLedEvents(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvLedInfoPtr /* sli */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbExtensionDeviceNotify * /* ed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUpdateAllDeviceIndicators(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern unsigned int XkbIndicatorsToUpdate(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long /* state_changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* enabled_ctrl_changes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbComputeDerivedState(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbCheckSecondaryEffects(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbCheckIndicatorMaps(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvLedInfoPtr /* sli */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern unsigned int XkbStateChangedFlags(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbStatePtr /* old */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbStatePtr /* new */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendStateNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbStateNotify * /* pSN */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendMapNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbMapNotify * /* ev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbComputeControlsNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbControlsPtr /* old */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbControlsPtr /* new */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbControlsNotify * /* pCN */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* forceCtrlProc */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendControlsNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbControlsNotify * /* ev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendCompatMapNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbCompatMapNotify * /* ev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendIndicatorNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* xkbType */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbIndicatorNotify * /* ev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbHandleBell(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BOOL /* force */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BOOL /* eventOnly */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* percent */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync pointer /* ctrl */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* class */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom /* name */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync WindowPtr /* pWin */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr /* pClient */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendAccessXNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbAccessXNotify * /* pEv */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendNamesNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbNamesNotify * /* ev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendCompatNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbCompatMapNotify * /* ev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendActionMessage(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbActionMessage * /* ev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendExtensionDeviceNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr /* client */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbExtensionDeviceNotify * /* ev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendNotification(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* pChanges */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbProcessKeyboardEvent(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync struct _xEvent * /* xE */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbProcessOtherEvent(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync struct _xEvent * /* xE */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbHandleActions(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync struct _xEvent * /* xE */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbEnableDisableControls(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long /* change */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long /* newValues */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void AccessXInit(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool AccessXFilterPressEvent(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync register struct _xEvent * /* xE */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync register DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool AccessXFilterReleaseEvent(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync register struct _xEvent * /* xE */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync register DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void AccessXCancelRepeatKey(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* key */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void AccessXComputeCurveFactor(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbControlsPtr /* ctrls */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDeviceInfoPtr /* devi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* ledClass */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* ledId */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbDeviceInfoPtr XkbAllocDeviceInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* deviceSpec */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* nButtons */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* szLeds */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeDeviceInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDeviceInfoPtr /* devi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* freeDevI */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbResizeDeviceButtonActions(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDeviceInfoPtr /* devi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* newTotal */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbInterestPtr XkbFindClientResource(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DevicePtr /* inDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr /* client */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbInterestPtr XkbAddClientResource(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DevicePtr /* inDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr /* client */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XID /* id */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbRemoveClient(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DevicePtr /* inDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr /* client */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbRemoveResourceClient(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DevicePtr /* inDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XID /* id */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbDDXInitDevice(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbDDXAccessXBeep(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* what */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDDXKeyClick(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* keycode */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* synthetic */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbDDXUsesSoftRepeat(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDDXKeybdCtrlProc(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeybdCtrl * /* ctrl */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDDXChangeControls(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbControlsPtr /* old */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbControlsPtr /* new */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDDXUpdateIndicators(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 /* newState */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDDXUpdateDeviceIndicators(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvLedInfoPtr /* sli */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 /* newState */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDDXFakePointerButton(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* event */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* button */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDDXFakePointerMotion(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* flags */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* x */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* y */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDDXFakeDeviceButton(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* press */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* button */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbDDXTerminateServer(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbAction * /* act */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbDDXSwitchScreen(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbAction * /* act */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbDDXPrivate(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbAction * /* act */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbDisableComputedAutoRepeats(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* key */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSetRepeatKeys(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* onoff */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbLatchModifiers(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* mask */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* latches */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbLatchGroup(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* group */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbClearAllLatchesAndLocks(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* genEv */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbEventCausePtr /* cause */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSetRulesDflts(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* rulesFile */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* model */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* layout */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* variant */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* options */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbInitDevice(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbInitKeyboardDeviceStruct(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbComponentNamesPtr /* pNames */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeySymsPtr /* pSyms */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 /* pMods */[],
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BellProcPtr /* bellProc */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KbdCtrlProcPtr /* ctrlProc */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int SProcXkbDispatch(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr /* client */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbGeometryPtr XkbLookupNamedGeometry(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom /* name */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool * /* shouldFree */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char * _XkbDupString(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* str */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbConvertCase(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeySym /* sym */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeySym * /* lower */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeySym * /* upper */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbChangeKeycodeRange(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* minKC */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* maxKC */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbFinishDeviceInit(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* pXDev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeSrvLedInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvLedInfoPtr /* sli */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbChangeTypesOfKey(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* nGroups */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* groups */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int * /* newTypesIn */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbMapChangesPtr /* changes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XkbKeyTypePtr XkbAddKeyType(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom /* name */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* map_count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* want_preserve */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* num_lvls */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbInitCanonicalKeyTypes(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* keypadVMod */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XkbKeyTypesForCoreSymbols(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* map_width */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeySym * /* core_syms */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* protected */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int * /* types_inout */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeySym * /* xkb_syms_rtrn */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbApplyCompatMapToKey(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbUpdateMapFromCore(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeyCode /* first_key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* num_keys */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* map_width */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync KeySym * /* core_keysyms */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeControls(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* which */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* freeMap */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbFreeIndicatorMaps(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbApplyVirtualModChanges(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbUpdateActionVirtualMods(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbAction * /* act */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbUpdateKeyTypeVirtualMods(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbDescPtr /* xkb */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbKeyTypePtr /* type */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* changed */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbChangesPtr /* changes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSendNewKeyboardNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* kbd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xkbNewKeyboardNotify * /* pNKN */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef XKBSRV_NEED_FILE_FUNCS
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/XKMformat.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/XKBfile.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/XKBrules.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbListKeymaps 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbListKeycodes 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbListTypes 2
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbListCompat 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbListSymbols 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbListGeometry 5
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XkbListNumComponents 6
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct _XkbSrvListInfo {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int szPool;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int nPool;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * pool;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int maxRtrn;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int nTotal;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * pattern[_XkbListNumComponents];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int nFound[_XkbListNumComponents];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncchar *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncXkbGetRulesDflts(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbRF_VarDefsPtr /* defs */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XkbSetRulesUsed(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbRF_VarDefsPtr /* defs */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Status XkbDDXList(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvListInfoPtr /* listing */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync ClientPtr /* client */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern unsigned int XkbDDXLoadKeymapByNames(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbComponentNamesPtr /* names */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* want */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* need */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbFileInfoPtr /* finfoRtrn */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* keymapNameRtrn */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* keymapNameRtrnLen */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbDDXNamesFromRules(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* keybd */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* rules */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbRF_VarDefsPtr /* defs */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbComponentNamesPtr /* names */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern FILE *XkbDDXOpenConfigFile(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* mapName */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* fileNameRtrn */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* fileNameRtrnLen */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool XkbDDXApplyConfig(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XPointer /* cfg_in */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbSrvInfoPtr /* xkbi */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XPointer XkbDDXPreloadConfig(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char ** /* rulesFileRtrn */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbRF_VarDefsPtr /* defs */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XkbComponentNamesPtr /* names */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync DeviceIntPtr /* dev */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int _XkbStrCaseCmp(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* str1 */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char * /* str2 */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* XKBSRV_NEED_FILE_FUNCS */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync_XFUNCPROTOEND
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XkbAtomGetString(d,s) NameForAtom(s)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* _XKBSRV_H_ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync