4c221b0da1816acf2ca302b10092df059484468dvboxsync/************************************************************
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCopyright 1996 by Thomas E. Dickey <dickey@clark.net>
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync All Rights Reserved
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPermission to use, copy, modify, and distribute this software and its
4c221b0da1816acf2ca302b10092df059484468dvboxsyncdocumentation for any purpose and without fee is hereby granted,
4c221b0da1816acf2ca302b10092df059484468dvboxsyncprovided that the above copyright notice appear in all copies and that
4c221b0da1816acf2ca302b10092df059484468dvboxsyncboth that copyright notice and this permission notice appear in
4c221b0da1816acf2ca302b10092df059484468dvboxsyncsupporting documentation, and that the name of the above listed
4c221b0da1816acf2ca302b10092df059484468dvboxsynccopyright holder(s) not be used in advertising or publicity pertaining
4c221b0da1816acf2ca302b10092df059484468dvboxsyncto distribution of the software without specific, written prior
4c221b0da1816acf2ca302b10092df059484468dvboxsyncpermission.
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncTHE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
4c221b0da1816acf2ca302b10092df059484468dvboxsyncTO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
4c221b0da1816acf2ca302b10092df059484468dvboxsyncAND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
4c221b0da1816acf2ca302b10092df059484468dvboxsyncLIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
4c221b0da1816acf2ca302b10092df059484468dvboxsyncWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
4c221b0da1816acf2ca302b10092df059484468dvboxsyncACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
4c221b0da1816acf2ca302b10092df059484468dvboxsyncOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync********************************************************/
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/********************************************************************
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Interface of 'exevents.c'
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#ifndef EXEVENTS_H
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define EXEVENTS_H
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include <X11/extensions/XIproto.h>
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include "inputstr.h"
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/***************************************************************
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Interface available to drivers *
4c221b0da1816acf2ca302b10092df059484468dvboxsync ***************************************************************/
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int InitProximityClassDeviceStruct(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void InitValuatorAxisStruct(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* axnum */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom /* label */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* minval */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* maxval */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* resolution */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* min_res */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* max_res */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* mode */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/* Input device properties */
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void XIDeleteAllDeviceProperties(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* device */
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int XIDeleteDeviceProperty(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* device */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom /* property */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Bool /* fromClient */
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int XIChangeDeviceProperty(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom /* property */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom /* type */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* format*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* mode*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned long /* len*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync const pointer /* value*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Bool /* sendevent*/
4c221b0da1816acf2ca302b10092df059484468dvboxsync );
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int XIGetDeviceProperty(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom /* property */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XIPropertyValuePtr* /* value */
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int XISetDevicePropertyDeletable(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom /* property */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Bool /* deletable */
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT long XIRegisterPropertyHandler(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr dev,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int (*SetProperty) (DeviceIntPtr dev,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom property,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XIPropertyValuePtr prop,
4c221b0da1816acf2ca302b10092df059484468dvboxsync BOOL checkonly),
4c221b0da1816acf2ca302b10092df059484468dvboxsync int (*GetProperty) (DeviceIntPtr dev,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom property),
4c221b0da1816acf2ca302b10092df059484468dvboxsync int (*DeleteProperty) (DeviceIntPtr dev,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Atom property)
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void XIUnregisterPropertyHandler(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr dev,
4c221b0da1816acf2ca302b10092df059484468dvboxsync long id
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Atom XIGetKnownProperty(
4c221b0da1816acf2ca302b10092df059484468dvboxsync char* name
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT DeviceIntPtr XIGetDevice(xEvent *ev);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int XIPropToInt(
4c221b0da1816acf2ca302b10092df059484468dvboxsync XIPropertyValuePtr val,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *nelem_return,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int **buf_return
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int XIPropToFloat(
4c221b0da1816acf2ca302b10092df059484468dvboxsync XIPropertyValuePtr val,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *nelem_return,
4c221b0da1816acf2ca302b10092df059484468dvboxsync float **buf_return
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/****************************************************************************
4c221b0da1816acf2ca302b10092df059484468dvboxsync * End of driver interface *
4c221b0da1816acf2ca302b10092df059484468dvboxsync ****************************************************************************/
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/**
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Attached to the devPrivates of each client. Specifies the version number as
4c221b0da1816acf2ca302b10092df059484468dvboxsync * supported by the client.
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _XIClientRec {
4c221b0da1816acf2ca302b10092df059484468dvboxsync int major_version;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int minor_version;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} XIClientRec, *XIClientPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _GrabParameters {
4c221b0da1816acf2ca302b10092df059484468dvboxsync int grabtype; /* GRABTYPE_CORE, etc. */
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int ownerEvents;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int this_device_mode;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int other_devices_mode;
4c221b0da1816acf2ca302b10092df059484468dvboxsync Window grabWindow;
4c221b0da1816acf2ca302b10092df059484468dvboxsync Window confineTo;
4c221b0da1816acf2ca302b10092df059484468dvboxsync Cursor cursor;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int modifiers;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} GrabParameters;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncUpdateDeviceState (
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* device */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceEvent* /* xE */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncProcessOtherEvent (
4c221b0da1816acf2ca302b10092df059484468dvboxsync InternalEvent* /* ev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* other */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncDeviceFocusEvent(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* type */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* mode */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* detail */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync WindowPtr /* pWin */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCheckGrabValues(
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabParameters* /* param */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncGrabButton(
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* modifier_device */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* button */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabParameters* /* param */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabType /* grabtype */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabMask* /* eventMask */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncGrabKey(
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* modifier_device */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* key */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabParameters* /* param */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabType /* grabtype */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabMask* /* eventMask */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncGrabWindow(
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* type */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabParameters* /* param */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabMask* /* eventMask */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSelectForWindow(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync WindowPtr /* pWin */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /* mask */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /* exclusivemasks */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncAddExtensionClient (
4c221b0da1816acf2ca302b10092df059484468dvboxsync WindowPtr /* pWin */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /* mask */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* mskidx */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncRecalculateDeviceDeliverableEvents(
4c221b0da1816acf2ca302b10092df059484468dvboxsync WindowPtr /* pWin */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncInputClientGone(
4c221b0da1816acf2ca302b10092df059484468dvboxsync WindowPtr /* pWin */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID /* id */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSendEvent (
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* d */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Window /* dest */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Bool /* propagate */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xEvent * /* ev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /* mask */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* count */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSetButtonMapping (
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* nElts */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync BYTE * /* map */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncChangeKeyMapping(
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned /* len */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* type */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync KeyCode /* firstKeyCode */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD8 /* keyCodes */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD8 /* keySymsPerKeyCode */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync KeySym * /* map */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncDeleteWindowFromAnyExtEvents(
4c221b0da1816acf2ca302b10092df059484468dvboxsync WindowPtr /* pWin */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Bool /* freeResources */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncMaybeSendDeviceMotionNotifyHint (
4c221b0da1816acf2ca302b10092df059484468dvboxsync deviceKeyButtonPointer * /* pEvents */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /* mask */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCheckDeviceGrabAndHintWindow (
4c221b0da1816acf2ca302b10092df059484468dvboxsync WindowPtr /* pWin */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* type */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync deviceKeyButtonPointer * /* xE */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GrabPtr /* grab */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /* deliveryMask */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncMaybeStopDeviceHint(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncDeviceEventSuppressForWindow(
4c221b0da1816acf2ca302b10092df059484468dvboxsync WindowPtr /* pWin */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr /* client */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /* mask */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* maskndx */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSendEventToAllWindows(
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceIntPtr /* dev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /* mask */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xEvent * /* ev */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /* count */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_HIDDEN void XI2EventSwap(
4c221b0da1816acf2ca302b10092df059484468dvboxsync xGenericEvent * /* from */,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xGenericEvent * /* to */);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/* For an event such as MappingNotify which affects client interpretation
4c221b0da1816acf2ca302b10092df059484468dvboxsync * of input events sent by device dev, should we notify the client, or
4c221b0da1816acf2ca302b10092df059484468dvboxsync * would it merely be irrelevant and confusing? */
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncXIShouldNotify(ClientPtr client, DeviceIntPtr dev);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncXISendDeviceChangedEvent(DeviceIntPtr device, DeviceIntPtr master,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DeviceChangedEvent *dce);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncXISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int len, unsigned char* mask);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncXICheckInvalidMaskBits(ClientPtr client, unsigned char *mask, int len);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#endif /* EXEVENTS_H */