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 935c4bbdfSmrgdocumentation, and that the name of Silicon Graphics not be 1035c4bbdfSmrgused in advertising or publicity pertaining to distribution 1105b261ecSmrgof the software without specific prior written permission. 1235c4bbdfSmrgSilicon 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 1635c4bbdfSmrgSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 1735c4bbdfSmrgSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 1805b261ecSmrgAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 1935c4bbdfSmrgGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 2035c4bbdfSmrgDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 2135c4bbdfSmrgDATA 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 { 6235c4bbdfSmrg DeviceIntPtr dev; 6335c4bbdfSmrg ClientPtr client; 6435c4bbdfSmrg XID resource; 6535c4bbdfSmrg struct _XkbInterest *next; 6635c4bbdfSmrg CARD16 extDevNotifyMask; 6735c4bbdfSmrg CARD16 stateNotifyMask; 6835c4bbdfSmrg CARD16 namesNotifyMask; 6935c4bbdfSmrg CARD32 ctrlsNotifyMask; 7035c4bbdfSmrg CARD8 compatNotifyMask; 7135c4bbdfSmrg BOOL bellNotifyMask; 7235c4bbdfSmrg BOOL actionMessageMask; 7335c4bbdfSmrg CARD16 accessXNotifyMask; 7435c4bbdfSmrg CARD32 iStateNotifyMask; 7535c4bbdfSmrg CARD32 iMapNotifyMask; 7635c4bbdfSmrg CARD16 altSymsNotifyMask; 7735c4bbdfSmrg CARD32 autoCtrls; 7835c4bbdfSmrg CARD32 autoCtrlValues; 7935c4bbdfSmrg} XkbInterestRec, *XkbInterestPtr; 8005b261ecSmrg 8105b261ecSmrgtypedef struct _XkbRadioGroup { 8235c4bbdfSmrg CARD8 flags; 8335c4bbdfSmrg CARD8 nMembers; 8435c4bbdfSmrg CARD8 dfltDown; 8535c4bbdfSmrg CARD8 currentDown; 8635c4bbdfSmrg CARD8 members[XkbRGMaxMembers]; 8705b261ecSmrg} XkbRadioGroupRec, *XkbRadioGroupPtr; 8805b261ecSmrg 8935c4bbdfSmrgtypedef struct _XkbEventCause { 9035c4bbdfSmrg CARD8 kc; 9135c4bbdfSmrg CARD8 event; 9235c4bbdfSmrg CARD8 mjr; 9335c4bbdfSmrg CARD8 mnr; 9435c4bbdfSmrg ClientPtr client; 9535c4bbdfSmrg} XkbEventCauseRec, *XkbEventCausePtr; 9635c4bbdfSmrg 9705b261ecSmrg#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\ 9805b261ecSmrg (c)->mjr= (c)->mnr= 0; \ 9905b261ecSmrg (c)->client= NULL; } 10005b261ecSmrg#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\ 10105b261ecSmrg (c)->mjr= (j),(c)->mnr= (n);\ 10205b261ecSmrg (c)->client= (cl); } 10305b261ecSmrg#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl) 10405b261ecSmrg#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl) 10505b261ecSmrg#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0) 10605b261ecSmrg 10705b261ecSmrg#define _OFF_TIMER 0 10805b261ecSmrg#define _KRG_WARN_TIMER 1 10905b261ecSmrg#define _KRG_TIMER 2 11005b261ecSmrg#define _SK_TIMEOUT_TIMER 3 11105b261ecSmrg#define _ALL_TIMEOUT_TIMER 4 11205b261ecSmrg 11305b261ecSmrg#define _BEEP_NONE 0 11405b261ecSmrg#define _BEEP_FEATURE_ON 1 11505b261ecSmrg#define _BEEP_FEATURE_OFF 2 11605b261ecSmrg#define _BEEP_FEATURE_CHANGE 3 11705b261ecSmrg#define _BEEP_SLOW_WARN 4 11805b261ecSmrg#define _BEEP_SLOW_PRESS 5 11905b261ecSmrg#define _BEEP_SLOW_ACCEPT 6 12005b261ecSmrg#define _BEEP_SLOW_REJECT 7 12105b261ecSmrg#define _BEEP_SLOW_RELEASE 8 12205b261ecSmrg#define _BEEP_STICKY_LATCH 9 12305b261ecSmrg#define _BEEP_STICKY_LOCK 10 12405b261ecSmrg#define _BEEP_STICKY_UNLOCK 11 12505b261ecSmrg#define _BEEP_LED_ON 12 12605b261ecSmrg#define _BEEP_LED_OFF 13 12705b261ecSmrg#define _BEEP_LED_CHANGE 14 12805b261ecSmrg#define _BEEP_BOUNCE_REJECT 15 12905b261ecSmrg 13005b261ecSmrgtypedef struct _XkbFilter { 13135c4bbdfSmrg CARD16 keycode; 13235c4bbdfSmrg CARD8 what; 13335c4bbdfSmrg CARD8 active; 13435c4bbdfSmrg CARD8 filterOthers; 13535c4bbdfSmrg CARD32 priv; 13635c4bbdfSmrg XkbAction upAction; 13735c4bbdfSmrg int (*filter) (struct _XkbSrvInfo * /* xkbi */ , 13835c4bbdfSmrg struct _XkbFilter * /* filter */ , 13935c4bbdfSmrg unsigned /* keycode */ , 14035c4bbdfSmrg XkbAction * /* action */ 14135c4bbdfSmrg ); 14235c4bbdfSmrg struct _XkbFilter *next; 14335c4bbdfSmrg} XkbFilterRec, *XkbFilterPtr; 14405b261ecSmrg 1451b5d61b8Smrgtypedef Bool (*XkbSrvCheckRepeatPtr) (DeviceIntPtr dev, 1461b5d61b8Smrg struct _XkbSrvInfo * /* xkbi */ , 1471b5d61b8Smrg unsigned /* keycode */); 1481b5d61b8Smrg 14905b261ecSmrgtypedef struct _XkbSrvInfo { 15035c4bbdfSmrg XkbStateRec prev_state; 15135c4bbdfSmrg XkbStateRec state; 15235c4bbdfSmrg XkbDescPtr desc; 15335c4bbdfSmrg 15435c4bbdfSmrg DeviceIntPtr device; 15535c4bbdfSmrg KbdCtrlProcPtr kbdProc; 15635c4bbdfSmrg 15735c4bbdfSmrg XkbRadioGroupPtr radioGroups; 15835c4bbdfSmrg CARD8 nRadioGroups; 15935c4bbdfSmrg CARD8 clearMods; 16035c4bbdfSmrg CARD8 setMods; 16135c4bbdfSmrg INT16 groupChange; 16235c4bbdfSmrg 16335c4bbdfSmrg CARD16 dfltPtrDelta; 16435c4bbdfSmrg 16535c4bbdfSmrg double mouseKeysCurve; 16635c4bbdfSmrg double mouseKeysCurveFactor; 16735c4bbdfSmrg INT16 mouseKeysDX; 16835c4bbdfSmrg INT16 mouseKeysDY; 16935c4bbdfSmrg CARD8 mouseKeysFlags; 17035c4bbdfSmrg Bool mouseKeysAccel; 17135c4bbdfSmrg CARD8 mouseKeysCounter; 17235c4bbdfSmrg 17335c4bbdfSmrg CARD8 lockedPtrButtons; 17435c4bbdfSmrg CARD8 shiftKeyCount; 17535c4bbdfSmrg KeyCode mouseKey; 17635c4bbdfSmrg KeyCode inactiveKey; 17735c4bbdfSmrg KeyCode slowKey; 17835c4bbdfSmrg KeyCode slowKeyEnableKey; 17935c4bbdfSmrg KeyCode repeatKey; 18035c4bbdfSmrg CARD8 krgTimerActive; 18135c4bbdfSmrg CARD8 beepType; 18235c4bbdfSmrg CARD8 beepCount; 18335c4bbdfSmrg 18435c4bbdfSmrg CARD32 flags; 18535c4bbdfSmrg CARD32 lastPtrEventTime; 18635c4bbdfSmrg CARD32 lastShiftEventTime; 18735c4bbdfSmrg OsTimerPtr beepTimer; 18835c4bbdfSmrg OsTimerPtr mouseKeyTimer; 18935c4bbdfSmrg OsTimerPtr slowKeysTimer; 19035c4bbdfSmrg OsTimerPtr bounceKeysTimer; 19135c4bbdfSmrg OsTimerPtr repeatKeyTimer; 19235c4bbdfSmrg OsTimerPtr krgTimer; 19335c4bbdfSmrg 19435c4bbdfSmrg int szFilters; 19535c4bbdfSmrg XkbFilterPtr filters; 1961b5d61b8Smrg 1971b5d61b8Smrg XkbSrvCheckRepeatPtr checkRepeat; 1981b5d61b8Smrg 1991b5d61b8Smrg char overlay_perkey_state[256/8]; /* bitfield */ 20005b261ecSmrg} XkbSrvInfoRec, *XkbSrvInfoPtr; 20105b261ecSmrg 20205b261ecSmrg#define XkbSLI_IsDefault (1L<<0) 20305b261ecSmrg#define XkbSLI_HasOwnState (1L<<1) 20405b261ecSmrg 20535c4bbdfSmrgtypedef struct _XkbSrvLedInfo { 20635c4bbdfSmrg CARD16 flags; 20735c4bbdfSmrg CARD16 class; 20835c4bbdfSmrg CARD16 id; 20935c4bbdfSmrg union { 21035c4bbdfSmrg KbdFeedbackPtr kf; 21135c4bbdfSmrg LedFeedbackPtr lf; 21235c4bbdfSmrg } fb; 21335c4bbdfSmrg 21435c4bbdfSmrg CARD32 physIndicators; 21535c4bbdfSmrg CARD32 autoState; 21635c4bbdfSmrg CARD32 explicitState; 21735c4bbdfSmrg CARD32 effectiveState; 21835c4bbdfSmrg 21935c4bbdfSmrg CARD32 mapsPresent; 22035c4bbdfSmrg CARD32 namesPresent; 22135c4bbdfSmrg XkbIndicatorMapPtr maps; 22235c4bbdfSmrg Atom *names; 22335c4bbdfSmrg 22435c4bbdfSmrg CARD32 usesBase; 22535c4bbdfSmrg CARD32 usesLatched; 22635c4bbdfSmrg CARD32 usesLocked; 22735c4bbdfSmrg CARD32 usesEffective; 22835c4bbdfSmrg CARD32 usesCompat; 22935c4bbdfSmrg CARD32 usesControls; 23035c4bbdfSmrg 23135c4bbdfSmrg CARD32 usedComponents; 23205b261ecSmrg} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr; 23305b261ecSmrg 23405b261ecSmrg/* 23505b261ecSmrg * Settings for xkbClientFlags field (used by DIX) 23605b261ecSmrg * These flags _must_ not overlap with XkbPCF_* 23705b261ecSmrg */ 2381b5d61b8Smrg#define _XkbClientInitialized (1<<7) 2391b5d61b8Smrg#define _XkbClientIsAncient (1<<6) 24005b261ecSmrg 24105b261ecSmrg#define _XkbWantsDetectableAutoRepeat(c)\ 24205b261ecSmrg ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask) 24305b261ecSmrg 24405b261ecSmrg/* 24505b261ecSmrg * Settings for flags field 24605b261ecSmrg */ 24705b261ecSmrg#define _XkbStateNotifyInProgress (1<<0) 24805b261ecSmrg 24935c4bbdfSmrgtypedef struct { 25005b261ecSmrg ProcessInputProc processInputProc; 25105b261ecSmrg /* If processInputProc is set to something different than realInputProc, 25205b261ecSmrg * UNWRAP and COND_WRAP will not touch processInputProc and update only 25305b261ecSmrg * realInputProc. This ensures that 25405b261ecSmrg * processInputProc == (frozen ? EnqueueEvent : realInputProc) 25505b261ecSmrg * 25605b261ecSmrg * WRAP_PROCESS_INPUT_PROC should only be called during initialization, 25705b261ecSmrg * since it may destroy this invariant. 25805b261ecSmrg */ 25905b261ecSmrg ProcessInputProc realInputProc; 26005b261ecSmrg DeviceUnwrapProc unwrapProc; 26105b261ecSmrg} xkbDeviceInfoRec, *xkbDeviceInfoPtr; 26205b261ecSmrg 26305b261ecSmrg#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \ 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 COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \ 27205b261ecSmrg if (device->public.processInputProc == device->public.realInputProc)\ 27305b261ecSmrg device->public.processInputProc = proc; \ 27405b261ecSmrg oldprocs->processInputProc = \ 27505b261ecSmrg oldprocs->realInputProc = device->public.realInputProc; \ 27605b261ecSmrg device->public.realInputProc = proc; \ 27705b261ecSmrg oldprocs->unwrapProc = device->unwrapProc; \ 27805b261ecSmrg device->unwrapProc = unwrapproc; 27905b261ecSmrg 28005b261ecSmrg#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \ 28105b261ecSmrg backupproc = device->public.realInputProc; \ 28205b261ecSmrg if (device->public.processInputProc == device->public.realInputProc)\ 28305b261ecSmrg device->public.processInputProc = oldprocs->realInputProc; \ 28405b261ecSmrg device->public.realInputProc = oldprocs->realInputProc; \ 28505b261ecSmrg device->unwrapProc = oldprocs->unwrapProc; 28605b261ecSmrg 2876747b715Smrgextern _X_EXPORT DevPrivateKeyRec xkbDevicePrivateKeyRec; 28835c4bbdfSmrg 2896747b715Smrg#define xkbDevicePrivateKey (&xkbDevicePrivateKeyRec) 2906747b715Smrg 2914642e01fSmrg#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr)dixLookupPrivate(&(dev)->devPrivates, xkbDevicePrivateKey)) 29205b261ecSmrg 29335c4bbdfSmrgextern void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, void *); 29405b261ecSmrg 29505b261ecSmrg/***====================================================================***/ 29605b261ecSmrg 29705b261ecSmrg/***====================================================================***/ 29805b261ecSmrg 29905b261ecSmrg#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask) 30005b261ecSmrg#define XkbAllFilteredEventsMask \ 30105b261ecSmrg (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask) 30205b261ecSmrg 30305b261ecSmrg/***====================================================================***/ 30405b261ecSmrg 30535c4bbdfSmrgextern _X_EXPORT int XkbReqCode; 30635c4bbdfSmrgextern _X_EXPORT int XkbEventBase; 30735c4bbdfSmrgextern _X_EXPORT int XkbKeyboardErrorCode; 30835c4bbdfSmrgextern _X_EXPORT const char *XkbBaseDirectory; 30935c4bbdfSmrgextern _X_EXPORT const char *XkbBinDirectory; 31035c4bbdfSmrg 31135c4bbdfSmrgextern _X_EXPORT CARD32 xkbDebugFlags; 31205b261ecSmrg 31335c4bbdfSmrg#define _XkbLibError(c,l,d) /* Epoch fail */ 31405b261ecSmrg 31535c4bbdfSmrg/* "a" is a "unique" numeric identifier that just defines which error 31635c4bbdfSmrg * code statement it is. _XkbErrCode2(4, foo) means "this is the 4th error 31735c4bbdfSmrg * statement in this function". lovely. 31835c4bbdfSmrg */ 31905b261ecSmrg#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff))) 32005b261ecSmrg#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c)) 32105b261ecSmrg#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d))) 32205b261ecSmrg 32305b261ecSmrg#define Status int 32405b261ecSmrg 32535c4bbdfSmrgextern _X_EXPORT void XkbUseMsg(void 32635c4bbdfSmrg ); 32735c4bbdfSmrg 32835c4bbdfSmrgextern _X_EXPORT int XkbProcessArguments(int /* argc */ , 32935c4bbdfSmrg char ** /* argv */ , 33035c4bbdfSmrg int /* i */ 33135c4bbdfSmrg ); 33235c4bbdfSmrg 33335c4bbdfSmrgextern _X_EXPORT Bool XkbInitPrivates(void); 33435c4bbdfSmrg 33535c4bbdfSmrgextern _X_EXPORT void XkbSetExtension(DeviceIntPtr device, 33635c4bbdfSmrg ProcessInputProc proc); 33735c4bbdfSmrg 33835c4bbdfSmrgextern _X_EXPORT void XkbFreeCompatMap(XkbDescPtr /* xkb */ , 33935c4bbdfSmrg unsigned int /* which */ , 34035c4bbdfSmrg Bool /* freeMap */ 34135c4bbdfSmrg ); 34235c4bbdfSmrg 34335c4bbdfSmrgextern _X_EXPORT void XkbFreeNames(XkbDescPtr /* xkb */ , 34435c4bbdfSmrg unsigned int /* which */ , 34535c4bbdfSmrg Bool /* freeMap */ 34635c4bbdfSmrg ); 34735c4bbdfSmrg 34835c4bbdfSmrgextern _X_EXPORT int _XkbLookupAnyDevice(DeviceIntPtr *pDev, 34935c4bbdfSmrg int id, 35035c4bbdfSmrg ClientPtr client, 35135c4bbdfSmrg Mask access_mode, int *xkb_err); 35235c4bbdfSmrg 35335c4bbdfSmrgextern _X_EXPORT int _XkbLookupKeyboard(DeviceIntPtr *pDev, 35435c4bbdfSmrg int id, 35535c4bbdfSmrg ClientPtr client, 35635c4bbdfSmrg Mask access_mode, int *xkb_err); 35735c4bbdfSmrg 35835c4bbdfSmrgextern _X_EXPORT int _XkbLookupBellDevice(DeviceIntPtr *pDev, 35935c4bbdfSmrg int id, 36035c4bbdfSmrg ClientPtr client, 36135c4bbdfSmrg Mask access_mode, int *xkb_err); 36235c4bbdfSmrg 36335c4bbdfSmrgextern _X_EXPORT int _XkbLookupLedDevice(DeviceIntPtr *pDev, 36435c4bbdfSmrg int id, 36535c4bbdfSmrg ClientPtr client, 36635c4bbdfSmrg Mask access_mode, int *xkb_err); 36735c4bbdfSmrg 36835c4bbdfSmrgextern _X_EXPORT int _XkbLookupButtonDevice(DeviceIntPtr *pDev, 36935c4bbdfSmrg int id, 37035c4bbdfSmrg ClientPtr client, 37135c4bbdfSmrg Mask access_mode, int *xkb_err); 37235c4bbdfSmrg 37335c4bbdfSmrgextern _X_EXPORT XkbDescPtr XkbAllocKeyboard(void 37435c4bbdfSmrg ); 37535c4bbdfSmrg 37635c4bbdfSmrgextern _X_EXPORT Status XkbAllocClientMap(XkbDescPtr /* xkb */ , 37735c4bbdfSmrg unsigned int /* which */ , 37835c4bbdfSmrg unsigned int /* nTypes */ 37935c4bbdfSmrg ); 38035c4bbdfSmrg 38135c4bbdfSmrgextern _X_EXPORT Status XkbAllocServerMap(XkbDescPtr /* xkb */ , 38235c4bbdfSmrg unsigned int /* which */ , 38335c4bbdfSmrg unsigned int /* nNewActions */ 38435c4bbdfSmrg ); 38535c4bbdfSmrg 38635c4bbdfSmrgextern _X_EXPORT void XkbFreeClientMap(XkbDescPtr /* xkb */ , 38735c4bbdfSmrg unsigned int /* what */ , 38835c4bbdfSmrg Bool /* freeMap */ 38935c4bbdfSmrg ); 39035c4bbdfSmrg 39135c4bbdfSmrgextern _X_EXPORT void XkbFreeServerMap(XkbDescPtr /* xkb */ , 39235c4bbdfSmrg unsigned int /* what */ , 39335c4bbdfSmrg Bool /* freeMap */ 39435c4bbdfSmrg ); 39535c4bbdfSmrg 39635c4bbdfSmrgextern _X_EXPORT Status XkbAllocIndicatorMaps(XkbDescPtr /* xkb */ 39735c4bbdfSmrg ); 39835c4bbdfSmrg 39935c4bbdfSmrgextern _X_EXPORT Status XkbAllocCompatMap(XkbDescPtr /* xkb */ , 40035c4bbdfSmrg unsigned int /* which */ , 40135c4bbdfSmrg unsigned int /* nInterpret */ 40235c4bbdfSmrg ); 40335c4bbdfSmrg 40435c4bbdfSmrgextern _X_EXPORT Status XkbAllocNames(XkbDescPtr /* xkb */ , 40535c4bbdfSmrg unsigned int /* which */ , 40635c4bbdfSmrg int /* nTotalRG */ , 40735c4bbdfSmrg int /* nTotalAliases */ 40835c4bbdfSmrg ); 40935c4bbdfSmrg 41035c4bbdfSmrgextern _X_EXPORT Status XkbAllocControls(XkbDescPtr /* xkb */ , 41135c4bbdfSmrg unsigned int /* which */ 41235c4bbdfSmrg ); 41335c4bbdfSmrg 41435c4bbdfSmrgextern _X_EXPORT Status XkbCopyKeyTypes(XkbKeyTypePtr /* from */ , 41535c4bbdfSmrg XkbKeyTypePtr /* into */ , 41635c4bbdfSmrg int /* num_types */ 41735c4bbdfSmrg ); 41835c4bbdfSmrg 41935c4bbdfSmrgextern _X_EXPORT Status XkbResizeKeyType(XkbDescPtr /* xkb */ , 42035c4bbdfSmrg int /* type_ndx */ , 42135c4bbdfSmrg int /* map_count */ , 42235c4bbdfSmrg Bool /* want_preserve */ , 42335c4bbdfSmrg int /* new_num_lvls */ 42435c4bbdfSmrg ); 42535c4bbdfSmrg 42635c4bbdfSmrgextern _X_EXPORT void XkbFreeKeyboard(XkbDescPtr /* xkb */ , 42735c4bbdfSmrg unsigned int /* which */ , 42835c4bbdfSmrg Bool /* freeDesc */ 42935c4bbdfSmrg ); 43035c4bbdfSmrg 43135c4bbdfSmrgextern _X_EXPORT void XkbFreeComponentNames(XkbComponentNamesPtr /* names */ , 43235c4bbdfSmrg Bool /* freeNames */ 43335c4bbdfSmrg ); 43435c4bbdfSmrg 43535c4bbdfSmrgextern _X_EXPORT void XkbSetActionKeyMods(XkbDescPtr /* xkb */ , 43635c4bbdfSmrg XkbAction * /* act */ , 43735c4bbdfSmrg unsigned int /* mods */ 43835c4bbdfSmrg ); 43935c4bbdfSmrg 44035c4bbdfSmrgextern _X_EXPORT unsigned int XkbMaskForVMask(XkbDescPtr /* xkb */ , 44135c4bbdfSmrg unsigned int /* vmask */ 44235c4bbdfSmrg ); 44335c4bbdfSmrg 44435c4bbdfSmrgextern _X_EXPORT Bool XkbVirtualModsToReal(XkbDescPtr /* xkb */ , 44535c4bbdfSmrg unsigned int /* virtua_mask */ , 44635c4bbdfSmrg unsigned int * /* mask_rtrn */ 44735c4bbdfSmrg ); 44835c4bbdfSmrg 44935c4bbdfSmrgextern _X_EXPORT unsigned int XkbAdjustGroup(int /* group */ , 45035c4bbdfSmrg XkbControlsPtr /* ctrls */ 45135c4bbdfSmrg ); 45235c4bbdfSmrg 45335c4bbdfSmrgextern _X_EXPORT KeySym *XkbResizeKeySyms(XkbDescPtr /* xkb */ , 45435c4bbdfSmrg int /* key */ , 45535c4bbdfSmrg int /* needed */ 45635c4bbdfSmrg ); 45735c4bbdfSmrg 45835c4bbdfSmrgextern _X_EXPORT XkbAction *XkbResizeKeyActions(XkbDescPtr /* xkb */ , 45935c4bbdfSmrg int /* key */ , 46035c4bbdfSmrg int /* needed */ 46135c4bbdfSmrg ); 46235c4bbdfSmrg 46335c4bbdfSmrgextern _X_EXPORT void XkbUpdateKeyTypesFromCore(DeviceIntPtr /* pXDev */ , 46435c4bbdfSmrg KeySymsPtr /* syms */ , 46535c4bbdfSmrg KeyCode /* first */ , 46635c4bbdfSmrg CARD8 /* num */ , 46735c4bbdfSmrg XkbChangesPtr /* pChanges */ 46835c4bbdfSmrg ); 46935c4bbdfSmrg 47035c4bbdfSmrgextern _X_EXPORT void XkbUpdateDescActions(XkbDescPtr /* xkb */ , 47135c4bbdfSmrg KeyCode /* first */ , 47235c4bbdfSmrg CARD8 /* num */ , 47335c4bbdfSmrg XkbChangesPtr /* changes */ 47435c4bbdfSmrg ); 47535c4bbdfSmrg 47635c4bbdfSmrgextern _X_EXPORT void XkbUpdateActions(DeviceIntPtr /* pXDev */ , 47735c4bbdfSmrg KeyCode /* first */ , 47835c4bbdfSmrg CARD8 /* num */ , 47935c4bbdfSmrg XkbChangesPtr /* pChanges */ , 48035c4bbdfSmrg unsigned int * /* needChecksRtrn */ , 48135c4bbdfSmrg XkbEventCausePtr /* cause */ 48235c4bbdfSmrg ); 48335c4bbdfSmrg 48435c4bbdfSmrgextern _X_EXPORT KeySymsPtr XkbGetCoreMap(DeviceIntPtr /* keybd */ 48535c4bbdfSmrg ); 48635c4bbdfSmrg 48735c4bbdfSmrgextern _X_EXPORT void XkbApplyMappingChange(DeviceIntPtr /* pXDev */ , 48835c4bbdfSmrg KeySymsPtr /* map */ , 48935c4bbdfSmrg KeyCode /* firstKey */ , 49035c4bbdfSmrg CARD8 /* num */ , 49135c4bbdfSmrg CARD8 * /* modmap */ , 49235c4bbdfSmrg ClientPtr /* client */ 49335c4bbdfSmrg ); 49435c4bbdfSmrg 49535c4bbdfSmrgextern _X_EXPORT void XkbSetIndicators(DeviceIntPtr /* pXDev */ , 49635c4bbdfSmrg CARD32 /* affect */ , 49735c4bbdfSmrg CARD32 /* values */ , 49835c4bbdfSmrg XkbEventCausePtr /* cause */ 49935c4bbdfSmrg ); 50035c4bbdfSmrg 50135c4bbdfSmrgextern _X_EXPORT void XkbUpdateIndicators(DeviceIntPtr /* keybd */ , 50235c4bbdfSmrg CARD32 /* changed */ , 50335c4bbdfSmrg Bool /* check_edevs */ , 50435c4bbdfSmrg XkbChangesPtr /* pChanges */ , 50535c4bbdfSmrg XkbEventCausePtr /* cause */ 50635c4bbdfSmrg ); 50735c4bbdfSmrg 50835c4bbdfSmrgextern _X_EXPORT void XkbUpdateAllDeviceIndicators(XkbChangesPtr /* changes */, 50935c4bbdfSmrg XkbEventCausePtr /* cause */ 51035c4bbdfSmrg ); 51135c4bbdfSmrg 51235c4bbdfSmrgextern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo(DeviceIntPtr /* dev */ , 51335c4bbdfSmrg KbdFeedbackPtr /* kf */ , 51435c4bbdfSmrg LedFeedbackPtr /* lf */ , 51535c4bbdfSmrg unsigned int /* needed_parts */ 51635c4bbdfSmrg ); 51735c4bbdfSmrg 51835c4bbdfSmrgextern _X_EXPORT XkbSrvLedInfoPtr XkbCopySrvLedInfo(DeviceIntPtr /* dev */ , 51935c4bbdfSmrg XkbSrvLedInfoPtr /* src */ , 52035c4bbdfSmrg KbdFeedbackPtr /* kf */ , 52135c4bbdfSmrg LedFeedbackPtr /* lf */ 52235c4bbdfSmrg ); 52335c4bbdfSmrg 52435c4bbdfSmrgextern _X_EXPORT XkbSrvLedInfoPtr XkbFindSrvLedInfo(DeviceIntPtr /* dev */ , 52535c4bbdfSmrg unsigned int /* class */ , 52635c4bbdfSmrg unsigned int /* id */ , 52735c4bbdfSmrg unsigned int /* needed_parts */ 52835c4bbdfSmrg ); 52935c4bbdfSmrg 53035c4bbdfSmrgextern _X_EXPORT void XkbApplyLedNameChanges(DeviceIntPtr /* dev */ , 53135c4bbdfSmrg XkbSrvLedInfoPtr /* sli */ , 53235c4bbdfSmrg unsigned int /* changed_names */ , 53335c4bbdfSmrg xkbExtensionDeviceNotify * /* ed */ 53435c4bbdfSmrg , 53535c4bbdfSmrg XkbChangesPtr /* changes */ , 53635c4bbdfSmrg XkbEventCausePtr /* cause */ 53735c4bbdfSmrg ); 53835c4bbdfSmrg 53935c4bbdfSmrgextern _X_EXPORT void XkbApplyLedMapChanges(DeviceIntPtr /* dev */ , 54035c4bbdfSmrg XkbSrvLedInfoPtr /* sli */ , 54135c4bbdfSmrg unsigned int /* changed_maps */ , 54235c4bbdfSmrg xkbExtensionDeviceNotify * /* ed */ 54335c4bbdfSmrg , 54435c4bbdfSmrg XkbChangesPtr /* changes */ , 54535c4bbdfSmrg XkbEventCausePtr /* cause */ 54635c4bbdfSmrg ); 54735c4bbdfSmrg 54835c4bbdfSmrgextern _X_EXPORT void XkbApplyLedStateChanges(DeviceIntPtr /* dev */ , 54935c4bbdfSmrg XkbSrvLedInfoPtr /* sli */ , 55035c4bbdfSmrg unsigned int /* changed_leds */ , 55135c4bbdfSmrg xkbExtensionDeviceNotify * 55235c4bbdfSmrg /* ed */ , 55335c4bbdfSmrg XkbChangesPtr /* changes */ , 55435c4bbdfSmrg XkbEventCausePtr /* cause */ 55535c4bbdfSmrg ); 55635c4bbdfSmrg 55735c4bbdfSmrgextern _X_EXPORT void XkbFlushLedEvents(DeviceIntPtr /* dev */ , 55835c4bbdfSmrg DeviceIntPtr /* kbd */ , 55935c4bbdfSmrg XkbSrvLedInfoPtr /* sli */ , 56035c4bbdfSmrg xkbExtensionDeviceNotify * /* ed */ , 56135c4bbdfSmrg XkbChangesPtr /* changes */ , 56235c4bbdfSmrg XkbEventCausePtr /* cause */ 56335c4bbdfSmrg ); 56435c4bbdfSmrg 56535c4bbdfSmrgextern _X_EXPORT unsigned int XkbIndicatorsToUpdate(DeviceIntPtr /* dev */ , 56635c4bbdfSmrg unsigned long 56735c4bbdfSmrg /* state_changes */ , 56835c4bbdfSmrg Bool /* enabled_ctrl_changes */ 56935c4bbdfSmrg ); 57035c4bbdfSmrg 57135c4bbdfSmrgextern _X_EXPORT void XkbComputeDerivedState(XkbSrvInfoPtr /* xkbi */ 57235c4bbdfSmrg ); 57335c4bbdfSmrg 57435c4bbdfSmrgextern _X_EXPORT void XkbCheckSecondaryEffects(XkbSrvInfoPtr /* xkbi */ , 57535c4bbdfSmrg unsigned int /* which */ , 57635c4bbdfSmrg XkbChangesPtr /* changes */ , 57735c4bbdfSmrg XkbEventCausePtr /* cause */ 57835c4bbdfSmrg ); 57935c4bbdfSmrg 58035c4bbdfSmrgextern _X_EXPORT void XkbCheckIndicatorMaps(DeviceIntPtr /* dev */ , 58135c4bbdfSmrg XkbSrvLedInfoPtr /* sli */ , 58235c4bbdfSmrg unsigned int /* which */ 58335c4bbdfSmrg ); 58435c4bbdfSmrg 58535c4bbdfSmrgextern _X_EXPORT unsigned int XkbStateChangedFlags(XkbStatePtr /* old */ , 58635c4bbdfSmrg XkbStatePtr /* new */ 58735c4bbdfSmrg ); 58835c4bbdfSmrg 58935c4bbdfSmrgextern _X_EXPORT void XkbSendStateNotify(DeviceIntPtr /* kbd */ , 59035c4bbdfSmrg xkbStateNotify * /* pSN */ 59135c4bbdfSmrg ); 59235c4bbdfSmrg 59335c4bbdfSmrgextern _X_EXPORT void XkbSendMapNotify(DeviceIntPtr /* kbd */ , 59435c4bbdfSmrg xkbMapNotify * /* ev */ 59535c4bbdfSmrg ); 59635c4bbdfSmrg 59735c4bbdfSmrgextern _X_EXPORT int XkbComputeControlsNotify(DeviceIntPtr /* kbd */ , 59835c4bbdfSmrg XkbControlsPtr /* old */ , 59935c4bbdfSmrg XkbControlsPtr /* new */ , 60035c4bbdfSmrg xkbControlsNotify * /* pCN */ , 60135c4bbdfSmrg Bool /* forceCtrlProc */ 60235c4bbdfSmrg ); 60335c4bbdfSmrg 60435c4bbdfSmrgextern _X_EXPORT void XkbSendControlsNotify(DeviceIntPtr /* kbd */ , 60535c4bbdfSmrg xkbControlsNotify * /* ev */ 60635c4bbdfSmrg ); 60735c4bbdfSmrg 60835c4bbdfSmrgextern _X_EXPORT void XkbSendCompatMapNotify(DeviceIntPtr /* kbd */ , 60935c4bbdfSmrg xkbCompatMapNotify * /* ev */ 61035c4bbdfSmrg ); 61135c4bbdfSmrg 61235c4bbdfSmrgextern _X_EXPORT void XkbHandleBell(BOOL force, 61335c4bbdfSmrg BOOL eventOnly, 61435c4bbdfSmrg DeviceIntPtr kbd, 61535c4bbdfSmrg CARD8 percent, 61635c4bbdfSmrg void *ctrl, 61735c4bbdfSmrg CARD8 class, 61835c4bbdfSmrg Atom name, 61935c4bbdfSmrg WindowPtr pWin, 62035c4bbdfSmrg ClientPtr pClient 62135c4bbdfSmrg ); 62235c4bbdfSmrg 62335c4bbdfSmrgextern _X_EXPORT void XkbSendAccessXNotify(DeviceIntPtr /* kbd */ , 62435c4bbdfSmrg xkbAccessXNotify * /* pEv */ 62535c4bbdfSmrg ); 62635c4bbdfSmrg 62735c4bbdfSmrgextern _X_EXPORT void XkbSendNamesNotify(DeviceIntPtr /* kbd */ , 62835c4bbdfSmrg xkbNamesNotify * /* ev */ 62935c4bbdfSmrg ); 63035c4bbdfSmrg 63135c4bbdfSmrgextern _X_EXPORT void XkbSendActionMessage(DeviceIntPtr /* kbd */ , 63235c4bbdfSmrg xkbActionMessage * /* ev */ 63335c4bbdfSmrg ); 63435c4bbdfSmrg 63535c4bbdfSmrgextern _X_EXPORT void XkbSendExtensionDeviceNotify(DeviceIntPtr /* kbd */ , 63635c4bbdfSmrg ClientPtr /* client */ , 63735c4bbdfSmrg xkbExtensionDeviceNotify * /* ev */ 63835c4bbdfSmrg ); 63935c4bbdfSmrg 64035c4bbdfSmrgextern _X_EXPORT void XkbSendNotification(DeviceIntPtr /* kbd */ , 64135c4bbdfSmrg XkbChangesPtr /* pChanges */ , 64235c4bbdfSmrg XkbEventCausePtr /* cause */ 64335c4bbdfSmrg ); 64435c4bbdfSmrg 64535c4bbdfSmrgextern _X_EXPORT void XkbProcessKeyboardEvent(DeviceEvent * /* event */ , 64635c4bbdfSmrg DeviceIntPtr /* keybd */ 64735c4bbdfSmrg ); 64835c4bbdfSmrg 64935c4bbdfSmrgextern _X_EXPORT void XkbHandleActions(DeviceIntPtr /* dev */ , 65035c4bbdfSmrg DeviceIntPtr /* kbd */ , 65135c4bbdfSmrg DeviceEvent * /* event */ 65235c4bbdfSmrg ); 65335c4bbdfSmrg 65435c4bbdfSmrgextern void XkbPushLockedStateToSlaves(DeviceIntPtr /* master */, 65535c4bbdfSmrg int /* evtype */, 65635c4bbdfSmrg int /* key */); 65735c4bbdfSmrg 65835c4bbdfSmrgextern _X_EXPORT Bool XkbEnableDisableControls(XkbSrvInfoPtr /* xkbi */ , 65935c4bbdfSmrg unsigned long /* change */ , 66035c4bbdfSmrg unsigned long /* newValues */ , 66135c4bbdfSmrg XkbChangesPtr /* changes */ , 66235c4bbdfSmrg XkbEventCausePtr /* cause */ 66335c4bbdfSmrg ); 66435c4bbdfSmrg 66535c4bbdfSmrgextern _X_EXPORT void AccessXInit(DeviceIntPtr /* dev */ 66635c4bbdfSmrg ); 66735c4bbdfSmrg 66835c4bbdfSmrgextern _X_EXPORT Bool AccessXFilterPressEvent(DeviceEvent * /* event */ , 66935c4bbdfSmrg DeviceIntPtr /* keybd */ 67035c4bbdfSmrg ); 67135c4bbdfSmrg 67235c4bbdfSmrgextern _X_EXPORT Bool AccessXFilterReleaseEvent(DeviceEvent * /* event */ , 67335c4bbdfSmrg DeviceIntPtr /* keybd */ 67435c4bbdfSmrg ); 67535c4bbdfSmrg 67635c4bbdfSmrgextern _X_EXPORT void AccessXCancelRepeatKey(XkbSrvInfoPtr /* xkbi */ , 67735c4bbdfSmrg KeyCode /* key */ 67835c4bbdfSmrg ); 67935c4bbdfSmrg 68035c4bbdfSmrgextern _X_EXPORT void AccessXComputeCurveFactor(XkbSrvInfoPtr /* xkbi */ , 68135c4bbdfSmrg XkbControlsPtr /* ctrls */ 68235c4bbdfSmrg ); 68335c4bbdfSmrg 68435c4bbdfSmrgextern _X_EXPORT XkbInterestPtr XkbFindClientResource(DevicePtr /* inDev */ , 68535c4bbdfSmrg ClientPtr /* client */ 68635c4bbdfSmrg ); 68735c4bbdfSmrg 68835c4bbdfSmrgextern _X_EXPORT XkbInterestPtr XkbAddClientResource(DevicePtr /* inDev */ , 68935c4bbdfSmrg ClientPtr /* client */ , 69035c4bbdfSmrg XID /* id */ 69135c4bbdfSmrg ); 69235c4bbdfSmrg 69335c4bbdfSmrgextern _X_EXPORT int XkbRemoveResourceClient(DevicePtr /* inDev */ , 69435c4bbdfSmrg XID /* id */ 69535c4bbdfSmrg ); 69635c4bbdfSmrg 69735c4bbdfSmrgextern _X_EXPORT int XkbDDXAccessXBeep(DeviceIntPtr /* dev */ , 69835c4bbdfSmrg unsigned int /* what */ , 69935c4bbdfSmrg unsigned int /* which */ 70035c4bbdfSmrg ); 70135c4bbdfSmrg 70235c4bbdfSmrgextern _X_EXPORT int XkbDDXUsesSoftRepeat(DeviceIntPtr /* dev */ 70335c4bbdfSmrg ); 70435c4bbdfSmrg 70535c4bbdfSmrgextern _X_EXPORT void XkbDDXKeybdCtrlProc(DeviceIntPtr /* dev */ , 70635c4bbdfSmrg KeybdCtrl * /* ctrl */ 70735c4bbdfSmrg ); 70835c4bbdfSmrg 70935c4bbdfSmrgextern _X_EXPORT void XkbDDXChangeControls(DeviceIntPtr /* dev */ , 71035c4bbdfSmrg XkbControlsPtr /* old */ , 71135c4bbdfSmrg XkbControlsPtr /* new */ 71235c4bbdfSmrg ); 71335c4bbdfSmrg 71435c4bbdfSmrgextern _X_EXPORT void XkbDDXUpdateDeviceIndicators(DeviceIntPtr /* dev */ , 71535c4bbdfSmrg XkbSrvLedInfoPtr /* sli */ , 71635c4bbdfSmrg CARD32 /* newState */ 71735c4bbdfSmrg ); 71835c4bbdfSmrg 71935c4bbdfSmrgextern _X_EXPORT int XkbDDXTerminateServer(DeviceIntPtr /* dev */ , 72035c4bbdfSmrg KeyCode /* key */ , 72135c4bbdfSmrg XkbAction * /* act */ 72235c4bbdfSmrg ); 72335c4bbdfSmrg 72435c4bbdfSmrgextern _X_EXPORT int XkbDDXSwitchScreen(DeviceIntPtr /* dev */ , 72535c4bbdfSmrg KeyCode /* key */ , 72635c4bbdfSmrg XkbAction * /* act */ 72735c4bbdfSmrg ); 72835c4bbdfSmrg 72935c4bbdfSmrgextern _X_EXPORT int XkbDDXPrivate(DeviceIntPtr /* dev */ , 73035c4bbdfSmrg KeyCode /* key */ , 73135c4bbdfSmrg XkbAction * /* act */ 73235c4bbdfSmrg ); 73335c4bbdfSmrg 73435c4bbdfSmrgextern _X_EXPORT void XkbDisableComputedAutoRepeats(DeviceIntPtr /* pXDev */ , 73535c4bbdfSmrg unsigned int /* key */ 73635c4bbdfSmrg ); 73735c4bbdfSmrg 73835c4bbdfSmrgextern _X_EXPORT void XkbSetRepeatKeys(DeviceIntPtr /* pXDev */ , 73935c4bbdfSmrg int /* key */ , 74035c4bbdfSmrg int /* onoff */ 74135c4bbdfSmrg ); 74235c4bbdfSmrg 74335c4bbdfSmrgextern _X_EXPORT int XkbLatchModifiers(DeviceIntPtr /* pXDev */ , 74435c4bbdfSmrg CARD8 /* mask */ , 74535c4bbdfSmrg CARD8 /* latches */ 74635c4bbdfSmrg ); 74735c4bbdfSmrg 74835c4bbdfSmrgextern _X_EXPORT int XkbLatchGroup(DeviceIntPtr /* pXDev */ , 74935c4bbdfSmrg int /* group */ 75035c4bbdfSmrg ); 75135c4bbdfSmrg 75235c4bbdfSmrgextern _X_EXPORT void XkbClearAllLatchesAndLocks(DeviceIntPtr /* dev */ , 75335c4bbdfSmrg XkbSrvInfoPtr /* xkbi */ , 75435c4bbdfSmrg Bool /* genEv */ , 75535c4bbdfSmrg XkbEventCausePtr /* cause */ 75635c4bbdfSmrg ); 75735c4bbdfSmrg 75835c4bbdfSmrgextern _X_EXPORT void XkbInitRules(XkbRMLVOSet * /* rmlvo */, 75935c4bbdfSmrg const char * /* rules */, 76035c4bbdfSmrg const char * /* model */, 76135c4bbdfSmrg const char * /* layout */, 76235c4bbdfSmrg const char * /* variant */, 76335c4bbdfSmrg const char * /* options */ 76435c4bbdfSmrg ) ; 76535c4bbdfSmrg 76635c4bbdfSmrgextern _X_EXPORT void XkbGetRulesDflts(XkbRMLVOSet * /* rmlvo */ 76735c4bbdfSmrg ); 76835c4bbdfSmrg 76935c4bbdfSmrgextern _X_EXPORT void XkbFreeRMLVOSet(XkbRMLVOSet * /* rmlvo */ , 77035c4bbdfSmrg Bool /* freeRMLVO */ 77135c4bbdfSmrg ); 77235c4bbdfSmrg 77335c4bbdfSmrgextern _X_EXPORT void XkbSetRulesDflts(XkbRMLVOSet * /* rmlvo */ 77435c4bbdfSmrg ); 77535c4bbdfSmrg 77635c4bbdfSmrgextern _X_EXPORT void XkbDeleteRulesDflts(void 77735c4bbdfSmrg ); 77835c4bbdfSmrg 77935c4bbdfSmrgextern _X_EXPORT void XkbDeleteRulesUsed(void 78035c4bbdfSmrg ); 78135c4bbdfSmrg 78235c4bbdfSmrgextern _X_EXPORT int SProcXkbDispatch(ClientPtr /* client */ 78335c4bbdfSmrg ); 78435c4bbdfSmrg 78535c4bbdfSmrgextern _X_EXPORT XkbGeometryPtr XkbLookupNamedGeometry(DeviceIntPtr /* dev */ , 78635c4bbdfSmrg Atom /* name */ , 78735c4bbdfSmrg Bool * /* shouldFree */ 78835c4bbdfSmrg ); 78935c4bbdfSmrg 79035c4bbdfSmrgextern _X_EXPORT void XkbConvertCase(KeySym /* sym */ , 79135c4bbdfSmrg KeySym * /* lower */ , 79235c4bbdfSmrg KeySym * /* upper */ 79335c4bbdfSmrg ); 79435c4bbdfSmrg 79535c4bbdfSmrgextern _X_EXPORT Status XkbChangeKeycodeRange(XkbDescPtr /* xkb */ , 79635c4bbdfSmrg int /* minKC */ , 79735c4bbdfSmrg int /* maxKC */ , 79835c4bbdfSmrg XkbChangesPtr /* changes */ 79935c4bbdfSmrg ); 80035c4bbdfSmrg 80135c4bbdfSmrgextern _X_EXPORT void XkbFreeSrvLedInfo(XkbSrvLedInfoPtr /* sli */ 80235c4bbdfSmrg ); 80335c4bbdfSmrg 80435c4bbdfSmrgextern _X_EXPORT void XkbFreeInfo(XkbSrvInfoPtr /* xkbi */ 80535c4bbdfSmrg ); 80635c4bbdfSmrg 80735c4bbdfSmrgextern _X_EXPORT Status XkbChangeTypesOfKey(XkbDescPtr /* xkb */ , 80835c4bbdfSmrg int /* key */ , 80935c4bbdfSmrg int /* nGroups */ , 81035c4bbdfSmrg unsigned int /* groups */ , 81135c4bbdfSmrg int * /* newTypesIn */ , 81235c4bbdfSmrg XkbMapChangesPtr /* changes */ 81335c4bbdfSmrg ); 81435c4bbdfSmrg 81535c4bbdfSmrgextern _X_EXPORT int XkbKeyTypesForCoreSymbols(XkbDescPtr /* xkb */ , 81635c4bbdfSmrg int /* map_width */ , 81735c4bbdfSmrg KeySym * /* core_syms */ , 81835c4bbdfSmrg unsigned int /* protected */ , 81935c4bbdfSmrg int * /* types_inout */ , 82035c4bbdfSmrg KeySym * /* xkb_syms_rtrn */ 82135c4bbdfSmrg ); 82235c4bbdfSmrg 82335c4bbdfSmrgextern _X_EXPORT Bool XkbApplyCompatMapToKey(XkbDescPtr /* xkb */ , 82435c4bbdfSmrg KeyCode /* key */ , 82535c4bbdfSmrg XkbChangesPtr /* changes */ 82635c4bbdfSmrg ); 82735c4bbdfSmrg 82835c4bbdfSmrgextern _X_EXPORT Bool XkbApplyVirtualModChanges(XkbDescPtr /* xkb */ , 82935c4bbdfSmrg unsigned int /* changed */ , 83035c4bbdfSmrg XkbChangesPtr /* changes */ 83135c4bbdfSmrg ); 83235c4bbdfSmrg 83335c4bbdfSmrgextern _X_EXPORT void XkbSendNewKeyboardNotify(DeviceIntPtr /* kbd */ , 83435c4bbdfSmrg xkbNewKeyboardNotify * /* pNKN */ 83535c4bbdfSmrg ); 83635c4bbdfSmrg 83735c4bbdfSmrgextern Bool XkbCopyKeymap(XkbDescPtr /* dst */ , 83835c4bbdfSmrg XkbDescPtr /* src */ ); 83935c4bbdfSmrg 84035c4bbdfSmrgextern _X_EXPORT Bool XkbCopyDeviceKeymap(DeviceIntPtr /* dst */, 84135c4bbdfSmrg DeviceIntPtr /* src */); 84235c4bbdfSmrg 84335c4bbdfSmrgextern _X_EXPORT Bool XkbDeviceApplyKeymap(DeviceIntPtr /* dst */ , 84435c4bbdfSmrg XkbDescPtr /* src */ ); 84535c4bbdfSmrg 84635c4bbdfSmrgextern void XkbFilterEvents(ClientPtr /* pClient */ , 84735c4bbdfSmrg int /* nEvents */ , 84835c4bbdfSmrg xEvent * /* xE */ ); 84935c4bbdfSmrg 85035c4bbdfSmrgextern int XkbGetEffectiveGroup(XkbSrvInfoPtr /* xkbi */ , 85135c4bbdfSmrg XkbStatePtr /* xkbstate */ , 85235c4bbdfSmrg CARD8 /* keycode */ ); 85335c4bbdfSmrg 85435c4bbdfSmrgextern void XkbMergeLockedPtrBtns(DeviceIntPtr /* master */ ); 85535c4bbdfSmrg 85635c4bbdfSmrgextern void XkbFakeDeviceButton(DeviceIntPtr /* dev */ , 85735c4bbdfSmrg int /* press */ , 85835c4bbdfSmrg int /* button */ ); 85935c4bbdfSmrg 86035c4bbdfSmrgextern _X_EXPORT void XkbCopyControls(XkbDescPtr /* dst */ , 86135c4bbdfSmrg XkbDescPtr /* src */ ); 8626747b715Smrg 8634642e01fSmrg#include "xkbfile.h" 8644642e01fSmrg#include "xkbrules.h" 86505b261ecSmrg 8666747b715Smrg#define _XkbListKeycodes 0 8676747b715Smrg#define _XkbListTypes 1 8686747b715Smrg#define _XkbListCompat 2 8696747b715Smrg#define _XkbListSymbols 3 8706747b715Smrg#define _XkbListGeometry 4 8716747b715Smrg#define _XkbListNumComponents 5 87205b261ecSmrg 87335c4bbdfSmrgextern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames(DeviceIntPtr /* keybd */ , 87435c4bbdfSmrg XkbComponentNamesPtr 87535c4bbdfSmrg /* names */ , 87635c4bbdfSmrg unsigned int /* want */ , 87735c4bbdfSmrg unsigned int /* need */ , 87835c4bbdfSmrg XkbDescPtr * 87935c4bbdfSmrg /* finfoRtrn */ , 88035c4bbdfSmrg char * 88135c4bbdfSmrg /* keymapNameRtrn */ , 88235c4bbdfSmrg int /* keymapNameRtrnLen */ 88335c4bbdfSmrg ); 88435c4bbdfSmrg 88535c4bbdfSmrgextern _X_EXPORT Bool XkbDDXNamesFromRules(DeviceIntPtr /* keybd */ , 88635c4bbdfSmrg const char * /* rules */ , 88735c4bbdfSmrg XkbRF_VarDefsPtr /* defs */ , 88835c4bbdfSmrg XkbComponentNamesPtr /* names */ 88935c4bbdfSmrg ); 89035c4bbdfSmrg 89135c4bbdfSmrgextern _X_EXPORT XkbDescPtr XkbCompileKeymap(DeviceIntPtr /* dev */ , 89235c4bbdfSmrg XkbRMLVOSet * /* rmlvo */ 89335c4bbdfSmrg ); 89435c4bbdfSmrg 89535c4bbdfSmrgextern _X_EXPORT XkbDescPtr XkbCompileKeymapFromString(DeviceIntPtr dev, 89635c4bbdfSmrg const char *keymap, 89735c4bbdfSmrg int keymap_length); 89835c4bbdfSmrg 89935c4bbdfSmrg#endif /* _XKBSRV_H_ */ 900