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