a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncCopyright 1996 by Thomas E. Dickey <dickey@clark.net>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync All Rights Reserved
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncPermission to use, copy, modify, and distribute this software and its
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncdocumentation for any purpose and without fee is hereby granted,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncprovided that the above copyright notice appear in all copies and that
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncboth that copyright notice and this permission notice appear in
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncsupporting documentation, and that the name of the above listed
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynccopyright holder(s) not be used in advertising or publicity pertaining
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncto distribution of the software without specific, written prior
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncTHE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncTO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncAND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncLIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync********************************************************/
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/********************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Interface of 'exevents.c'
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/***************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Interface available to drivers *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ***************************************************************/
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Scroll flags for ::SetScrollValuator.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Do not emulate legacy button events for valuator events on this axis.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * This axis is the preferred axis for valuator emulation for this axis'
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * scroll type.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int InitProximityClassDeviceStruct(DeviceIntPtr /* dev */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool InitValuatorAxisStruct(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* axnum */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* minval */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* maxval */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* resolution */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* min_res */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* max_res */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* mode */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool SetScrollValuator(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* axnum */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync double /* increment */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* flags */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Input device properties */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void XIDeleteAllDeviceProperties(DeviceIntPtr /* device */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIDeleteDeviceProperty(DeviceIntPtr /* device */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIChangeDeviceProperty(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* format */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* mode */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned long /* len */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync const void * /* value */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIGetDeviceProperty(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XISetDevicePropertyDeletable(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT long XIRegisterPropertyHandler(DeviceIntPtr dev,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void XIUnregisterPropertyHandler(DeviceIntPtr dev, long id);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Atom XIGetKnownProperty(const char *name);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT DeviceIntPtr XIGetDevice(xEvent *ev);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIPropToInt(XIPropertyValuePtr val,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIPropToFloat(XIPropertyValuePtr val,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/****************************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * End of driver interface *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ****************************************************************************/
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Attached to the devPrivates of each client. Specifies the version number as
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * supported by the client.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* button */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* key */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* mskidx */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync RecalculateDeviceDeliverableEvents(WindowPtr /* pWin */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* count */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* nElts */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned /* len */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeleteWindowFromAnyExtEvents(WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync MaybeSendDeviceMotionNotifyHint(deviceKeyButtonPointer * /* pEvents */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync CheckDeviceGrabAndHintWindow(WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceEventSuppressForWindow(WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* maskndx */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* count */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_HIDDEN void XI2EventSwap(xGenericEvent * /* from */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* For an event such as MappingNotify which affects client interpretation
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * of input events sent by device dev, should we notify the client, or
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * would it merely be irrelevant and confusing? */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XIShouldNotify(ClientPtr client, DeviceIntPtr dev);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XISendDeviceChangedEvent(DeviceIntPtr device, DeviceChangedEvent *dce);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XICheckInvalidMaskBits(ClientPtr client, unsigned char *mask, int len);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* EXEVENTS_H */