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