xkbsrv.h revision 4642e01f
105b261ecSmrg/************************************************************ 205b261ecSmrgCopyright (c) 1993 by Silicon Graphics Computer Systems, Inc. 305b261ecSmrg 405b261ecSmrgPermission to use, copy, modify, and distribute this 505b261ecSmrgsoftware and its documentation for any purpose and without 605b261ecSmrgfee is hereby granted, provided that the above copyright 705b261ecSmrgnotice appear in all copies and that both that copyright 805b261ecSmrgnotice and this permission notice appear in supporting 905b261ecSmrgdocumentation, and that the name of Silicon Graphics not be 1005b261ecSmrgused in advertising or publicity pertaining to distribution 1105b261ecSmrgof the software without specific prior written permission. 1205b261ecSmrgSilicon Graphics makes no representation about the suitability 1305b261ecSmrgof this software for any purpose. It is provided "as is" 1405b261ecSmrgwithout any express or implied warranty. 1505b261ecSmrg 1605b261ecSmrgSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 1705b261ecSmrgSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 1805b261ecSmrgAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 1905b261ecSmrgGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 2005b261ecSmrgDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 2105b261ecSmrgDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 2205b261ecSmrgOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH 2305b261ecSmrgTHE USE OR PERFORMANCE OF THIS SOFTWARE. 2405b261ecSmrg 2505b261ecSmrg********************************************************/ 2605b261ecSmrg 2705b261ecSmrg#ifndef _XKBSRV_H_ 2805b261ecSmrg#define _XKBSRV_H_ 2905b261ecSmrg 3005b261ecSmrg#define XkbAllocClientMap SrvXkbAllocClientMap 3105b261ecSmrg#define XkbAllocServerMap SrvXkbAllocServerMap 3205b261ecSmrg#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey 3305b261ecSmrg#define XkbCopyKeyTypes SrvXkbCopyKeyTypes 3405b261ecSmrg#define XkbFreeClientMap SrvXkbFreeClientMap 3505b261ecSmrg#define XkbFreeServerMap SrvXkbFreeServerMap 3605b261ecSmrg#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols 3705b261ecSmrg#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey 3805b261ecSmrg#define XkbResizeKeyActions SrvXkbResizeKeyActions 3905b261ecSmrg#define XkbResizeKeySyms SrvXkbResizeKeySyms 4005b261ecSmrg#define XkbResizeKeyType SrvXkbResizeKeyType 4105b261ecSmrg#define XkbAllocCompatMap SrvXkbAllocCompatMap 4205b261ecSmrg#define XkbAllocControls SrvXkbAllocControls 4305b261ecSmrg#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps 4405b261ecSmrg#define XkbAllocKeyboard SrvXkbAllocKeyboard 4505b261ecSmrg#define XkbAllocNames SrvXkbAllocNames 4605b261ecSmrg#define XkbFreeCompatMap SrvXkbFreeCompatMap 4705b261ecSmrg#define XkbFreeKeyboard SrvXkbFreeKeyboard 4805b261ecSmrg#define XkbFreeNames SrvXkbFreeNames 4905b261ecSmrg#define XkbLatchModifiers SrvXkbLatchModifiers 5005b261ecSmrg#define XkbLatchGroup SrvXkbLatchGroup 5105b261ecSmrg#define XkbVirtualModsToReal SrvXkbVirtualModsToReal 5205b261ecSmrg#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange 5305b261ecSmrg#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges 5405b261ecSmrg 5505b261ecSmrg#include <X11/extensions/XKBproto.h> 564642e01fSmrg#include "xkbstr.h" 5705b261ecSmrg#include "inputstr.h" 5805b261ecSmrg 5905b261ecSmrgtypedef struct _XkbInterest { 6005b261ecSmrg DeviceIntPtr dev; 6105b261ecSmrg ClientPtr client; 6205b261ecSmrg XID resource; 6305b261ecSmrg struct _XkbInterest * next; 6405b261ecSmrg CARD16 extDevNotifyMask; 6505b261ecSmrg CARD16 stateNotifyMask; 6605b261ecSmrg CARD16 namesNotifyMask; 6705b261ecSmrg CARD32 ctrlsNotifyMask; 6805b261ecSmrg CARD8 compatNotifyMask; 6905b261ecSmrg BOOL bellNotifyMask; 7005b261ecSmrg BOOL actionMessageMask; 7105b261ecSmrg CARD16 accessXNotifyMask; 7205b261ecSmrg CARD32 iStateNotifyMask; 7305b261ecSmrg CARD32 iMapNotifyMask; 7405b261ecSmrg CARD16 altSymsNotifyMask; 7505b261ecSmrg CARD32 autoCtrls; 7605b261ecSmrg CARD32 autoCtrlValues; 7705b261ecSmrg} XkbInterestRec,*XkbInterestPtr; 7805b261ecSmrg 7905b261ecSmrgtypedef struct _XkbRadioGroup { 8005b261ecSmrg CARD8 flags; 8105b261ecSmrg CARD8 nMembers; 8205b261ecSmrg CARD8 dfltDown; 8305b261ecSmrg CARD8 currentDown; 8405b261ecSmrg CARD8 members[XkbRGMaxMembers]; 8505b261ecSmrg} XkbRadioGroupRec, *XkbRadioGroupPtr; 8605b261ecSmrg 8705b261ecSmrgtypedef struct _XkbEventCause { 8805b261ecSmrg CARD8 kc; 8905b261ecSmrg CARD8 event; 9005b261ecSmrg CARD8 mjr; 9105b261ecSmrg CARD8 mnr; 9205b261ecSmrg ClientPtr client; 9305b261ecSmrg} XkbEventCauseRec,*XkbEventCausePtr; 9405b261ecSmrg#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\ 9505b261ecSmrg (c)->mjr= (c)->mnr= 0; \ 9605b261ecSmrg (c)->client= NULL; } 9705b261ecSmrg#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\ 9805b261ecSmrg (c)->mjr= (j),(c)->mnr= (n);\ 9905b261ecSmrg (c)->client= (cl); } 10005b261ecSmrg#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl) 10105b261ecSmrg#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl) 10205b261ecSmrg#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0) 10305b261ecSmrg 10405b261ecSmrg#define _OFF_TIMER 0 10505b261ecSmrg#define _KRG_WARN_TIMER 1 10605b261ecSmrg#define _KRG_TIMER 2 10705b261ecSmrg#define _SK_TIMEOUT_TIMER 3 10805b261ecSmrg#define _ALL_TIMEOUT_TIMER 4 10905b261ecSmrg 11005b261ecSmrg#define _BEEP_NONE 0 11105b261ecSmrg#define _BEEP_FEATURE_ON 1 11205b261ecSmrg#define _BEEP_FEATURE_OFF 2 11305b261ecSmrg#define _BEEP_FEATURE_CHANGE 3 11405b261ecSmrg#define _BEEP_SLOW_WARN 4 11505b261ecSmrg#define _BEEP_SLOW_PRESS 5 11605b261ecSmrg#define _BEEP_SLOW_ACCEPT 6 11705b261ecSmrg#define _BEEP_SLOW_REJECT 7 11805b261ecSmrg#define _BEEP_SLOW_RELEASE 8 11905b261ecSmrg#define _BEEP_STICKY_LATCH 9 12005b261ecSmrg#define _BEEP_STICKY_LOCK 10 12105b261ecSmrg#define _BEEP_STICKY_UNLOCK 11 12205b261ecSmrg#define _BEEP_LED_ON 12 12305b261ecSmrg#define _BEEP_LED_OFF 13 12405b261ecSmrg#define _BEEP_LED_CHANGE 14 12505b261ecSmrg#define _BEEP_BOUNCE_REJECT 15 12605b261ecSmrg 12705b261ecSmrgtypedef struct _XkbFilter { 12805b261ecSmrg CARD16 keycode; 12905b261ecSmrg CARD8 what; 13005b261ecSmrg CARD8 active; 13105b261ecSmrg CARD8 filterOthers; 13205b261ecSmrg CARD32 priv; 13305b261ecSmrg XkbAction upAction; 13405b261ecSmrg int (*filter)( 13505b261ecSmrg struct _XkbSrvInfo* /* xkbi */, 13605b261ecSmrg struct _XkbFilter * /* filter */, 13705b261ecSmrg unsigned /* keycode */, 13805b261ecSmrg XkbAction * /* action */ 13905b261ecSmrg ); 14005b261ecSmrg struct _XkbFilter *next; 14105b261ecSmrg} XkbFilterRec,*XkbFilterPtr; 14205b261ecSmrg 14305b261ecSmrgtypedef struct _XkbSrvInfo { 14405b261ecSmrg XkbStateRec prev_state; 14505b261ecSmrg XkbStateRec state; 14605b261ecSmrg XkbDescPtr desc; 14705b261ecSmrg 14805b261ecSmrg DeviceIntPtr device; 14905b261ecSmrg KbdCtrlProcPtr kbdProc; 15005b261ecSmrg 15105b261ecSmrg XkbRadioGroupPtr radioGroups; 15205b261ecSmrg CARD8 nRadioGroups; 15305b261ecSmrg CARD8 clearMods; 15405b261ecSmrg CARD8 setMods; 15505b261ecSmrg INT16 groupChange; 15605b261ecSmrg 15705b261ecSmrg CARD16 dfltPtrDelta; 15805b261ecSmrg 15905b261ecSmrg double mouseKeysCurve; 16005b261ecSmrg double mouseKeysCurveFactor; 16105b261ecSmrg INT16 mouseKeysDX; 16205b261ecSmrg INT16 mouseKeysDY; 16305b261ecSmrg CARD8 mouseKeysFlags; 16405b261ecSmrg Bool mouseKeysAccel; 16505b261ecSmrg CARD8 mouseKeysCounter; 16605b261ecSmrg 16705b261ecSmrg CARD8 lockedPtrButtons; 16805b261ecSmrg CARD8 shiftKeyCount; 16905b261ecSmrg KeyCode mouseKey; 17005b261ecSmrg KeyCode inactiveKey; 17105b261ecSmrg KeyCode slowKey; 17205b261ecSmrg KeyCode repeatKey; 17305b261ecSmrg CARD8 krgTimerActive; 17405b261ecSmrg CARD8 beepType; 17505b261ecSmrg CARD8 beepCount; 17605b261ecSmrg 17705b261ecSmrg CARD32 flags; 17805b261ecSmrg CARD32 lastPtrEventTime; 17905b261ecSmrg CARD32 lastShiftEventTime; 18005b261ecSmrg OsTimerPtr beepTimer; 18105b261ecSmrg OsTimerPtr mouseKeyTimer; 18205b261ecSmrg OsTimerPtr slowKeysTimer; 18305b261ecSmrg OsTimerPtr bounceKeysTimer; 18405b261ecSmrg OsTimerPtr repeatKeyTimer; 18505b261ecSmrg OsTimerPtr krgTimer; 18605b261ecSmrg 18705b261ecSmrg int szFilters; 18805b261ecSmrg XkbFilterPtr filters; 18905b261ecSmrg} XkbSrvInfoRec, *XkbSrvInfoPtr; 19005b261ecSmrg 19105b261ecSmrg#define XkbSLI_IsDefault (1L<<0) 19205b261ecSmrg#define XkbSLI_HasOwnState (1L<<1) 19305b261ecSmrg 19405b261ecSmrgtypedef struct _XkbSrvLedInfo { 19505b261ecSmrg CARD16 flags; 19605b261ecSmrg CARD16 class; 19705b261ecSmrg CARD16 id; 19805b261ecSmrg union { 19905b261ecSmrg KbdFeedbackPtr kf; 20005b261ecSmrg LedFeedbackPtr lf; 20105b261ecSmrg } fb; 20205b261ecSmrg 20305b261ecSmrg CARD32 physIndicators; 20405b261ecSmrg CARD32 autoState; 20505b261ecSmrg CARD32 explicitState; 20605b261ecSmrg CARD32 effectiveState; 20705b261ecSmrg 20805b261ecSmrg CARD32 mapsPresent; 20905b261ecSmrg CARD32 namesPresent; 21005b261ecSmrg XkbIndicatorMapPtr maps; 21105b261ecSmrg Atom * names; 21205b261ecSmrg 21305b261ecSmrg CARD32 usesBase; 21405b261ecSmrg CARD32 usesLatched; 21505b261ecSmrg CARD32 usesLocked; 21605b261ecSmrg CARD32 usesEffective; 21705b261ecSmrg CARD32 usesCompat; 21805b261ecSmrg CARD32 usesControls; 21905b261ecSmrg 22005b261ecSmrg CARD32 usedComponents; 22105b261ecSmrg} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr; 22205b261ecSmrg 22305b261ecSmrg/* 22405b261ecSmrg * Settings for xkbClientFlags field (used by DIX) 22505b261ecSmrg * These flags _must_ not overlap with XkbPCF_* 22605b261ecSmrg */ 22705b261ecSmrg#define _XkbClientInitialized (1<<15) 22805b261ecSmrg 22905b261ecSmrg#define _XkbWantsDetectableAutoRepeat(c)\ 23005b261ecSmrg ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask) 23105b261ecSmrg 23205b261ecSmrg/* 23305b261ecSmrg * Settings for flags field 23405b261ecSmrg */ 23505b261ecSmrg#define _XkbStateNotifyInProgress (1<<0) 23605b261ecSmrg 23705b261ecSmrgtypedef struct 23805b261ecSmrg{ 23905b261ecSmrg ProcessInputProc processInputProc; 24005b261ecSmrg /* If processInputProc is set to something different than realInputProc, 24105b261ecSmrg * UNWRAP and COND_WRAP will not touch processInputProc and update only 24205b261ecSmrg * realInputProc. This ensures that 24305b261ecSmrg * processInputProc == (frozen ? EnqueueEvent : realInputProc) 24405b261ecSmrg * 24505b261ecSmrg * WRAP_PROCESS_INPUT_PROC should only be called during initialization, 24605b261ecSmrg * since it may destroy this invariant. 24705b261ecSmrg */ 24805b261ecSmrg ProcessInputProc realInputProc; 24905b261ecSmrg DeviceUnwrapProc unwrapProc; 25005b261ecSmrg} xkbDeviceInfoRec, *xkbDeviceInfoPtr; 25105b261ecSmrg 25205b261ecSmrg#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \ 25305b261ecSmrg device->public.processInputProc = proc; \ 25405b261ecSmrg oldprocs->processInputProc = \ 25505b261ecSmrg oldprocs->realInputProc = device->public.realInputProc; \ 25605b261ecSmrg device->public.realInputProc = proc; \ 25705b261ecSmrg oldprocs->unwrapProc = device->unwrapProc; \ 25805b261ecSmrg device->unwrapProc = unwrapproc; 25905b261ecSmrg 26005b261ecSmrg#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \ 26105b261ecSmrg if (device->public.processInputProc == device->public.realInputProc)\ 26205b261ecSmrg device->public.processInputProc = proc; \ 26305b261ecSmrg oldprocs->processInputProc = \ 26405b261ecSmrg oldprocs->realInputProc = device->public.realInputProc; \ 26505b261ecSmrg device->public.realInputProc = proc; \ 26605b261ecSmrg oldprocs->unwrapProc = device->unwrapProc; \ 26705b261ecSmrg device->unwrapProc = unwrapproc; 26805b261ecSmrg 26905b261ecSmrg#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \ 27005b261ecSmrg backupproc = device->public.realInputProc; \ 27105b261ecSmrg if (device->public.processInputProc == device->public.realInputProc)\ 27205b261ecSmrg device->public.processInputProc = oldprocs->realInputProc; \ 27305b261ecSmrg device->public.realInputProc = oldprocs->realInputProc; \ 27405b261ecSmrg device->unwrapProc = oldprocs->unwrapProc; 27505b261ecSmrg 2764642e01fSmrgextern DevPrivateKey xkbDevicePrivateKey; 2774642e01fSmrg#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr)dixLookupPrivate(&(dev)->devPrivates, xkbDevicePrivateKey)) 27805b261ecSmrg 27905b261ecSmrgextern void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, pointer); 28005b261ecSmrg 28105b261ecSmrg/***====================================================================***/ 28205b261ecSmrg 28305b261ecSmrg 28405b261ecSmrg/***====================================================================***/ 28505b261ecSmrg 28605b261ecSmrg#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask) 28705b261ecSmrg#define XkbAllFilteredEventsMask \ 28805b261ecSmrg (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask) 28905b261ecSmrg 29005b261ecSmrg/***====================================================================***/ 29105b261ecSmrg 29205b261ecSmrgextern int XkbReqCode; 29305b261ecSmrgextern int XkbEventBase; 29405b261ecSmrgextern int XkbDisableLockActions; 2954642e01fSmrgextern int XkbKeyboardErrorCode; 29605b261ecSmrgextern char * XkbBaseDirectory; 29705b261ecSmrgextern char * XkbBinDirectory; 29805b261ecSmrgextern char * XkbInitialMap; 29905b261ecSmrgextern unsigned int XkbXIUnsupported; 30005b261ecSmrg 30105b261ecSmrgextern Bool noXkbExtension; 30205b261ecSmrg 30305b261ecSmrgextern pointer XkbLastRepeatEvent; 30405b261ecSmrg 30505b261ecSmrgextern CARD32 xkbDebugFlags; 30605b261ecSmrg 30705b261ecSmrg#define _XkbAlloc(s) xalloc((s)) 30805b261ecSmrg#define _XkbCalloc(n,s) Xcalloc((n)*(s)) 30905b261ecSmrg#define _XkbRealloc(o,s) Xrealloc((o),(s)) 31005b261ecSmrg#define _XkbTypedAlloc(t) ((t *)xalloc(sizeof(t))) 31105b261ecSmrg#define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n)*sizeof(t))) 31205b261ecSmrg#define _XkbTypedRealloc(o,n,t) \ 31305b261ecSmrg ((o)?(t *)Xrealloc((o),(n)*sizeof(t)):_XkbTypedCalloc(n,t)) 31405b261ecSmrg#define _XkbClearElems(a,f,l,t) bzero(&(a)[f],((l)-(f)+1)*sizeof(t)) 31505b261ecSmrg#define _XkbFree(p) Xfree(p) 31605b261ecSmrg 3174642e01fSmrg#define _XkbLibError(c,l,d) /* Epoch fail */ 31805b261ecSmrg#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff))) 31905b261ecSmrg#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c)) 32005b261ecSmrg#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d))) 32105b261ecSmrg 32205b261ecSmrgextern int DeviceKeyPress,DeviceKeyRelease,DeviceMotionNotify; 32305b261ecSmrgextern int DeviceButtonPress,DeviceButtonRelease; 32405b261ecSmrgextern int DeviceEnterNotify,DeviceLeaveNotify; 32505b261ecSmrg 32605b261ecSmrg#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress)) 32705b261ecSmrg#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease)) 32805b261ecSmrg 32905b261ecSmrg#define _XkbCoreKeycodeInRange(c,k) (((k)>=(c)->curKeySyms.minKeyCode)&&\ 33005b261ecSmrg ((k)<=(c)->curKeySyms.maxKeyCode)) 33105b261ecSmrg#define _XkbCoreNumKeys(c) ((c)->curKeySyms.maxKeyCode-\ 33205b261ecSmrg (c)->curKeySyms.minKeyCode+1) 33305b261ecSmrg 33405b261ecSmrg#define XConvertCase(s,l,u) XkbConvertCase(s,l,u) 33505b261ecSmrg#undef IsKeypadKey 33605b261ecSmrg#define IsKeypadKey(s) XkbKSIsKeypad(s) 33705b261ecSmrg 33805b261ecSmrg#define Status int 33905b261ecSmrg 34005b261ecSmrg#ifndef True 3414642e01fSmrg#define True TRUE 3424642e01fSmrg#define False FALSE 34305b261ecSmrg#endif 34405b261ecSmrg 34505b261ecSmrg_XFUNCPROTOBEGIN 34605b261ecSmrg 34705b261ecSmrgextern void XkbUseMsg( 34805b261ecSmrg void 34905b261ecSmrg); 35005b261ecSmrg 35105b261ecSmrgextern int XkbProcessArguments( 35205b261ecSmrg int /* argc */, 35305b261ecSmrg char ** /* argv */, 35405b261ecSmrg int /* i */ 35505b261ecSmrg); 35605b261ecSmrg 35705b261ecSmrgextern void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc); 35805b261ecSmrg 35905b261ecSmrgextern void XkbFreeCompatMap( 36005b261ecSmrg XkbDescPtr /* xkb */, 36105b261ecSmrg unsigned int /* which */, 36205b261ecSmrg Bool /* freeMap */ 36305b261ecSmrg); 36405b261ecSmrg 36505b261ecSmrgextern void XkbFreeNames( 36605b261ecSmrg XkbDescPtr /* xkb */, 36705b261ecSmrg unsigned int /* which */, 36805b261ecSmrg Bool /* freeMap */ 36905b261ecSmrg); 37005b261ecSmrg 3714642e01fSmrgextern int _XkbLookupAnyDevice( 3724642e01fSmrg DeviceIntPtr *pDev, 3734642e01fSmrg int id, 3744642e01fSmrg ClientPtr client, 3754642e01fSmrg Mask access_mode, 3764642e01fSmrg int *xkb_err 37705b261ecSmrg); 37805b261ecSmrg 3794642e01fSmrgextern int _XkbLookupKeyboard( 3804642e01fSmrg DeviceIntPtr *pDev, 3814642e01fSmrg int id, 3824642e01fSmrg ClientPtr client, 3834642e01fSmrg Mask access_mode, 3844642e01fSmrg int *xkb_err 38505b261ecSmrg); 38605b261ecSmrg 3874642e01fSmrgextern int _XkbLookupBellDevice( 3884642e01fSmrg DeviceIntPtr *pDev, 3894642e01fSmrg int id, 3904642e01fSmrg ClientPtr client, 3914642e01fSmrg Mask access_mode, 3924642e01fSmrg int *xkb_err 39305b261ecSmrg); 39405b261ecSmrg 3954642e01fSmrgextern int _XkbLookupLedDevice( 3964642e01fSmrg DeviceIntPtr *pDev, 3974642e01fSmrg int id, 3984642e01fSmrg ClientPtr client, 3994642e01fSmrg Mask access_mode, 4004642e01fSmrg int *xkb_err 40105b261ecSmrg); 40205b261ecSmrg 4034642e01fSmrgextern int _XkbLookupButtonDevice( 4044642e01fSmrg DeviceIntPtr *pDev, 4054642e01fSmrg int id, 4064642e01fSmrg ClientPtr client, 4074642e01fSmrg Mask access_mode, 4084642e01fSmrg int *xkb_err 40905b261ecSmrg); 41005b261ecSmrg 41105b261ecSmrgextern XkbDescPtr XkbAllocKeyboard( 41205b261ecSmrg void 41305b261ecSmrg); 41405b261ecSmrg 41505b261ecSmrgextern Status XkbAllocClientMap( 41605b261ecSmrg XkbDescPtr /* xkb */, 41705b261ecSmrg unsigned int /* which */, 41805b261ecSmrg unsigned int /* nTypes */ 41905b261ecSmrg); 42005b261ecSmrg 42105b261ecSmrgextern Status XkbAllocServerMap( 42205b261ecSmrg XkbDescPtr /* xkb */, 42305b261ecSmrg unsigned int /* which */, 42405b261ecSmrg unsigned int /* nNewActions */ 42505b261ecSmrg); 42605b261ecSmrg 42705b261ecSmrgextern void XkbFreeClientMap( 42805b261ecSmrg XkbDescPtr /* xkb */, 42905b261ecSmrg unsigned int /* what */, 43005b261ecSmrg Bool /* freeMap */ 43105b261ecSmrg); 43205b261ecSmrg 43305b261ecSmrgextern void XkbFreeServerMap( 43405b261ecSmrg XkbDescPtr /* xkb */, 43505b261ecSmrg unsigned int /* what */, 43605b261ecSmrg Bool /* freeMap */ 43705b261ecSmrg); 43805b261ecSmrg 43905b261ecSmrgextern Status XkbAllocIndicatorMaps( 44005b261ecSmrg XkbDescPtr /* xkb */ 44105b261ecSmrg); 44205b261ecSmrg 44305b261ecSmrgextern Status XkbAllocCompatMap( 44405b261ecSmrg XkbDescPtr /* xkb */, 44505b261ecSmrg unsigned int /* which */, 44605b261ecSmrg unsigned int /* nInterpret */ 44705b261ecSmrg); 44805b261ecSmrg 44905b261ecSmrgextern Status XkbAllocNames( 45005b261ecSmrg XkbDescPtr /* xkb */, 45105b261ecSmrg unsigned int /* which */, 45205b261ecSmrg int /* nTotalRG */, 45305b261ecSmrg int /* nTotalAliases */ 45405b261ecSmrg); 45505b261ecSmrg 45605b261ecSmrgextern Status XkbAllocControls( 45705b261ecSmrg XkbDescPtr /* xkb */, 45805b261ecSmrg unsigned int /* which*/ 45905b261ecSmrg); 46005b261ecSmrg 46105b261ecSmrgextern Status XkbCopyKeyTypes( 46205b261ecSmrg XkbKeyTypePtr /* from */, 46305b261ecSmrg XkbKeyTypePtr /* into */, 46405b261ecSmrg int /* num_types */ 46505b261ecSmrg); 46605b261ecSmrg 46705b261ecSmrgextern Status XkbResizeKeyType( 46805b261ecSmrg XkbDescPtr /* xkb */, 46905b261ecSmrg int /* type_ndx */, 47005b261ecSmrg int /* map_count */, 47105b261ecSmrg Bool /* want_preserve */, 47205b261ecSmrg int /* new_num_lvls */ 47305b261ecSmrg); 47405b261ecSmrg 47505b261ecSmrgextern void XkbFreeKeyboard( 47605b261ecSmrg XkbDescPtr /* xkb */, 47705b261ecSmrg unsigned int /* which */, 47805b261ecSmrg Bool /* freeDesc */ 47905b261ecSmrg); 48005b261ecSmrg 48105b261ecSmrgextern void XkbSetActionKeyMods( 48205b261ecSmrg XkbDescPtr /* xkb */, 48305b261ecSmrg XkbAction * /* act */, 48405b261ecSmrg unsigned int /* mods */ 48505b261ecSmrg); 48605b261ecSmrg 48705b261ecSmrgextern Bool XkbCheckActionVMods( 48805b261ecSmrg XkbDescPtr /* xkb */, 48905b261ecSmrg XkbAction * /* act */, 49005b261ecSmrg unsigned int /* changed */ 49105b261ecSmrg); 49205b261ecSmrg 49305b261ecSmrgextern unsigned int XkbMaskForVMask( 49405b261ecSmrg XkbDescPtr /* xkb */, 49505b261ecSmrg unsigned int /* vmask */ 49605b261ecSmrg); 49705b261ecSmrg 49805b261ecSmrgextern Bool XkbVirtualModsToReal( 49905b261ecSmrg XkbDescPtr /* xkb */, 50005b261ecSmrg unsigned int /* virtua_mask */, 50105b261ecSmrg unsigned int * /* mask_rtrn */ 50205b261ecSmrg); 50305b261ecSmrg 50405b261ecSmrgextern unsigned int XkbAdjustGroup( 50505b261ecSmrg int /* group */, 50605b261ecSmrg XkbControlsPtr /* ctrls */ 50705b261ecSmrg); 50805b261ecSmrg 50905b261ecSmrgextern KeySym *XkbResizeKeySyms( 51005b261ecSmrg XkbDescPtr /* xkb */, 51105b261ecSmrg int /* key */, 51205b261ecSmrg int /* needed */ 51305b261ecSmrg); 51405b261ecSmrg 51505b261ecSmrgextern XkbAction *XkbResizeKeyActions( 51605b261ecSmrg XkbDescPtr /* xkb */, 51705b261ecSmrg int /* key */, 51805b261ecSmrg int /* needed */ 51905b261ecSmrg); 52005b261ecSmrg 52105b261ecSmrgextern void XkbUpdateKeyTypesFromCore( 52205b261ecSmrg DeviceIntPtr /* pXDev */, 52305b261ecSmrg KeyCode /* first */, 52405b261ecSmrg CARD8 /* num */, 52505b261ecSmrg XkbChangesPtr /* pChanges */ 52605b261ecSmrg); 52705b261ecSmrg 52805b261ecSmrgextern void XkbUpdateDescActions( 52905b261ecSmrg XkbDescPtr /* xkb */, 53005b261ecSmrg KeyCode /* first */, 53105b261ecSmrg CARD8 /* num */, 53205b261ecSmrg XkbChangesPtr /* changes */ 53305b261ecSmrg); 53405b261ecSmrg 53505b261ecSmrgextern void XkbUpdateActions( 53605b261ecSmrg DeviceIntPtr /* pXDev */, 53705b261ecSmrg KeyCode /* first */, 53805b261ecSmrg CARD8 /* num */, 53905b261ecSmrg XkbChangesPtr /* pChanges */, 54005b261ecSmrg unsigned int * /* needChecksRtrn */, 54105b261ecSmrg XkbEventCausePtr /* cause */ 54205b261ecSmrg); 54305b261ecSmrg 54405b261ecSmrgextern void XkbUpdateCoreDescription( 54505b261ecSmrg DeviceIntPtr /* keybd */, 54605b261ecSmrg Bool /* resize */ 54705b261ecSmrg); 54805b261ecSmrg 54905b261ecSmrgextern void XkbApplyMappingChange( 55005b261ecSmrg DeviceIntPtr /* pXDev */, 55105b261ecSmrg CARD8 /* request */, 55205b261ecSmrg KeyCode /* firstKey */, 55305b261ecSmrg CARD8 /* num */, 55405b261ecSmrg ClientPtr /* client */ 55505b261ecSmrg); 55605b261ecSmrg 55705b261ecSmrgextern void XkbSetIndicators( 55805b261ecSmrg DeviceIntPtr /* pXDev */, 55905b261ecSmrg CARD32 /* affect */, 56005b261ecSmrg CARD32 /* values */, 56105b261ecSmrg XkbEventCausePtr /* cause */ 56205b261ecSmrg); 56305b261ecSmrg 56405b261ecSmrgextern void XkbUpdateIndicators( 56505b261ecSmrg DeviceIntPtr /* keybd */, 56605b261ecSmrg CARD32 /* changed */, 56705b261ecSmrg Bool /* check_edevs */, 56805b261ecSmrg XkbChangesPtr /* pChanges */, 56905b261ecSmrg XkbEventCausePtr /* cause */ 57005b261ecSmrg); 57105b261ecSmrg 57205b261ecSmrgextern XkbSrvLedInfoPtr XkbAllocSrvLedInfo( 57305b261ecSmrg DeviceIntPtr /* dev */, 57405b261ecSmrg KbdFeedbackPtr /* kf */, 57505b261ecSmrg LedFeedbackPtr /* lf */, 57605b261ecSmrg unsigned int /* needed_parts */ 57705b261ecSmrg); 57805b261ecSmrg 5794642e01fSmrgextern XkbSrvLedInfoPtr XkbCopySrvLedInfo( 5804642e01fSmrg DeviceIntPtr /* dev */, 5814642e01fSmrg XkbSrvLedInfoPtr /* src */, 5824642e01fSmrg KbdFeedbackPtr /* kf */, 5834642e01fSmrg LedFeedbackPtr /* lf */ 5844642e01fSmrg); 5854642e01fSmrg 5864642e01fSmrg 58705b261ecSmrgextern XkbSrvLedInfoPtr XkbFindSrvLedInfo( 58805b261ecSmrg DeviceIntPtr /* dev */, 58905b261ecSmrg unsigned int /* class */, 59005b261ecSmrg unsigned int /* id */, 59105b261ecSmrg unsigned int /* needed_parts */ 59205b261ecSmrg); 59305b261ecSmrg 59405b261ecSmrgextern void XkbApplyLedNameChanges( 59505b261ecSmrg DeviceIntPtr /* dev */, 59605b261ecSmrg XkbSrvLedInfoPtr /* sli */, 59705b261ecSmrg unsigned int /* changed_names */, 59805b261ecSmrg xkbExtensionDeviceNotify * /* ed */, 59905b261ecSmrg XkbChangesPtr /* changes */, 60005b261ecSmrg XkbEventCausePtr /* cause */ 60105b261ecSmrg); 60205b261ecSmrg 60305b261ecSmrgextern void XkbApplyLedMapChanges( 60405b261ecSmrg DeviceIntPtr /* dev */, 60505b261ecSmrg XkbSrvLedInfoPtr /* sli */, 60605b261ecSmrg unsigned int /* changed_maps */, 60705b261ecSmrg xkbExtensionDeviceNotify * /* ed */, 60805b261ecSmrg XkbChangesPtr /* changes */, 60905b261ecSmrg XkbEventCausePtr /* cause */ 61005b261ecSmrg); 61105b261ecSmrg 61205b261ecSmrgextern void XkbApplyLedStateChanges( 61305b261ecSmrg DeviceIntPtr /* dev */, 61405b261ecSmrg XkbSrvLedInfoPtr /* sli */, 61505b261ecSmrg unsigned int /* changed_leds */, 61605b261ecSmrg xkbExtensionDeviceNotify * /* ed */, 61705b261ecSmrg XkbChangesPtr /* changes */, 61805b261ecSmrg XkbEventCausePtr /* cause */ 61905b261ecSmrg); 62005b261ecSmrg 62105b261ecSmrgextern void XkbFlushLedEvents( 62205b261ecSmrg DeviceIntPtr /* dev */, 62305b261ecSmrg DeviceIntPtr /* kbd */, 62405b261ecSmrg XkbSrvLedInfoPtr /* sli */, 62505b261ecSmrg xkbExtensionDeviceNotify * /* ed */, 62605b261ecSmrg XkbChangesPtr /* changes */, 62705b261ecSmrg XkbEventCausePtr /* cause */ 62805b261ecSmrg); 62905b261ecSmrg 63005b261ecSmrgextern unsigned int XkbIndicatorsToUpdate( 63105b261ecSmrg DeviceIntPtr /* dev */, 63205b261ecSmrg unsigned long /* state_changes */, 63305b261ecSmrg Bool /* enabled_ctrl_changes */ 63405b261ecSmrg); 63505b261ecSmrg 63605b261ecSmrgextern void XkbComputeDerivedState( 63705b261ecSmrg XkbSrvInfoPtr /* xkbi */ 63805b261ecSmrg); 63905b261ecSmrg 64005b261ecSmrgextern void XkbCheckSecondaryEffects( 64105b261ecSmrg XkbSrvInfoPtr /* xkbi */, 64205b261ecSmrg unsigned int /* which */, 64305b261ecSmrg XkbChangesPtr /* changes */, 64405b261ecSmrg XkbEventCausePtr /* cause */ 64505b261ecSmrg); 64605b261ecSmrg 64705b261ecSmrgextern void XkbCheckIndicatorMaps( 64805b261ecSmrg DeviceIntPtr /* dev */, 64905b261ecSmrg XkbSrvLedInfoPtr /* sli */, 65005b261ecSmrg unsigned int /* which */ 65105b261ecSmrg); 65205b261ecSmrg 65305b261ecSmrgextern unsigned int XkbStateChangedFlags( 65405b261ecSmrg XkbStatePtr /* old */, 65505b261ecSmrg XkbStatePtr /* new */ 65605b261ecSmrg); 65705b261ecSmrg 65805b261ecSmrgextern void XkbSendStateNotify( 65905b261ecSmrg DeviceIntPtr /* kbd */, 66005b261ecSmrg xkbStateNotify * /* pSN */ 66105b261ecSmrg); 66205b261ecSmrg 66305b261ecSmrgextern void XkbSendMapNotify( 66405b261ecSmrg DeviceIntPtr /* kbd */, 66505b261ecSmrg xkbMapNotify * /* ev */ 66605b261ecSmrg); 66705b261ecSmrg 66805b261ecSmrgextern int XkbComputeControlsNotify( 66905b261ecSmrg DeviceIntPtr /* kbd */, 67005b261ecSmrg XkbControlsPtr /* old */, 67105b261ecSmrg XkbControlsPtr /* new */, 67205b261ecSmrg xkbControlsNotify * /* pCN */, 67305b261ecSmrg Bool /* forceCtrlProc */ 67405b261ecSmrg); 67505b261ecSmrg 67605b261ecSmrgextern void XkbSendControlsNotify( 67705b261ecSmrg DeviceIntPtr /* kbd */, 67805b261ecSmrg xkbControlsNotify * /* ev */ 67905b261ecSmrg); 68005b261ecSmrg 68105b261ecSmrgextern void XkbSendCompatMapNotify( 68205b261ecSmrg DeviceIntPtr /* kbd */, 68305b261ecSmrg xkbCompatMapNotify * /* ev */ 68405b261ecSmrg); 68505b261ecSmrg 68605b261ecSmrgextern void XkbHandleBell( 68705b261ecSmrg BOOL /* force */, 68805b261ecSmrg BOOL /* eventOnly */, 68905b261ecSmrg DeviceIntPtr /* kbd */, 69005b261ecSmrg CARD8 /* percent */, 69105b261ecSmrg pointer /* ctrl */, 69205b261ecSmrg CARD8 /* class */, 69305b261ecSmrg Atom /* name */, 69405b261ecSmrg WindowPtr /* pWin */, 69505b261ecSmrg ClientPtr /* pClient */ 69605b261ecSmrg); 69705b261ecSmrg 69805b261ecSmrgextern void XkbSendAccessXNotify( 69905b261ecSmrg DeviceIntPtr /* kbd */, 70005b261ecSmrg xkbAccessXNotify * /* pEv */ 70105b261ecSmrg); 70205b261ecSmrg 70305b261ecSmrgextern void XkbSendNamesNotify( 70405b261ecSmrg DeviceIntPtr /* kbd */, 70505b261ecSmrg xkbNamesNotify * /* ev */ 70605b261ecSmrg); 70705b261ecSmrg 70805b261ecSmrgextern void XkbSendCompatNotify( 70905b261ecSmrg DeviceIntPtr /* kbd */, 71005b261ecSmrg xkbCompatMapNotify * /* ev */ 71105b261ecSmrg); 71205b261ecSmrg 71305b261ecSmrgextern void XkbSendActionMessage( 71405b261ecSmrg DeviceIntPtr /* kbd */, 71505b261ecSmrg xkbActionMessage * /* ev */ 71605b261ecSmrg); 71705b261ecSmrg 71805b261ecSmrgextern void XkbSendExtensionDeviceNotify( 71905b261ecSmrg DeviceIntPtr /* kbd */, 72005b261ecSmrg ClientPtr /* client */, 72105b261ecSmrg xkbExtensionDeviceNotify * /* ev */ 72205b261ecSmrg); 72305b261ecSmrg 72405b261ecSmrgextern void XkbSendNotification( 72505b261ecSmrg DeviceIntPtr /* kbd */, 72605b261ecSmrg XkbChangesPtr /* pChanges */, 72705b261ecSmrg XkbEventCausePtr /* cause */ 72805b261ecSmrg); 72905b261ecSmrg 73005b261ecSmrgextern void XkbProcessKeyboardEvent( 73105b261ecSmrg struct _xEvent * /* xE */, 73205b261ecSmrg DeviceIntPtr /* keybd */, 73305b261ecSmrg int /* count */ 73405b261ecSmrg); 73505b261ecSmrg 73605b261ecSmrgextern void XkbHandleActions( 73705b261ecSmrg DeviceIntPtr /* dev */, 73805b261ecSmrg DeviceIntPtr /* kbd */, 73905b261ecSmrg struct _xEvent * /* xE */, 74005b261ecSmrg int /* count */ 74105b261ecSmrg); 74205b261ecSmrg 74305b261ecSmrgextern Bool XkbEnableDisableControls( 74405b261ecSmrg XkbSrvInfoPtr /* xkbi */, 74505b261ecSmrg unsigned long /* change */, 74605b261ecSmrg unsigned long /* newValues */, 74705b261ecSmrg XkbChangesPtr /* changes */, 74805b261ecSmrg XkbEventCausePtr /* cause */ 74905b261ecSmrg); 75005b261ecSmrg 75105b261ecSmrgextern void AccessXInit( 75205b261ecSmrg DeviceIntPtr /* dev */ 75305b261ecSmrg); 75405b261ecSmrg 75505b261ecSmrgextern Bool AccessXFilterPressEvent( 7564642e01fSmrg struct _xEvent * /* xE */, 7574642e01fSmrg DeviceIntPtr /* keybd */, 75805b261ecSmrg int /* count */ 75905b261ecSmrg); 76005b261ecSmrg 76105b261ecSmrgextern Bool AccessXFilterReleaseEvent( 7624642e01fSmrg struct _xEvent * /* xE */, 7634642e01fSmrg DeviceIntPtr /* keybd */, 76405b261ecSmrg int /* count */ 76505b261ecSmrg); 76605b261ecSmrg 76705b261ecSmrgextern void AccessXCancelRepeatKey( 76805b261ecSmrg XkbSrvInfoPtr /* xkbi */, 76905b261ecSmrg KeyCode /* key */ 77005b261ecSmrg); 77105b261ecSmrg 77205b261ecSmrgextern void AccessXComputeCurveFactor( 77305b261ecSmrg XkbSrvInfoPtr /* xkbi */, 77405b261ecSmrg XkbControlsPtr /* ctrls */ 77505b261ecSmrg); 77605b261ecSmrg 77705b261ecSmrgextern XkbInterestPtr XkbFindClientResource( 77805b261ecSmrg DevicePtr /* inDev */, 77905b261ecSmrg ClientPtr /* client */ 78005b261ecSmrg); 78105b261ecSmrg 78205b261ecSmrgextern XkbInterestPtr XkbAddClientResource( 78305b261ecSmrg DevicePtr /* inDev */, 78405b261ecSmrg ClientPtr /* client */, 78505b261ecSmrg XID /* id */ 78605b261ecSmrg); 78705b261ecSmrg 78805b261ecSmrgextern int XkbRemoveResourceClient( 78905b261ecSmrg DevicePtr /* inDev */, 79005b261ecSmrg XID /* id */ 79105b261ecSmrg); 79205b261ecSmrg 79305b261ecSmrgextern int XkbDDXInitDevice( 79405b261ecSmrg DeviceIntPtr /* dev */ 79505b261ecSmrg); 79605b261ecSmrg 79705b261ecSmrgextern int XkbDDXAccessXBeep( 79805b261ecSmrg DeviceIntPtr /* dev */, 79905b261ecSmrg unsigned int /* what */, 80005b261ecSmrg unsigned int /* which */ 80105b261ecSmrg); 80205b261ecSmrg 80305b261ecSmrgextern void XkbDDXKeyClick( 80405b261ecSmrg DeviceIntPtr /* dev */, 80505b261ecSmrg int /* keycode */, 80605b261ecSmrg int /* synthetic */ 80705b261ecSmrg); 80805b261ecSmrg 80905b261ecSmrgextern int XkbDDXUsesSoftRepeat( 81005b261ecSmrg DeviceIntPtr /* dev */ 81105b261ecSmrg); 81205b261ecSmrg 81305b261ecSmrgextern void XkbDDXKeybdCtrlProc( 81405b261ecSmrg DeviceIntPtr /* dev */, 81505b261ecSmrg KeybdCtrl * /* ctrl */ 81605b261ecSmrg); 81705b261ecSmrg 81805b261ecSmrgextern void XkbDDXChangeControls( 81905b261ecSmrg DeviceIntPtr /* dev */, 82005b261ecSmrg XkbControlsPtr /* old */, 82105b261ecSmrg XkbControlsPtr /* new */ 82205b261ecSmrg); 82305b261ecSmrg 82405b261ecSmrgextern void XkbDDXUpdateDeviceIndicators( 82505b261ecSmrg DeviceIntPtr /* dev */, 82605b261ecSmrg XkbSrvLedInfoPtr /* sli */, 82705b261ecSmrg CARD32 /* newState */ 82805b261ecSmrg); 82905b261ecSmrg 83005b261ecSmrgextern void XkbDDXFakePointerButton( 83105b261ecSmrg int /* event */, 83205b261ecSmrg int /* button */ 83305b261ecSmrg); 83405b261ecSmrg 83505b261ecSmrgextern void XkbDDXFakePointerMotion( 83605b261ecSmrg unsigned int /* flags */, 83705b261ecSmrg int /* x */, 83805b261ecSmrg int /* y */ 83905b261ecSmrg); 84005b261ecSmrg 84105b261ecSmrgextern void XkbDDXFakeDeviceButton( 84205b261ecSmrg DeviceIntPtr /* dev */, 84305b261ecSmrg Bool /* press */, 84405b261ecSmrg int /* button */ 84505b261ecSmrg); 84605b261ecSmrg 84705b261ecSmrgextern int XkbDDXTerminateServer( 84805b261ecSmrg DeviceIntPtr /* dev */, 84905b261ecSmrg KeyCode /* key */, 85005b261ecSmrg XkbAction * /* act */ 85105b261ecSmrg); 85205b261ecSmrg 85305b261ecSmrgextern int XkbDDXSwitchScreen( 85405b261ecSmrg DeviceIntPtr /* dev */, 85505b261ecSmrg KeyCode /* key */, 85605b261ecSmrg XkbAction * /* act */ 85705b261ecSmrg); 85805b261ecSmrg 85905b261ecSmrgextern int XkbDDXPrivate( 86005b261ecSmrg DeviceIntPtr /* dev */, 86105b261ecSmrg KeyCode /* key */, 86205b261ecSmrg XkbAction * /* act */ 86305b261ecSmrg); 86405b261ecSmrg 86505b261ecSmrgextern void XkbDisableComputedAutoRepeats( 86605b261ecSmrg DeviceIntPtr /* pXDev */, 86705b261ecSmrg unsigned int /* key */ 86805b261ecSmrg); 86905b261ecSmrg 87005b261ecSmrgextern void XkbSetRepeatKeys( 87105b261ecSmrg DeviceIntPtr /* pXDev */, 87205b261ecSmrg int /* key */, 87305b261ecSmrg int /* onoff */ 87405b261ecSmrg); 87505b261ecSmrg 87605b261ecSmrgextern int XkbLatchModifiers( 87705b261ecSmrg DeviceIntPtr /* pXDev */, 87805b261ecSmrg CARD8 /* mask */, 87905b261ecSmrg CARD8 /* latches */ 88005b261ecSmrg); 88105b261ecSmrg 88205b261ecSmrgextern int XkbLatchGroup( 88305b261ecSmrg DeviceIntPtr /* pXDev */, 88405b261ecSmrg int /* group */ 88505b261ecSmrg); 88605b261ecSmrg 88705b261ecSmrgextern void XkbClearAllLatchesAndLocks( 88805b261ecSmrg DeviceIntPtr /* dev */, 88905b261ecSmrg XkbSrvInfoPtr /* xkbi */, 89005b261ecSmrg Bool /* genEv */, 89105b261ecSmrg XkbEventCausePtr /* cause */ 89205b261ecSmrg); 89305b261ecSmrg 89405b261ecSmrgextern void XkbSetRulesDflts( 89505b261ecSmrg char * /* rulesFile */, 89605b261ecSmrg char * /* model */, 89705b261ecSmrg char * /* layout */, 89805b261ecSmrg char * /* variant */, 89905b261ecSmrg char * /* options */ 90005b261ecSmrg); 90105b261ecSmrg 9024642e01fSmrgextern void XkbDeleteRulesDflts( 9034642e01fSmrg void 9044642e01fSmrg); 9054642e01fSmrg 90605b261ecSmrgextern void XkbInitDevice( 90705b261ecSmrg DeviceIntPtr /* pXDev */ 90805b261ecSmrg); 90905b261ecSmrg 91005b261ecSmrgextern Bool XkbInitKeyboardDeviceStruct( 91105b261ecSmrg DeviceIntPtr /* pXDev */, 91205b261ecSmrg XkbComponentNamesPtr /* pNames */, 91305b261ecSmrg KeySymsPtr /* pSyms */, 91405b261ecSmrg CARD8 /* pMods */[], 91505b261ecSmrg BellProcPtr /* bellProc */, 91605b261ecSmrg KbdCtrlProcPtr /* ctrlProc */ 91705b261ecSmrg); 91805b261ecSmrg 91905b261ecSmrgextern int SProcXkbDispatch( 92005b261ecSmrg ClientPtr /* client */ 92105b261ecSmrg); 92205b261ecSmrg 92305b261ecSmrgextern XkbGeometryPtr XkbLookupNamedGeometry( 92405b261ecSmrg DeviceIntPtr /* dev */, 92505b261ecSmrg Atom /* name */, 92605b261ecSmrg Bool * /* shouldFree */ 92705b261ecSmrg); 92805b261ecSmrg 92905b261ecSmrgextern char * _XkbDupString( 93005b261ecSmrg char * /* str */ 93105b261ecSmrg); 93205b261ecSmrg 93305b261ecSmrgextern void XkbConvertCase( 93405b261ecSmrg KeySym /* sym */, 93505b261ecSmrg KeySym * /* lower */, 93605b261ecSmrg KeySym * /* upper */ 93705b261ecSmrg); 93805b261ecSmrg 93905b261ecSmrgextern Status XkbChangeKeycodeRange( 94005b261ecSmrg XkbDescPtr /* xkb */, 94105b261ecSmrg int /* minKC */, 94205b261ecSmrg int /* maxKC */, 94305b261ecSmrg XkbChangesPtr /* changes */ 94405b261ecSmrg); 94505b261ecSmrg 94605b261ecSmrgextern int XkbFinishDeviceInit( 94705b261ecSmrg DeviceIntPtr /* pXDev */ 94805b261ecSmrg); 94905b261ecSmrg 95005b261ecSmrgextern void XkbFreeSrvLedInfo( 95105b261ecSmrg XkbSrvLedInfoPtr /* sli */ 95205b261ecSmrg); 95305b261ecSmrg 95405b261ecSmrgextern void XkbFreeInfo( 95505b261ecSmrg XkbSrvInfoPtr /* xkbi */ 95605b261ecSmrg); 95705b261ecSmrg 95805b261ecSmrgextern Status XkbChangeTypesOfKey( 95905b261ecSmrg XkbDescPtr /* xkb */, 96005b261ecSmrg int /* key */, 96105b261ecSmrg int /* nGroups */, 96205b261ecSmrg unsigned int /* groups */, 96305b261ecSmrg int * /* newTypesIn */, 96405b261ecSmrg XkbMapChangesPtr /* changes */ 96505b261ecSmrg); 96605b261ecSmrg 96705b261ecSmrgextern int XkbKeyTypesForCoreSymbols( 96805b261ecSmrg XkbDescPtr /* xkb */, 96905b261ecSmrg int /* map_width */, 97005b261ecSmrg KeySym * /* core_syms */, 97105b261ecSmrg unsigned int /* protected */, 97205b261ecSmrg int * /* types_inout */, 97305b261ecSmrg KeySym * /* xkb_syms_rtrn */ 97405b261ecSmrg); 97505b261ecSmrg 97605b261ecSmrgextern Bool XkbApplyCompatMapToKey( 97705b261ecSmrg XkbDescPtr /* xkb */, 97805b261ecSmrg KeyCode /* key */, 97905b261ecSmrg XkbChangesPtr /* changes */ 98005b261ecSmrg); 98105b261ecSmrg 98205b261ecSmrgextern Bool XkbApplyVirtualModChanges( 98305b261ecSmrg XkbDescPtr /* xkb */, 98405b261ecSmrg unsigned int /* changed */, 98505b261ecSmrg XkbChangesPtr /* changes */ 98605b261ecSmrg); 98705b261ecSmrg 98805b261ecSmrgextern void XkbSendNewKeyboardNotify( 98905b261ecSmrg DeviceIntPtr /* kbd */, 99005b261ecSmrg xkbNewKeyboardNotify * /* pNKN */ 99105b261ecSmrg); 99205b261ecSmrg 9934642e01fSmrg#include "xkbfile.h" 99405b261ecSmrg#include <X11/extensions/XKMformat.h> 9954642e01fSmrg#include "xkbrules.h" 99605b261ecSmrg 99705b261ecSmrg#define _XkbListKeymaps 0 99805b261ecSmrg#define _XkbListKeycodes 1 99905b261ecSmrg#define _XkbListTypes 2 100005b261ecSmrg#define _XkbListCompat 3 100105b261ecSmrg#define _XkbListSymbols 4 100205b261ecSmrg#define _XkbListGeometry 5 100305b261ecSmrg#define _XkbListNumComponents 6 100405b261ecSmrg 100505b261ecSmrgtypedef struct _XkbSrvListInfo { 100605b261ecSmrg int szPool; 100705b261ecSmrg int nPool; 100805b261ecSmrg char * pool; 100905b261ecSmrg 101005b261ecSmrg int maxRtrn; 101105b261ecSmrg int nTotal; 101205b261ecSmrg 101305b261ecSmrg char * pattern[_XkbListNumComponents]; 101405b261ecSmrg int nFound[_XkbListNumComponents]; 101505b261ecSmrg} XkbSrvListInfoRec,*XkbSrvListInfoPtr; 101605b261ecSmrg 101705b261ecSmrgextern Status XkbDDXList( 101805b261ecSmrg DeviceIntPtr /* dev */, 101905b261ecSmrg XkbSrvListInfoPtr /* listing */, 102005b261ecSmrg ClientPtr /* client */ 102105b261ecSmrg); 102205b261ecSmrg 102305b261ecSmrgextern unsigned int XkbDDXLoadKeymapByNames( 102405b261ecSmrg DeviceIntPtr /* keybd */, 102505b261ecSmrg XkbComponentNamesPtr /* names */, 102605b261ecSmrg unsigned int /* want */, 102705b261ecSmrg unsigned int /* need */, 10284642e01fSmrg XkbDescPtr * /* finfoRtrn */, 102905b261ecSmrg char * /* keymapNameRtrn */, 103005b261ecSmrg int /* keymapNameRtrnLen */ 103105b261ecSmrg); 103205b261ecSmrg 103305b261ecSmrgextern Bool XkbDDXNamesFromRules( 103405b261ecSmrg DeviceIntPtr /* keybd */, 103505b261ecSmrg char * /* rules */, 103605b261ecSmrg XkbRF_VarDefsPtr /* defs */, 103705b261ecSmrg XkbComponentNamesPtr /* names */ 103805b261ecSmrg); 103905b261ecSmrg 104005b261ecSmrgextern Bool XkbDDXApplyConfig( 10414642e01fSmrg void * /* cfg_in */, 104205b261ecSmrg XkbSrvInfoPtr /* xkbi */ 104305b261ecSmrg); 104405b261ecSmrg 104505b261ecSmrgextern int _XkbStrCaseCmp( 104605b261ecSmrg char * /* str1 */, 104705b261ecSmrg char * /* str2 */ 104805b261ecSmrg); 104905b261ecSmrg 105005b261ecSmrg_XFUNCPROTOEND 105105b261ecSmrg 10524642e01fSmrg#define XkbAtomGetString(s) NameForAtom(s) 105305b261ecSmrg 105405b261ecSmrg#endif /* _XKBSRV_H_ */ 1055