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