a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncCopyright 1996 by Thomas E. Dickey <dickey@clark.net>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync All Rights Reserved
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
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
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncpermission.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
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
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/********************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Interface of 'exevents.c'
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#ifndef EXEVENTS_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define EXEVENTS_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include <X11/extensions/XIproto.h>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "inputstr.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/***************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Interface available to drivers *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ***************************************************************/
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/**
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Scroll flags for ::SetScrollValuator.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncenum ScrollFlags {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync SCROLL_FLAG_NONE = 0,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync /**
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Do not emulate legacy button events for valuator events on this axis.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync SCROLL_FLAG_DONT_EMULATE = (1 << 1),
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync /**
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * This axis is the preferred axis for valuator emulation for this axis'
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * scroll type.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync SCROLL_FLAG_PREFERRED = (1 << 2)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync};
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int InitProximityClassDeviceStruct(DeviceIntPtr /* dev */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool InitValuatorAxisStruct(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* axnum */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom /* label */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* minval */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* maxval */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* resolution */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* min_res */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* max_res */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* mode */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool SetScrollValuator(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* axnum */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync enum ScrollType /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync double /* increment */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* flags */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Input device properties */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void XIDeleteAllDeviceProperties(DeviceIntPtr /* device */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIDeleteDeviceProperty(DeviceIntPtr /* device */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom /* property */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Bool /* fromClient */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIChangeDeviceProperty(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom /* property */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* format */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* mode */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned long /* len */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync const void * /* value */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Bool /* sendevent */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIGetDeviceProperty(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom /* property */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XIPropertyValuePtr * /* value */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XISetDevicePropertyDeletable(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom /* property */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Bool /* deletable */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT long XIRegisterPropertyHandler(DeviceIntPtr dev,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int (*SetProperty) (DeviceIntPtr
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dev,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync property,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XIPropertyValuePtr
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync prop,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync BOOL
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync checkonly),
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int (*GetProperty) (DeviceIntPtr
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dev,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync property),
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int (*DeleteProperty)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync (DeviceIntPtr dev,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Atom property)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void XIUnregisterPropertyHandler(DeviceIntPtr dev, long id);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Atom XIGetKnownProperty(const char *name);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT DeviceIntPtr XIGetDevice(xEvent *ev);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIPropToInt(XIPropertyValuePtr val,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int *nelem_return, int **buf_return);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int XIPropToFloat(XIPropertyValuePtr val,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int *nelem_return, float **buf_return);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/****************************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * End of driver interface *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ****************************************************************************/
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/**
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Attached to the devPrivates of each client. Specifies the version number as
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * supported by the client.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct _XIClientRec {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int major_version;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int minor_version;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XIClientRec, *XIClientPtr;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct _GrabParameters {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int grabtype; /* CORE, etc. */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned int ownerEvents;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned int this_device_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned int other_devices_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Window grabWindow;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Window confineTo;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Cursor cursor;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned int modifiers;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} GrabParameters;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync UpdateDeviceState(DeviceIntPtr /* device */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceEvent * /* xE */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ProcessOtherEvent(InternalEvent * /* ev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* other */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync CheckGrabValues(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabParameters * /* param */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabButton(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* modifier_device */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* button */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabParameters * /* param */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync enum InputLevel /* grabtype */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabMask * /* eventMask */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabKey(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* modifier_device */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* key */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabParameters * /* param */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync enum InputLevel /* grabtype */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabMask * /* eventMask */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabWindow(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabParameters * /* param */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabMask * /* eventMask */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabTouch(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* mod_dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabParameters * /* param */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabMask * /* eventMask */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync SelectForWindow(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask /* mask */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask /* exclusivemasks */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync AddExtensionClient(WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask /* mask */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* mskidx */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync RecalculateDeviceDeliverableEvents(WindowPtr /* pWin */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync InputClientGone(WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XID /* id */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync WindowGone(WindowPtr /* win */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync SendEvent(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* d */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Window /* dest */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Bool /* propagate */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync xEvent * /* ev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask /* mask */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* count */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync SetButtonMapping(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* nElts */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync BYTE * /* map */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ChangeKeyMapping(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned /* len */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync KeyCode /* firstKeyCode */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync CARD8 /* keyCodes */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync CARD8 /* keySymsPerKeyCode */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync KeySym * /* map */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeleteWindowFromAnyExtEvents(WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Bool /* freeResources */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync MaybeSendDeviceMotionNotifyHint(deviceKeyButtonPointer * /* pEvents */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask /* mask */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync CheckDeviceGrabAndHintWindow(WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync deviceKeyButtonPointer * /* xE */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabPtr /* grab */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask /* deliveryMask */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync MaybeStopDeviceHint(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr /* client */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceEventSuppressForWindow(WindowPtr /* pWin */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask /* mask */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* maskndx */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync SendEventToAllWindows(DeviceIntPtr /* dev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask /* mask */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync xEvent * /* ev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* count */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync TouchRejected(DeviceIntPtr /* sourcedev */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync TouchPointInfoPtr /* ti */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XID /* resource */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync TouchOwnershipEvent * /* ev */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_HIDDEN void XI2EventSwap(xGenericEvent * /* from */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync xGenericEvent * /* to */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
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? */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XIShouldNotify(ClientPtr client, DeviceIntPtr dev);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XISendDeviceChangedEvent(DeviceIntPtr device, DeviceChangedEvent *dce);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned int len, unsigned char *mask);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern int
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XICheckInvalidMaskBits(ClientPtr client, unsigned char *mask, int len);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* EXEVENTS_H */