b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/************************************************************
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncCopyright 1996 by Thomas E. Dickey <dickey@clark.net>
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync All Rights Reserved
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncPermission to use, copy, modify, and distribute this software and its
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncdocumentation for any purpose and without fee is hereby granted,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncprovided that the above copyright notice appear in all copies and that
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncboth that copyright notice and this permission notice appear in
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncsupporting documentation, and that the name of the above listed
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynccopyright holder(s) not be used in advertising or publicity pertaining
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncto distribution of the software without specific, written prior
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncpermission.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncTHE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncTO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncAND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncLIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync********************************************************/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/********************************************************************
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * Interface of 'exevents.c'
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifndef EXEVENTS_H
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define EXEVENTS_H
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include <X11/extensions/XIproto.h>
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include "inputstr.h"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/***************************************************************
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * Interface available to drivers *
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ***************************************************************/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int InitProximityClassDeviceStruct(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void InitValuatorAxisStruct(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* axnum */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom /* label */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* minval */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* maxval */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* resolution */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* min_res */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* max_res */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Input device properties */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void XIDeleteAllDeviceProperties(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* device */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XIDeleteDeviceProperty(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* device */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom /* property */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool /* fromClient */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XIChangeDeviceProperty(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom /* property */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom /* type */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* format*/,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* mode*/,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long /* len*/,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync pointer /* value*/,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool /* sendevent*/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XIGetDeviceProperty(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom /* property */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XIPropertyValuePtr* /* value */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XISetDevicePropertyDeletable(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom /* property */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool /* deletable */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT long XIRegisterPropertyHandler(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr dev,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*SetProperty) (DeviceIntPtr dev,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom property,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XIPropertyValuePtr prop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BOOL checkonly),
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*GetProperty) (DeviceIntPtr dev,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom property),
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*DeleteProperty) (DeviceIntPtr dev,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Atom property)
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void XIUnregisterPropertyHandler(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr dev,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync long id
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Atom XIGetKnownProperty(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync char* name
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT DeviceIntPtr XIGetDevice(xEvent *ev);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XIPropToInt(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XIPropertyValuePtr val,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *nelem_return,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int **buf_return
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XIPropToFloat(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XIPropertyValuePtr val,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *nelem_return,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync float **buf_return
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/****************************************************************************
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * End of driver interface *
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ****************************************************************************/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/**
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * Attached to the devPrivates of each client. Specifies the version number as
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * supported by the client.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct _XIClientRec {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int major_version;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int minor_version;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} XIClientRec, *XIClientPtr;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct _GrabParameters {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int grabtype; /* GRABTYPE_CORE, etc. */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int ownerEvents;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int this_device_mode;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int other_devices_mode;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Window grabWindow;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Window confineTo;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Cursor cursor;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int modifiers;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} GrabParameters;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncRegisterOtherDevice (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* device */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncUpdateDeviceState (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* device */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceEvent* /* xE */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncProcessOtherEvent (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync InternalEvent* /* ev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* other */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncDeviceFocusEvent(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* type */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* mode */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* detail */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync WindowPtr /* pWin */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncCheckGrabValues(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabParameters* /* param */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncGrabButton(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* modifier_device */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* button */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabParameters* /* param */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabType /* grabtype */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabMask* /* eventMask */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncGrabKey(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* modifier_device */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* key */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabParameters* /* param */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabType /* grabtype */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabMask* /* eventMask */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncGrabWindow(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* type */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabParameters* /* param */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabMask* /* eventMask */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSelectForWindow(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync WindowPtr /* pWin */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Mask /* mask */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Mask /* exclusivemasks */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncAddExtensionClient (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync WindowPtr /* pWin */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Mask /* mask */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* mskidx */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncRecalculateDeviceDeliverableEvents(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync WindowPtr /* pWin */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncInputClientGone(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync WindowPtr /* pWin */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XID /* id */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSendEvent (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* d */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Window /* dest */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool /* propagate */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xEvent * /* ev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Mask /* mask */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* count */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSetButtonMapping (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* nElts */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BYTE * /* map */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncChangeKeyMapping(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned /* len */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* type */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync KeyCode /* firstKeyCode */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 /* keyCodes */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 /* keySymsPerKeyCode */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync KeySym * /* map */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncDeleteWindowFromAnyExtEvents(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync WindowPtr /* pWin */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool /* freeResources */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncMaybeSendDeviceMotionNotifyHint (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync deviceKeyButtonPointer * /* pEvents */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Mask /* mask */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncCheckDeviceGrabAndHintWindow (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync WindowPtr /* pWin */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* type */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync deviceKeyButtonPointer * /* xE */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GrabPtr /* grab */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Mask /* deliveryMask */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncMaybeStopDeviceHint(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncDeviceEventSuppressForWindow(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync WindowPtr /* pWin */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ClientPtr /* client */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Mask /* mask */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* maskndx */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSendEventToAllWindows(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceIntPtr /* dev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Mask /* mask */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xEvent * /* ev */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int /* count */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_HIDDEN void XI2EventSwap(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xGenericEvent * /* from */,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xGenericEvent * /* to */);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* For an event such as MappingNotify which affects client interpretation
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * of input events sent by device dev, should we notify the client, or
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * would it merely be irrelevant and confusing? */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncXIShouldNotify(ClientPtr client, DeviceIntPtr dev);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncXISendDeviceChangedEvent(DeviceIntPtr device, DeviceIntPtr master,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DeviceChangedEvent *dce);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncXISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int len, unsigned char* mask);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern int
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncXICheckInvalidMaskBits(unsigned char *mask, int len);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif /* EXEVENTS_H */