xkbsrv.h revision 6747b715
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" 576747b715Smrg#include "xkbrules.h" 5805b261ecSmrg#include "inputstr.h" 596747b715Smrg#include "events.h" 6005b261ecSmrg 6105b261ecSmrgtypedef struct _XkbInterest { 6205b261ecSmrg DeviceIntPtr dev; 6305b261ecSmrg ClientPtr client; 6405b261ecSmrg XID resource; 6505b261ecSmrg struct _XkbInterest * next; 6605b261ecSmrg CARD16 extDevNotifyMask; 6705b261ecSmrg CARD16 stateNotifyMask; 6805b261ecSmrg CARD16 namesNotifyMask; 6905b261ecSmrg CARD32 ctrlsNotifyMask; 7005b261ecSmrg CARD8 compatNotifyMask; 7105b261ecSmrg BOOL bellNotifyMask; 7205b261ecSmrg BOOL actionMessageMask; 7305b261ecSmrg CARD16 accessXNotifyMask; 7405b261ecSmrg CARD32 iStateNotifyMask; 7505b261ecSmrg CARD32 iMapNotifyMask; 7605b261ecSmrg CARD16 altSymsNotifyMask; 7705b261ecSmrg CARD32 autoCtrls; 7805b261ecSmrg CARD32 autoCtrlValues; 7905b261ecSmrg} XkbInterestRec,*XkbInterestPtr; 8005b261ecSmrg 8105b261ecSmrgtypedef struct _XkbRadioGroup { 8205b261ecSmrg CARD8 flags; 8305b261ecSmrg CARD8 nMembers; 8405b261ecSmrg CARD8 dfltDown; 8505b261ecSmrg CARD8 currentDown; 8605b261ecSmrg CARD8 members[XkbRGMaxMembers]; 8705b261ecSmrg} XkbRadioGroupRec, *XkbRadioGroupPtr; 8805b261ecSmrg 8905b261ecSmrgtypedef struct _XkbEventCause { 9005b261ecSmrg CARD8 kc; 9105b261ecSmrg CARD8 event; 9205b261ecSmrg CARD8 mjr; 9305b261ecSmrg CARD8 mnr; 9405b261ecSmrg ClientPtr client; 9505b261ecSmrg} XkbEventCauseRec,*XkbEventCausePtr; 9605b261ecSmrg#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\ 9705b261ecSmrg (c)->mjr= (c)->mnr= 0; \ 9805b261ecSmrg (c)->client= NULL; } 9905b261ecSmrg#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\ 10005b261ecSmrg (c)->mjr= (j),(c)->mnr= (n);\ 10105b261ecSmrg (c)->client= (cl); } 10205b261ecSmrg#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl) 10305b261ecSmrg#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl) 10405b261ecSmrg#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0) 10505b261ecSmrg 10605b261ecSmrg#define _OFF_TIMER 0 10705b261ecSmrg#define _KRG_WARN_TIMER 1 10805b261ecSmrg#define _KRG_TIMER 2 10905b261ecSmrg#define _SK_TIMEOUT_TIMER 3 11005b261ecSmrg#define _ALL_TIMEOUT_TIMER 4 11105b261ecSmrg 11205b261ecSmrg#define _BEEP_NONE 0 11305b261ecSmrg#define _BEEP_FEATURE_ON 1 11405b261ecSmrg#define _BEEP_FEATURE_OFF 2 11505b261ecSmrg#define _BEEP_FEATURE_CHANGE 3 11605b261ecSmrg#define _BEEP_SLOW_WARN 4 11705b261ecSmrg#define _BEEP_SLOW_PRESS 5 11805b261ecSmrg#define _BEEP_SLOW_ACCEPT 6 11905b261ecSmrg#define _BEEP_SLOW_REJECT 7 12005b261ecSmrg#define _BEEP_SLOW_RELEASE 8 12105b261ecSmrg#define _BEEP_STICKY_LATCH 9 12205b261ecSmrg#define _BEEP_STICKY_LOCK 10 12305b261ecSmrg#define _BEEP_STICKY_UNLOCK 11 12405b261ecSmrg#define _BEEP_LED_ON 12 12505b261ecSmrg#define _BEEP_LED_OFF 13 12605b261ecSmrg#define _BEEP_LED_CHANGE 14 12705b261ecSmrg#define _BEEP_BOUNCE_REJECT 15 12805b261ecSmrg 12905b261ecSmrgtypedef struct _XkbFilter { 13005b261ecSmrg CARD16 keycode; 13105b261ecSmrg CARD8 what; 13205b261ecSmrg CARD8 active; 13305b261ecSmrg CARD8 filterOthers; 13405b261ecSmrg CARD32 priv; 13505b261ecSmrg XkbAction upAction; 13605b261ecSmrg int (*filter)( 13705b261ecSmrg struct _XkbSrvInfo* /* xkbi */, 13805b261ecSmrg struct _XkbFilter * /* filter */, 13905b261ecSmrg unsigned /* keycode */, 14005b261ecSmrg XkbAction * /* action */ 14105b261ecSmrg ); 14205b261ecSmrg struct _XkbFilter *next; 14305b261ecSmrg} XkbFilterRec,*XkbFilterPtr; 14405b261ecSmrg 14505b261ecSmrgtypedef struct _XkbSrvInfo { 14605b261ecSmrg XkbStateRec prev_state; 14705b261ecSmrg XkbStateRec state; 14805b261ecSmrg XkbDescPtr desc; 14905b261ecSmrg 15005b261ecSmrg DeviceIntPtr device; 15105b261ecSmrg KbdCtrlProcPtr kbdProc; 15205b261ecSmrg 15305b261ecSmrg XkbRadioGroupPtr radioGroups; 15405b261ecSmrg CARD8 nRadioGroups; 15505b261ecSmrg CARD8 clearMods; 15605b261ecSmrg CARD8 setMods; 15705b261ecSmrg INT16 groupChange; 15805b261ecSmrg 15905b261ecSmrg CARD16 dfltPtrDelta; 16005b261ecSmrg 16105b261ecSmrg double mouseKeysCurve; 16205b261ecSmrg double mouseKeysCurveFactor; 16305b261ecSmrg INT16 mouseKeysDX; 16405b261ecSmrg INT16 mouseKeysDY; 16505b261ecSmrg CARD8 mouseKeysFlags; 16605b261ecSmrg Bool mouseKeysAccel; 16705b261ecSmrg CARD8 mouseKeysCounter; 16805b261ecSmrg 16905b261ecSmrg CARD8 lockedPtrButtons; 17005b261ecSmrg CARD8 shiftKeyCount; 17105b261ecSmrg KeyCode mouseKey; 17205b261ecSmrg KeyCode inactiveKey; 17305b261ecSmrg KeyCode slowKey; 17405b261ecSmrg KeyCode repeatKey; 17505b261ecSmrg CARD8 krgTimerActive; 17605b261ecSmrg CARD8 beepType; 17705b261ecSmrg CARD8 beepCount; 17805b261ecSmrg 17905b261ecSmrg CARD32 flags; 18005b261ecSmrg CARD32 lastPtrEventTime; 18105b261ecSmrg CARD32 lastShiftEventTime; 18205b261ecSmrg OsTimerPtr beepTimer; 18305b261ecSmrg OsTimerPtr mouseKeyTimer; 18405b261ecSmrg OsTimerPtr slowKeysTimer; 18505b261ecSmrg OsTimerPtr bounceKeysTimer; 18605b261ecSmrg OsTimerPtr repeatKeyTimer; 18705b261ecSmrg OsTimerPtr krgTimer; 18805b261ecSmrg 18905b261ecSmrg int szFilters; 19005b261ecSmrg XkbFilterPtr filters; 19105b261ecSmrg} XkbSrvInfoRec, *XkbSrvInfoPtr; 19205b261ecSmrg 19305b261ecSmrg#define XkbSLI_IsDefault (1L<<0) 19405b261ecSmrg#define XkbSLI_HasOwnState (1L<<1) 19505b261ecSmrg 19605b261ecSmrgtypedef struct _XkbSrvLedInfo { 19705b261ecSmrg CARD16 flags; 19805b261ecSmrg CARD16 class; 19905b261ecSmrg CARD16 id; 20005b261ecSmrg union { 20105b261ecSmrg KbdFeedbackPtr kf; 20205b261ecSmrg LedFeedbackPtr lf; 20305b261ecSmrg } fb; 20405b261ecSmrg 20505b261ecSmrg CARD32 physIndicators; 20605b261ecSmrg CARD32 autoState; 20705b261ecSmrg CARD32 explicitState; 20805b261ecSmrg CARD32 effectiveState; 20905b261ecSmrg 21005b261ecSmrg CARD32 mapsPresent; 21105b261ecSmrg CARD32 namesPresent; 21205b261ecSmrg XkbIndicatorMapPtr maps; 21305b261ecSmrg Atom * names; 21405b261ecSmrg 21505b261ecSmrg CARD32 usesBase; 21605b261ecSmrg CARD32 usesLatched; 21705b261ecSmrg CARD32 usesLocked; 21805b261ecSmrg CARD32 usesEffective; 21905b261ecSmrg CARD32 usesCompat; 22005b261ecSmrg CARD32 usesControls; 22105b261ecSmrg 22205b261ecSmrg CARD32 usedComponents; 22305b261ecSmrg} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr; 22405b261ecSmrg 22505b261ecSmrg/* 22605b261ecSmrg * Settings for xkbClientFlags field (used by DIX) 22705b261ecSmrg * These flags _must_ not overlap with XkbPCF_* 22805b261ecSmrg */ 22905b261ecSmrg#define _XkbClientInitialized (1<<15) 23005b261ecSmrg 23105b261ecSmrg#define _XkbWantsDetectableAutoRepeat(c)\ 23205b261ecSmrg ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask) 23305b261ecSmrg 23405b261ecSmrg/* 23505b261ecSmrg * Settings for flags field 23605b261ecSmrg */ 23705b261ecSmrg#define _XkbStateNotifyInProgress (1<<0) 23805b261ecSmrg 23905b261ecSmrgtypedef struct 24005b261ecSmrg{ 24105b261ecSmrg ProcessInputProc processInputProc; 24205b261ecSmrg /* If processInputProc is set to something different than realInputProc, 24305b261ecSmrg * UNWRAP and COND_WRAP will not touch processInputProc and update only 24405b261ecSmrg * realInputProc. This ensures that 24505b261ecSmrg * processInputProc == (frozen ? EnqueueEvent : realInputProc) 24605b261ecSmrg * 24705b261ecSmrg * WRAP_PROCESS_INPUT_PROC should only be called during initialization, 24805b261ecSmrg * since it may destroy this invariant. 24905b261ecSmrg */ 25005b261ecSmrg ProcessInputProc realInputProc; 25105b261ecSmrg DeviceUnwrapProc unwrapProc; 25205b261ecSmrg} xkbDeviceInfoRec, *xkbDeviceInfoPtr; 25305b261ecSmrg 25405b261ecSmrg#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \ 25505b261ecSmrg device->public.processInputProc = proc; \ 25605b261ecSmrg oldprocs->processInputProc = \ 25705b261ecSmrg oldprocs->realInputProc = device->public.realInputProc; \ 25805b261ecSmrg device->public.realInputProc = proc; \ 25905b261ecSmrg oldprocs->unwrapProc = device->unwrapProc; \ 26005b261ecSmrg device->unwrapProc = unwrapproc; 26105b261ecSmrg 26205b261ecSmrg#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \ 26305b261ecSmrg if (device->public.processInputProc == device->public.realInputProc)\ 26405b261ecSmrg device->public.processInputProc = proc; \ 26505b261ecSmrg oldprocs->processInputProc = \ 26605b261ecSmrg oldprocs->realInputProc = device->public.realInputProc; \ 26705b261ecSmrg device->public.realInputProc = proc; \ 26805b261ecSmrg oldprocs->unwrapProc = device->unwrapProc; \ 26905b261ecSmrg device->unwrapProc = unwrapproc; 27005b261ecSmrg 27105b261ecSmrg#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \ 27205b261ecSmrg backupproc = device->public.realInputProc; \ 27305b261ecSmrg if (device->public.processInputProc == device->public.realInputProc)\ 27405b261ecSmrg device->public.processInputProc = oldprocs->realInputProc; \ 27505b261ecSmrg device->public.realInputProc = oldprocs->realInputProc; \ 27605b261ecSmrg device->unwrapProc = oldprocs->unwrapProc; 27705b261ecSmrg 2786747b715Smrgextern _X_EXPORT DevPrivateKeyRec xkbDevicePrivateKeyRec; 2796747b715Smrg#define xkbDevicePrivateKey (&xkbDevicePrivateKeyRec) 2806747b715Smrg 2814642e01fSmrg#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr)dixLookupPrivate(&(dev)->devPrivates, xkbDevicePrivateKey)) 28205b261ecSmrg 28305b261ecSmrgextern void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, pointer); 28405b261ecSmrg 28505b261ecSmrg/***====================================================================***/ 28605b261ecSmrg 28705b261ecSmrg 28805b261ecSmrg/***====================================================================***/ 28905b261ecSmrg 29005b261ecSmrg#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask) 29105b261ecSmrg#define XkbAllFilteredEventsMask \ 29205b261ecSmrg (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask) 29305b261ecSmrg 29405b261ecSmrg/***====================================================================***/ 29505b261ecSmrg 2966747b715Smrgextern _X_EXPORT int XkbReqCode; 2976747b715Smrgextern _X_EXPORT int XkbEventBase; 2986747b715Smrgextern _X_EXPORT int XkbKeyboardErrorCode; 2996747b715Smrgextern _X_EXPORT char * XkbBaseDirectory; 3006747b715Smrgextern _X_EXPORT char * XkbBinDirectory; 30105b261ecSmrg 3026747b715Smrgextern _X_EXPORT CARD32 xkbDebugFlags; 30305b261ecSmrg 3044642e01fSmrg#define _XkbLibError(c,l,d) /* Epoch fail */ 30505b261ecSmrg#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff))) 30605b261ecSmrg#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c)) 30705b261ecSmrg#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d))) 30805b261ecSmrg 3096747b715Smrgextern _X_EXPORT int DeviceKeyPress,DeviceKeyRelease,DeviceMotionNotify; 3106747b715Smrgextern _X_EXPORT int DeviceButtonPress,DeviceButtonRelease; 31105b261ecSmrg 31205b261ecSmrg#define Status int 31305b261ecSmrg 3146747b715Smrgextern _X_EXPORT void XkbUseMsg( 31505b261ecSmrg void 31605b261ecSmrg); 31705b261ecSmrg 3186747b715Smrgextern _X_EXPORT int XkbProcessArguments( 31905b261ecSmrg int /* argc */, 32005b261ecSmrg char ** /* argv */, 32105b261ecSmrg int /* i */ 32205b261ecSmrg); 32305b261ecSmrg 3246747b715Smrgextern _X_EXPORT Bool XkbInitPrivates(void); 3256747b715Smrg 3266747b715Smrgextern _X_EXPORT void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc); 32705b261ecSmrg 3286747b715Smrgextern _X_EXPORT void XkbFreeCompatMap( 32905b261ecSmrg XkbDescPtr /* xkb */, 33005b261ecSmrg unsigned int /* which */, 33105b261ecSmrg Bool /* freeMap */ 33205b261ecSmrg); 33305b261ecSmrg 3346747b715Smrgextern _X_EXPORT void XkbFreeNames( 33505b261ecSmrg XkbDescPtr /* xkb */, 33605b261ecSmrg unsigned int /* which */, 33705b261ecSmrg Bool /* freeMap */ 33805b261ecSmrg); 33905b261ecSmrg 3406747b715Smrgextern _X_EXPORT int _XkbLookupAnyDevice( 3414642e01fSmrg DeviceIntPtr *pDev, 3424642e01fSmrg int id, 3434642e01fSmrg ClientPtr client, 3444642e01fSmrg Mask access_mode, 3454642e01fSmrg int *xkb_err 34605b261ecSmrg); 34705b261ecSmrg 3486747b715Smrgextern _X_EXPORT int _XkbLookupKeyboard( 3494642e01fSmrg DeviceIntPtr *pDev, 3504642e01fSmrg int id, 3514642e01fSmrg ClientPtr client, 3524642e01fSmrg Mask access_mode, 3534642e01fSmrg int *xkb_err 35405b261ecSmrg); 35505b261ecSmrg 3566747b715Smrgextern _X_EXPORT int _XkbLookupBellDevice( 3574642e01fSmrg DeviceIntPtr *pDev, 3584642e01fSmrg int id, 3594642e01fSmrg ClientPtr client, 3604642e01fSmrg Mask access_mode, 3614642e01fSmrg int *xkb_err 36205b261ecSmrg); 36305b261ecSmrg 3646747b715Smrgextern _X_EXPORT int _XkbLookupLedDevice( 3654642e01fSmrg DeviceIntPtr *pDev, 3664642e01fSmrg int id, 3674642e01fSmrg ClientPtr client, 3684642e01fSmrg Mask access_mode, 3694642e01fSmrg int *xkb_err 37005b261ecSmrg); 37105b261ecSmrg 3726747b715Smrgextern _X_EXPORT int _XkbLookupButtonDevice( 3734642e01fSmrg DeviceIntPtr *pDev, 3744642e01fSmrg int id, 3754642e01fSmrg ClientPtr client, 3764642e01fSmrg Mask access_mode, 3774642e01fSmrg int *xkb_err 37805b261ecSmrg); 37905b261ecSmrg 3806747b715Smrgextern _X_EXPORT XkbDescPtr XkbAllocKeyboard( 38105b261ecSmrg void 38205b261ecSmrg); 38305b261ecSmrg 3846747b715Smrgextern _X_EXPORT Status XkbAllocClientMap( 38505b261ecSmrg XkbDescPtr /* xkb */, 38605b261ecSmrg unsigned int /* which */, 38705b261ecSmrg unsigned int /* nTypes */ 38805b261ecSmrg); 38905b261ecSmrg 3906747b715Smrgextern _X_EXPORT Status XkbAllocServerMap( 39105b261ecSmrg XkbDescPtr /* xkb */, 39205b261ecSmrg unsigned int /* which */, 39305b261ecSmrg unsigned int /* nNewActions */ 39405b261ecSmrg); 39505b261ecSmrg 3966747b715Smrgextern _X_EXPORT void XkbFreeClientMap( 39705b261ecSmrg XkbDescPtr /* xkb */, 39805b261ecSmrg unsigned int /* what */, 39905b261ecSmrg Bool /* freeMap */ 40005b261ecSmrg); 40105b261ecSmrg 4026747b715Smrgextern _X_EXPORT void XkbFreeServerMap( 40305b261ecSmrg XkbDescPtr /* xkb */, 40405b261ecSmrg unsigned int /* what */, 40505b261ecSmrg Bool /* freeMap */ 40605b261ecSmrg); 40705b261ecSmrg 4086747b715Smrgextern _X_EXPORT Status XkbAllocIndicatorMaps( 40905b261ecSmrg XkbDescPtr /* xkb */ 41005b261ecSmrg); 41105b261ecSmrg 4126747b715Smrgextern _X_EXPORT Status XkbAllocCompatMap( 41305b261ecSmrg XkbDescPtr /* xkb */, 41405b261ecSmrg unsigned int /* which */, 41505b261ecSmrg unsigned int /* nInterpret */ 41605b261ecSmrg); 41705b261ecSmrg 4186747b715Smrgextern _X_EXPORT Status XkbAllocNames( 41905b261ecSmrg XkbDescPtr /* xkb */, 42005b261ecSmrg unsigned int /* which */, 42105b261ecSmrg int /* nTotalRG */, 42205b261ecSmrg int /* nTotalAliases */ 42305b261ecSmrg); 42405b261ecSmrg 4256747b715Smrgextern _X_EXPORT Status XkbAllocControls( 42605b261ecSmrg XkbDescPtr /* xkb */, 42705b261ecSmrg unsigned int /* which*/ 42805b261ecSmrg); 42905b261ecSmrg 4306747b715Smrgextern _X_EXPORT Status XkbCopyKeyTypes( 43105b261ecSmrg XkbKeyTypePtr /* from */, 43205b261ecSmrg XkbKeyTypePtr /* into */, 43305b261ecSmrg int /* num_types */ 43405b261ecSmrg); 43505b261ecSmrg 4366747b715Smrgextern _X_EXPORT Status XkbResizeKeyType( 43705b261ecSmrg XkbDescPtr /* xkb */, 43805b261ecSmrg int /* type_ndx */, 43905b261ecSmrg int /* map_count */, 44005b261ecSmrg Bool /* want_preserve */, 44105b261ecSmrg int /* new_num_lvls */ 44205b261ecSmrg); 44305b261ecSmrg 4446747b715Smrgextern _X_EXPORT void XkbFreeKeyboard( 44505b261ecSmrg XkbDescPtr /* xkb */, 44605b261ecSmrg unsigned int /* which */, 44705b261ecSmrg Bool /* freeDesc */ 44805b261ecSmrg); 44905b261ecSmrg 4506747b715Smrgextern _X_EXPORT void XkbSetActionKeyMods( 45105b261ecSmrg XkbDescPtr /* xkb */, 45205b261ecSmrg XkbAction * /* act */, 45305b261ecSmrg unsigned int /* mods */ 45405b261ecSmrg); 45505b261ecSmrg 4566747b715Smrgextern _X_EXPORT unsigned int XkbMaskForVMask( 45705b261ecSmrg XkbDescPtr /* xkb */, 45805b261ecSmrg unsigned int /* vmask */ 45905b261ecSmrg); 46005b261ecSmrg 4616747b715Smrgextern _X_EXPORT Bool XkbVirtualModsToReal( 46205b261ecSmrg XkbDescPtr /* xkb */, 46305b261ecSmrg unsigned int /* virtua_mask */, 46405b261ecSmrg unsigned int * /* mask_rtrn */ 46505b261ecSmrg); 46605b261ecSmrg 4676747b715Smrgextern _X_EXPORT unsigned int XkbAdjustGroup( 46805b261ecSmrg int /* group */, 46905b261ecSmrg XkbControlsPtr /* ctrls */ 47005b261ecSmrg); 47105b261ecSmrg 4726747b715Smrgextern _X_EXPORT KeySym *XkbResizeKeySyms( 47305b261ecSmrg XkbDescPtr /* xkb */, 47405b261ecSmrg int /* key */, 47505b261ecSmrg int /* needed */ 47605b261ecSmrg); 47705b261ecSmrg 4786747b715Smrgextern _X_EXPORT XkbAction *XkbResizeKeyActions( 47905b261ecSmrg XkbDescPtr /* xkb */, 48005b261ecSmrg int /* key */, 48105b261ecSmrg int /* needed */ 48205b261ecSmrg); 48305b261ecSmrg 4846747b715Smrgextern _X_EXPORT void XkbUpdateKeyTypesFromCore( 48505b261ecSmrg DeviceIntPtr /* pXDev */, 4866747b715Smrg KeySymsPtr /* syms */, 48705b261ecSmrg KeyCode /* first */, 48805b261ecSmrg CARD8 /* num */, 48905b261ecSmrg XkbChangesPtr /* pChanges */ 49005b261ecSmrg); 49105b261ecSmrg 4926747b715Smrgextern _X_EXPORT void XkbUpdateDescActions( 49305b261ecSmrg XkbDescPtr /* xkb */, 49405b261ecSmrg KeyCode /* first */, 49505b261ecSmrg CARD8 /* num */, 49605b261ecSmrg XkbChangesPtr /* changes */ 49705b261ecSmrg); 49805b261ecSmrg 4996747b715Smrgextern _X_EXPORT void XkbUpdateActions( 50005b261ecSmrg DeviceIntPtr /* pXDev */, 50105b261ecSmrg KeyCode /* first */, 50205b261ecSmrg CARD8 /* num */, 50305b261ecSmrg XkbChangesPtr /* pChanges */, 50405b261ecSmrg unsigned int * /* needChecksRtrn */, 50505b261ecSmrg XkbEventCausePtr /* cause */ 50605b261ecSmrg); 50705b261ecSmrg 5086747b715Smrgextern _X_EXPORT KeySymsPtr XkbGetCoreMap( 5096747b715Smrg DeviceIntPtr /* keybd */ 51005b261ecSmrg); 51105b261ecSmrg 5126747b715Smrgextern _X_EXPORT void XkbApplyMappingChange( 51305b261ecSmrg DeviceIntPtr /* pXDev */, 5146747b715Smrg KeySymsPtr /* map */, 5156747b715Smrg KeyCode /* firstKey */, 5166747b715Smrg CARD8 /* num */, 5176747b715Smrg CARD8 * /* modmap */, 51805b261ecSmrg ClientPtr /* client */ 51905b261ecSmrg); 52005b261ecSmrg 5216747b715Smrgextern _X_EXPORT void XkbSetIndicators( 52205b261ecSmrg DeviceIntPtr /* pXDev */, 52305b261ecSmrg CARD32 /* affect */, 52405b261ecSmrg CARD32 /* values */, 52505b261ecSmrg XkbEventCausePtr /* cause */ 52605b261ecSmrg); 52705b261ecSmrg 5286747b715Smrgextern _X_EXPORT void XkbUpdateIndicators( 52905b261ecSmrg DeviceIntPtr /* keybd */, 53005b261ecSmrg CARD32 /* changed */, 53105b261ecSmrg Bool /* check_edevs */, 53205b261ecSmrg XkbChangesPtr /* pChanges */, 53305b261ecSmrg XkbEventCausePtr /* cause */ 53405b261ecSmrg); 53505b261ecSmrg 5366747b715Smrgextern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo( 53705b261ecSmrg DeviceIntPtr /* dev */, 53805b261ecSmrg KbdFeedbackPtr /* kf */, 53905b261ecSmrg LedFeedbackPtr /* lf */, 54005b261ecSmrg unsigned int /* needed_parts */ 54105b261ecSmrg); 54205b261ecSmrg 5436747b715Smrgextern _X_EXPORT XkbSrvLedInfoPtr XkbCopySrvLedInfo( 5444642e01fSmrg DeviceIntPtr /* dev */, 5454642e01fSmrg XkbSrvLedInfoPtr /* src */, 5464642e01fSmrg KbdFeedbackPtr /* kf */, 5474642e01fSmrg LedFeedbackPtr /* lf */ 5484642e01fSmrg); 5494642e01fSmrg 5504642e01fSmrg 5516747b715Smrgextern _X_EXPORT XkbSrvLedInfoPtr XkbFindSrvLedInfo( 55205b261ecSmrg DeviceIntPtr /* dev */, 55305b261ecSmrg unsigned int /* class */, 55405b261ecSmrg unsigned int /* id */, 55505b261ecSmrg unsigned int /* needed_parts */ 55605b261ecSmrg); 55705b261ecSmrg 5586747b715Smrgextern _X_EXPORT void XkbApplyLedNameChanges( 55905b261ecSmrg DeviceIntPtr /* dev */, 56005b261ecSmrg XkbSrvLedInfoPtr /* sli */, 56105b261ecSmrg unsigned int /* changed_names */, 56205b261ecSmrg xkbExtensionDeviceNotify * /* ed */, 56305b261ecSmrg XkbChangesPtr /* changes */, 56405b261ecSmrg XkbEventCausePtr /* cause */ 56505b261ecSmrg); 56605b261ecSmrg 5676747b715Smrgextern _X_EXPORT void XkbApplyLedMapChanges( 56805b261ecSmrg DeviceIntPtr /* dev */, 56905b261ecSmrg XkbSrvLedInfoPtr /* sli */, 57005b261ecSmrg unsigned int /* changed_maps */, 57105b261ecSmrg xkbExtensionDeviceNotify * /* ed */, 57205b261ecSmrg XkbChangesPtr /* changes */, 57305b261ecSmrg XkbEventCausePtr /* cause */ 57405b261ecSmrg); 57505b261ecSmrg 5766747b715Smrgextern _X_EXPORT void XkbApplyLedStateChanges( 57705b261ecSmrg DeviceIntPtr /* dev */, 57805b261ecSmrg XkbSrvLedInfoPtr /* sli */, 57905b261ecSmrg unsigned int /* changed_leds */, 58005b261ecSmrg xkbExtensionDeviceNotify * /* ed */, 58105b261ecSmrg XkbChangesPtr /* changes */, 58205b261ecSmrg XkbEventCausePtr /* cause */ 58305b261ecSmrg); 58405b261ecSmrg 5856747b715Smrgextern _X_EXPORT void XkbFlushLedEvents( 58605b261ecSmrg DeviceIntPtr /* dev */, 58705b261ecSmrg DeviceIntPtr /* kbd */, 58805b261ecSmrg XkbSrvLedInfoPtr /* sli */, 58905b261ecSmrg xkbExtensionDeviceNotify * /* ed */, 59005b261ecSmrg XkbChangesPtr /* changes */, 59105b261ecSmrg XkbEventCausePtr /* cause */ 59205b261ecSmrg); 59305b261ecSmrg 5946747b715Smrgextern _X_EXPORT unsigned int XkbIndicatorsToUpdate( 59505b261ecSmrg DeviceIntPtr /* dev */, 59605b261ecSmrg unsigned long /* state_changes */, 59705b261ecSmrg Bool /* enabled_ctrl_changes */ 59805b261ecSmrg); 59905b261ecSmrg 6006747b715Smrgextern _X_EXPORT void XkbComputeDerivedState( 60105b261ecSmrg XkbSrvInfoPtr /* xkbi */ 60205b261ecSmrg); 60305b261ecSmrg 6046747b715Smrgextern _X_EXPORT void XkbCheckSecondaryEffects( 60505b261ecSmrg XkbSrvInfoPtr /* xkbi */, 60605b261ecSmrg unsigned int /* which */, 60705b261ecSmrg XkbChangesPtr /* changes */, 60805b261ecSmrg XkbEventCausePtr /* cause */ 60905b261ecSmrg); 61005b261ecSmrg 6116747b715Smrgextern _X_EXPORT void XkbCheckIndicatorMaps( 61205b261ecSmrg DeviceIntPtr /* dev */, 61305b261ecSmrg XkbSrvLedInfoPtr /* sli */, 61405b261ecSmrg unsigned int /* which */ 61505b261ecSmrg); 61605b261ecSmrg 6176747b715Smrgextern _X_EXPORT unsigned int XkbStateChangedFlags( 61805b261ecSmrg XkbStatePtr /* old */, 61905b261ecSmrg XkbStatePtr /* new */ 62005b261ecSmrg); 62105b261ecSmrg 6226747b715Smrgextern _X_EXPORT void XkbSendStateNotify( 62305b261ecSmrg DeviceIntPtr /* kbd */, 62405b261ecSmrg xkbStateNotify * /* pSN */ 62505b261ecSmrg); 62605b261ecSmrg 6276747b715Smrgextern _X_EXPORT void XkbSendMapNotify( 62805b261ecSmrg DeviceIntPtr /* kbd */, 62905b261ecSmrg xkbMapNotify * /* ev */ 63005b261ecSmrg); 63105b261ecSmrg 6326747b715Smrgextern _X_EXPORT int XkbComputeControlsNotify( 63305b261ecSmrg DeviceIntPtr /* kbd */, 63405b261ecSmrg XkbControlsPtr /* old */, 63505b261ecSmrg XkbControlsPtr /* new */, 63605b261ecSmrg xkbControlsNotify * /* pCN */, 63705b261ecSmrg Bool /* forceCtrlProc */ 63805b261ecSmrg); 63905b261ecSmrg 6406747b715Smrgextern _X_EXPORT void XkbSendControlsNotify( 64105b261ecSmrg DeviceIntPtr /* kbd */, 64205b261ecSmrg xkbControlsNotify * /* ev */ 64305b261ecSmrg); 64405b261ecSmrg 6456747b715Smrgextern _X_EXPORT void XkbSendCompatMapNotify( 64605b261ecSmrg DeviceIntPtr /* kbd */, 64705b261ecSmrg xkbCompatMapNotify * /* ev */ 64805b261ecSmrg); 64905b261ecSmrg 6506747b715Smrgextern _X_EXPORT void XkbHandleBell( 65105b261ecSmrg BOOL /* force */, 65205b261ecSmrg BOOL /* eventOnly */, 65305b261ecSmrg DeviceIntPtr /* kbd */, 65405b261ecSmrg CARD8 /* percent */, 65505b261ecSmrg pointer /* ctrl */, 65605b261ecSmrg CARD8 /* class */, 65705b261ecSmrg Atom /* name */, 65805b261ecSmrg WindowPtr /* pWin */, 65905b261ecSmrg ClientPtr /* pClient */ 66005b261ecSmrg); 66105b261ecSmrg 6626747b715Smrgextern _X_EXPORT void XkbSendAccessXNotify( 66305b261ecSmrg DeviceIntPtr /* kbd */, 66405b261ecSmrg xkbAccessXNotify * /* pEv */ 66505b261ecSmrg); 66605b261ecSmrg 6676747b715Smrgextern _X_EXPORT void XkbSendNamesNotify( 66805b261ecSmrg DeviceIntPtr /* kbd */, 66905b261ecSmrg xkbNamesNotify * /* ev */ 67005b261ecSmrg); 67105b261ecSmrg 6726747b715Smrgextern _X_EXPORT void XkbSendActionMessage( 67305b261ecSmrg DeviceIntPtr /* kbd */, 67405b261ecSmrg xkbActionMessage * /* ev */ 67505b261ecSmrg); 67605b261ecSmrg 6776747b715Smrgextern _X_EXPORT void XkbSendExtensionDeviceNotify( 67805b261ecSmrg DeviceIntPtr /* kbd */, 67905b261ecSmrg ClientPtr /* client */, 68005b261ecSmrg xkbExtensionDeviceNotify * /* ev */ 68105b261ecSmrg); 68205b261ecSmrg 6836747b715Smrgextern _X_EXPORT void XkbSendNotification( 68405b261ecSmrg DeviceIntPtr /* kbd */, 68505b261ecSmrg XkbChangesPtr /* pChanges */, 68605b261ecSmrg XkbEventCausePtr /* cause */ 68705b261ecSmrg); 68805b261ecSmrg 6896747b715Smrgextern _X_EXPORT void XkbProcessKeyboardEvent( 6906747b715Smrg DeviceEvent* /* event */, 6916747b715Smrg DeviceIntPtr /* keybd */ 69205b261ecSmrg); 69305b261ecSmrg 6946747b715Smrgextern _X_EXPORT void XkbHandleActions( 69505b261ecSmrg DeviceIntPtr /* dev */, 69605b261ecSmrg DeviceIntPtr /* kbd */, 6976747b715Smrg DeviceEvent* /* event */ 69805b261ecSmrg); 69905b261ecSmrg 7006747b715Smrgextern _X_EXPORT Bool XkbEnableDisableControls( 70105b261ecSmrg XkbSrvInfoPtr /* xkbi */, 70205b261ecSmrg unsigned long /* change */, 70305b261ecSmrg unsigned long /* newValues */, 70405b261ecSmrg XkbChangesPtr /* changes */, 70505b261ecSmrg XkbEventCausePtr /* cause */ 70605b261ecSmrg); 70705b261ecSmrg 7086747b715Smrgextern _X_EXPORT void AccessXInit( 70905b261ecSmrg DeviceIntPtr /* dev */ 71005b261ecSmrg); 71105b261ecSmrg 7126747b715Smrgextern _X_EXPORT Bool AccessXFilterPressEvent( 7136747b715Smrg DeviceEvent* /* event */, 7146747b715Smrg DeviceIntPtr /* keybd */ 71505b261ecSmrg); 71605b261ecSmrg 7176747b715Smrgextern _X_EXPORT Bool AccessXFilterReleaseEvent( 7186747b715Smrg DeviceEvent* /* event */, 7196747b715Smrg DeviceIntPtr /* keybd */ 72005b261ecSmrg); 72105b261ecSmrg 7226747b715Smrgextern _X_EXPORT void AccessXCancelRepeatKey( 72305b261ecSmrg XkbSrvInfoPtr /* xkbi */, 72405b261ecSmrg KeyCode /* key */ 72505b261ecSmrg); 72605b261ecSmrg 7276747b715Smrgextern _X_EXPORT void AccessXComputeCurveFactor( 72805b261ecSmrg XkbSrvInfoPtr /* xkbi */, 72905b261ecSmrg XkbControlsPtr /* ctrls */ 73005b261ecSmrg); 73105b261ecSmrg 7326747b715Smrgextern _X_EXPORT XkbInterestPtr XkbFindClientResource( 73305b261ecSmrg DevicePtr /* inDev */, 73405b261ecSmrg ClientPtr /* client */ 73505b261ecSmrg); 73605b261ecSmrg 7376747b715Smrgextern _X_EXPORT XkbInterestPtr XkbAddClientResource( 73805b261ecSmrg DevicePtr /* inDev */, 73905b261ecSmrg ClientPtr /* client */, 74005b261ecSmrg XID /* id */ 74105b261ecSmrg); 74205b261ecSmrg 7436747b715Smrgextern _X_EXPORT int XkbRemoveResourceClient( 74405b261ecSmrg DevicePtr /* inDev */, 74505b261ecSmrg XID /* id */ 74605b261ecSmrg); 74705b261ecSmrg 7486747b715Smrgextern _X_EXPORT int XkbDDXAccessXBeep( 74905b261ecSmrg DeviceIntPtr /* dev */, 75005b261ecSmrg unsigned int /* what */, 75105b261ecSmrg unsigned int /* which */ 75205b261ecSmrg); 75305b261ecSmrg 7546747b715Smrgextern _X_EXPORT int XkbDDXUsesSoftRepeat( 75505b261ecSmrg DeviceIntPtr /* dev */ 75605b261ecSmrg); 75705b261ecSmrg 7586747b715Smrgextern _X_EXPORT void XkbDDXKeybdCtrlProc( 75905b261ecSmrg DeviceIntPtr /* dev */, 76005b261ecSmrg KeybdCtrl * /* ctrl */ 76105b261ecSmrg); 76205b261ecSmrg 7636747b715Smrgextern _X_EXPORT void XkbDDXChangeControls( 76405b261ecSmrg DeviceIntPtr /* dev */, 76505b261ecSmrg XkbControlsPtr /* old */, 76605b261ecSmrg XkbControlsPtr /* new */ 76705b261ecSmrg); 76805b261ecSmrg 7696747b715Smrgextern _X_EXPORT void XkbDDXUpdateDeviceIndicators( 77005b261ecSmrg DeviceIntPtr /* dev */, 77105b261ecSmrg XkbSrvLedInfoPtr /* sli */, 77205b261ecSmrg CARD32 /* newState */ 77305b261ecSmrg); 77405b261ecSmrg 7756747b715Smrgextern _X_EXPORT int XkbDDXTerminateServer( 77605b261ecSmrg DeviceIntPtr /* dev */, 77705b261ecSmrg KeyCode /* key */, 77805b261ecSmrg XkbAction * /* act */ 77905b261ecSmrg); 78005b261ecSmrg 7816747b715Smrgextern _X_EXPORT int XkbDDXSwitchScreen( 78205b261ecSmrg DeviceIntPtr /* dev */, 78305b261ecSmrg KeyCode /* key */, 78405b261ecSmrg XkbAction * /* act */ 78505b261ecSmrg); 78605b261ecSmrg 7876747b715Smrgextern _X_EXPORT int XkbDDXPrivate( 78805b261ecSmrg DeviceIntPtr /* dev */, 78905b261ecSmrg KeyCode /* key */, 79005b261ecSmrg XkbAction * /* act */ 79105b261ecSmrg); 79205b261ecSmrg 7936747b715Smrgextern _X_EXPORT void XkbDisableComputedAutoRepeats( 79405b261ecSmrg DeviceIntPtr /* pXDev */, 79505b261ecSmrg unsigned int /* key */ 79605b261ecSmrg); 79705b261ecSmrg 7986747b715Smrgextern _X_EXPORT void XkbSetRepeatKeys( 79905b261ecSmrg DeviceIntPtr /* pXDev */, 80005b261ecSmrg int /* key */, 80105b261ecSmrg int /* onoff */ 80205b261ecSmrg); 80305b261ecSmrg 8046747b715Smrgextern _X_EXPORT int XkbLatchModifiers( 80505b261ecSmrg DeviceIntPtr /* pXDev */, 80605b261ecSmrg CARD8 /* mask */, 80705b261ecSmrg CARD8 /* latches */ 80805b261ecSmrg); 80905b261ecSmrg 8106747b715Smrgextern _X_EXPORT int XkbLatchGroup( 81105b261ecSmrg DeviceIntPtr /* pXDev */, 81205b261ecSmrg int /* group */ 81305b261ecSmrg); 81405b261ecSmrg 8156747b715Smrgextern _X_EXPORT void XkbClearAllLatchesAndLocks( 81605b261ecSmrg DeviceIntPtr /* dev */, 81705b261ecSmrg XkbSrvInfoPtr /* xkbi */, 81805b261ecSmrg Bool /* genEv */, 81905b261ecSmrg XkbEventCausePtr /* cause */ 82005b261ecSmrg); 82105b261ecSmrg 8226747b715Smrgextern _X_EXPORT void XkbGetRulesDflts( 8236747b715Smrg XkbRMLVOSet * /* rmlvo */ 82405b261ecSmrg); 82505b261ecSmrg 8266747b715Smrgextern _X_EXPORT void XkbFreeRMLVOSet( 8276747b715Smrg XkbRMLVOSet * /* rmlvo */, 8286747b715Smrg Bool /* freeRMLVO */ 8294642e01fSmrg); 8304642e01fSmrg 8316747b715Smrgextern _X_EXPORT void XkbSetRulesDflts( 8326747b715Smrg XkbRMLVOSet * /* rmlvo */ 83305b261ecSmrg); 83405b261ecSmrg 8356747b715Smrgextern _X_EXPORT void XkbDeleteRulesDflts( 8366747b715Smrg void 83705b261ecSmrg); 83805b261ecSmrg 8396747b715Smrgextern _X_EXPORT int SProcXkbDispatch( 84005b261ecSmrg ClientPtr /* client */ 84105b261ecSmrg); 84205b261ecSmrg 8436747b715Smrgextern _X_EXPORT XkbGeometryPtr XkbLookupNamedGeometry( 84405b261ecSmrg DeviceIntPtr /* dev */, 84505b261ecSmrg Atom /* name */, 84605b261ecSmrg Bool * /* shouldFree */ 84705b261ecSmrg); 84805b261ecSmrg 8496747b715Smrgextern _X_EXPORT char * _XkbDupString( 8506747b715Smrg const char * /* str */ 85105b261ecSmrg); 85205b261ecSmrg 8536747b715Smrgextern _X_EXPORT void XkbConvertCase( 85405b261ecSmrg KeySym /* sym */, 85505b261ecSmrg KeySym * /* lower */, 85605b261ecSmrg KeySym * /* upper */ 85705b261ecSmrg); 85805b261ecSmrg 8596747b715Smrgextern _X_EXPORT Status XkbChangeKeycodeRange( 86005b261ecSmrg XkbDescPtr /* xkb */, 86105b261ecSmrg int /* minKC */, 86205b261ecSmrg int /* maxKC */, 86305b261ecSmrg XkbChangesPtr /* changes */ 86405b261ecSmrg); 86505b261ecSmrg 8666747b715Smrgextern _X_EXPORT void XkbFreeSrvLedInfo( 86705b261ecSmrg XkbSrvLedInfoPtr /* sli */ 86805b261ecSmrg); 86905b261ecSmrg 8706747b715Smrgextern _X_EXPORT void XkbFreeInfo( 87105b261ecSmrg XkbSrvInfoPtr /* xkbi */ 87205b261ecSmrg); 87305b261ecSmrg 8746747b715Smrgextern _X_EXPORT Status XkbChangeTypesOfKey( 87505b261ecSmrg XkbDescPtr /* xkb */, 87605b261ecSmrg int /* key */, 87705b261ecSmrg int /* nGroups */, 87805b261ecSmrg unsigned int /* groups */, 87905b261ecSmrg int * /* newTypesIn */, 88005b261ecSmrg XkbMapChangesPtr /* changes */ 88105b261ecSmrg); 88205b261ecSmrg 8836747b715Smrgextern _X_EXPORT int XkbKeyTypesForCoreSymbols( 88405b261ecSmrg XkbDescPtr /* xkb */, 88505b261ecSmrg int /* map_width */, 88605b261ecSmrg KeySym * /* core_syms */, 88705b261ecSmrg unsigned int /* protected */, 88805b261ecSmrg int * /* types_inout */, 88905b261ecSmrg KeySym * /* xkb_syms_rtrn */ 89005b261ecSmrg); 89105b261ecSmrg 8926747b715Smrgextern _X_EXPORT Bool XkbApplyCompatMapToKey( 89305b261ecSmrg XkbDescPtr /* xkb */, 89405b261ecSmrg KeyCode /* key */, 89505b261ecSmrg XkbChangesPtr /* changes */ 89605b261ecSmrg); 89705b261ecSmrg 8986747b715Smrgextern _X_EXPORT Bool XkbApplyVirtualModChanges( 89905b261ecSmrg XkbDescPtr /* xkb */, 90005b261ecSmrg unsigned int /* changed */, 90105b261ecSmrg XkbChangesPtr /* changes */ 90205b261ecSmrg); 90305b261ecSmrg 9046747b715Smrgextern _X_EXPORT void XkbSendNewKeyboardNotify( 90505b261ecSmrg DeviceIntPtr /* kbd */, 90605b261ecSmrg xkbNewKeyboardNotify * /* pNKN */ 90705b261ecSmrg); 90805b261ecSmrg 9096747b715Smrgextern Bool XkbCopyKeymap( 9106747b715Smrg XkbDescPtr /* dst */, 9116747b715Smrg XkbDescPtr /* src */); 9126747b715Smrg 9136747b715Smrgextern _X_EXPORT Bool XkbCopyDeviceKeymap( 9146747b715Smrg DeviceIntPtr /* dst */, 9156747b715Smrg DeviceIntPtr /* src */); 9166747b715Smrg 9176747b715Smrgextern void XkbFilterEvents( 9186747b715Smrg ClientPtr /* pClient */, 9196747b715Smrg int /* nEvents */, 9206747b715Smrg xEvent* /* xE */); 9216747b715Smrg 9226747b715Smrgextern int XkbGetEffectiveGroup( 9236747b715Smrg XkbSrvInfoPtr /* xkbi */, 9246747b715Smrg XkbStatePtr /* xkbstate */, 9256747b715Smrg CARD8 /* keycode */); 9266747b715Smrg 9276747b715Smrgextern void XkbMergeLockedPtrBtns( 9286747b715Smrg DeviceIntPtr /* master */); 9296747b715Smrg 9306747b715Smrgextern void XkbFakeDeviceButton( 9316747b715Smrg DeviceIntPtr /* dev */, 9326747b715Smrg int /* press */, 9336747b715Smrg int /* button */); 9346747b715Smrg 9356747b715Smrg 9364642e01fSmrg#include "xkbfile.h" 9374642e01fSmrg#include "xkbrules.h" 93805b261ecSmrg 9396747b715Smrg#define _XkbListKeycodes 0 9406747b715Smrg#define _XkbListTypes 1 9416747b715Smrg#define _XkbListCompat 2 9426747b715Smrg#define _XkbListSymbols 3 9436747b715Smrg#define _XkbListGeometry 4 9446747b715Smrg#define _XkbListNumComponents 5 94505b261ecSmrg 94605b261ecSmrgtypedef struct _XkbSrvListInfo { 94705b261ecSmrg int szPool; 94805b261ecSmrg int nPool; 94905b261ecSmrg char * pool; 95005b261ecSmrg 95105b261ecSmrg int maxRtrn; 95205b261ecSmrg int nTotal; 95305b261ecSmrg 95405b261ecSmrg char * pattern[_XkbListNumComponents]; 95505b261ecSmrg int nFound[_XkbListNumComponents]; 95605b261ecSmrg} XkbSrvListInfoRec,*XkbSrvListInfoPtr; 95705b261ecSmrg 9586747b715Smrgextern _X_EXPORT Status XkbDDXList( 95905b261ecSmrg DeviceIntPtr /* dev */, 96005b261ecSmrg XkbSrvListInfoPtr /* listing */, 96105b261ecSmrg ClientPtr /* client */ 96205b261ecSmrg); 96305b261ecSmrg 9646747b715Smrgextern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames( 96505b261ecSmrg DeviceIntPtr /* keybd */, 96605b261ecSmrg XkbComponentNamesPtr /* names */, 96705b261ecSmrg unsigned int /* want */, 96805b261ecSmrg unsigned int /* need */, 9694642e01fSmrg XkbDescPtr * /* finfoRtrn */, 97005b261ecSmrg char * /* keymapNameRtrn */, 97105b261ecSmrg int /* keymapNameRtrnLen */ 97205b261ecSmrg); 97305b261ecSmrg 9746747b715Smrgextern _X_EXPORT Bool XkbDDXNamesFromRules( 97505b261ecSmrg DeviceIntPtr /* keybd */, 97605b261ecSmrg char * /* rules */, 97705b261ecSmrg XkbRF_VarDefsPtr /* defs */, 97805b261ecSmrg XkbComponentNamesPtr /* names */ 97905b261ecSmrg); 98005b261ecSmrg 9816747b715Smrgextern _X_EXPORT XkbDescPtr XkbCompileKeymap( 9826747b715Smrg DeviceIntPtr /* dev */, 9836747b715Smrg XkbRMLVOSet * /* rmlvo */ 98405b261ecSmrg); 98505b261ecSmrg 98605b261ecSmrg#endif /* _XKBSRV_H_ */ 987