f78b12e570284aa8291f4ca1add24937fd107403vboxsync/************************************************************
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncCopyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncPermission to use, copy, modify, and distribute this
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncsoftware and its documentation for any purpose and without
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncfee is hereby granted, provided that the above copyright
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncnotice appear in all copies and that both that copyright
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncnotice and this permission notice appear in supporting
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncdocumentation, and that the name of Silicon Graphics not be
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncused in advertising or publicity pertaining to distribution
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncof the software without specific prior written permission.
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncSilicon Graphics makes no representation about the suitability
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncof this software for any purpose. It is provided "as is"
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncwithout any express or implied warranty.
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncTHE USE OR PERFORMANCE OF THIS SOFTWARE.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync********************************************************/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned /* keycode */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Settings for xkbClientFlags field (used by DIX)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * These flags _must_ not overlap with XkbPCF_*
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Settings for flags field
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct
f78b12e570284aa8291f4ca1add24937fd107403vboxsync /* If processInputProc is set to something different than realInputProc,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * UNWRAP and COND_WRAP will not touch processInputProc and update only
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * realInputProc. This ensures that
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * processInputProc == (frozen ? EnqueueEvent : realInputProc)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * WRAP_PROCESS_INPUT_PROC should only be called during initialization,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * since it may destroy this invariant.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync oldprocs->realInputProc = device->public.realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync if (device->public.processInputProc == device->public.realInputProc)\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync oldprocs->realInputProc = device->public.realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs, backupproc) \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync if (device->public.processInputProc == device->public.realInputProc)\
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->public.processInputProc = oldprocs->realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsync device->public.realInputProc = oldprocs->realInputProc; \
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT DevPrivateKeyRec xkbDevicePrivateKeyRec;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define xkbDevicePrivateKey (&xkbDevicePrivateKeyRec)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr)dixLookupPrivate(&(dev)->devPrivates, xkbDevicePrivateKey))
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern void xkbUnwrapProc(DeviceIntPtr, DeviceHandleProc, pointer);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/***====================================================================***/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/***====================================================================***/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/***====================================================================***/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int DeviceKeyPress,DeviceKeyRelease,DeviceMotionNotify;
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int DeviceButtonPress,DeviceButtonRelease;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* argc */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync char ** /* argv */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* i */
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* nTypes */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* nNewActions */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* what */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* what */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* nInterpret */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* nTotalRG */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* nTotalAliases */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which*/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* num_types */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* type_ndx */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* map_count */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* new_num_lvls */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* mods */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* vmask */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* virtua_mask */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int * /* mask_rtrn */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* group */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* needed */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* needed */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int * /* needChecksRtrn */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* needed_parts */
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbSrvLedInfoPtr XkbCopySrvLedInfo(
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbSrvLedInfoPtr XkbFindSrvLedInfo(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* class */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* id */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* needed_parts */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* changed_names */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* changed_maps */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* changed_leds */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT unsigned int XkbIndicatorsToUpdate(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned long /* state_changes */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned long /* change */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned long /* newValues */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbInterestPtr XkbFindClientResource(
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbInterestPtr XkbAddClientResource(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* what */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* which */
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void XkbDisableComputedAutoRepeats(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* key */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* onoff */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* group */
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT XkbGeometryPtr XkbLookupNamedGeometry(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* minKC */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* maxKC */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* key */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* nGroups */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* groups */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int * /* newTypesIn */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* map_width */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* protected */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int * /* types_inout */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* changed */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* nEvents */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* press */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* button */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT unsigned int XkbDDXLoadKeymapByNames(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* want */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int /* need */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync char * /* keymapNameRtrn */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* keymapNameRtrnLen */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync char * /* rules */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#endif /* _XKBSRV_H_ */