exevents.h revision 05b261ec
105b261ecSmrg/************************************************************
205b261ecSmrg
305b261ecSmrgCopyright 1996 by Thomas E. Dickey <dickey@clark.net>
405b261ecSmrg
505b261ecSmrg                        All Rights Reserved
605b261ecSmrg
705b261ecSmrgPermission to use, copy, modify, and distribute this software and its
805b261ecSmrgdocumentation for any purpose and without fee is hereby granted,
905b261ecSmrgprovided that the above copyright notice appear in all copies and that
1005b261ecSmrgboth that copyright notice and this permission notice appear in
1105b261ecSmrgsupporting documentation, and that the name of the above listed
1205b261ecSmrgcopyright holder(s) not be used in advertising or publicity pertaining
1305b261ecSmrgto distribution of the software without specific, written prior
1405b261ecSmrgpermission.
1505b261ecSmrg
1605b261ecSmrgTHE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
1705b261ecSmrgTO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1805b261ecSmrgAND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
1905b261ecSmrgLIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
2005b261ecSmrgWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
2105b261ecSmrgACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
2205b261ecSmrgOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2305b261ecSmrg
2405b261ecSmrg********************************************************/
2505b261ecSmrg
2605b261ecSmrg/********************************************************************
2705b261ecSmrg * Interface of 'exevents.c'
2805b261ecSmrg */
2905b261ecSmrg
3005b261ecSmrg#ifndef EXEVENTS_H
3105b261ecSmrg#define EXEVENTS_H
3205b261ecSmrg
3305b261ecSmrg#include <X11/extensions/XIproto.h>
3405b261ecSmrg
3505b261ecSmrgextern void RegisterOtherDevice (
3605b261ecSmrg	DeviceIntPtr           /* device */);
3705b261ecSmrg
3805b261ecSmrgextern void ProcessOtherEvent (
3905b261ecSmrg	xEventPtr /* FIXME deviceKeyButtonPointer * xE */,
4005b261ecSmrg	DeviceIntPtr           /* other */,
4105b261ecSmrg	int                    /* count */);
4205b261ecSmrg
4305b261ecSmrgextern int InitProximityClassDeviceStruct(
4405b261ecSmrg	DeviceIntPtr           /* dev */);
4505b261ecSmrg
4605b261ecSmrgextern void InitValuatorAxisStruct(
4705b261ecSmrg	DeviceIntPtr           /* dev */,
4805b261ecSmrg	int                    /* axnum */,
4905b261ecSmrg	int                    /* minval */,
5005b261ecSmrg	int                    /* maxval */,
5105b261ecSmrg	int                    /* resolution */,
5205b261ecSmrg	int                    /* min_res */,
5305b261ecSmrg	int                    /* max_res */);
5405b261ecSmrg
5505b261ecSmrgextern void DeviceFocusEvent(
5605b261ecSmrg	DeviceIntPtr           /* dev */,
5705b261ecSmrg	int                    /* type */,
5805b261ecSmrg	int                    /* mode */,
5905b261ecSmrg	int                    /* detail */,
6005b261ecSmrg	WindowPtr              /* pWin */);
6105b261ecSmrg
6205b261ecSmrgextern int GrabButton(
6305b261ecSmrg	ClientPtr              /* client */,
6405b261ecSmrg	DeviceIntPtr           /* dev */,
6505b261ecSmrg	BYTE                   /* this_device_mode */,
6605b261ecSmrg	BYTE                   /* other_devices_mode */,
6705b261ecSmrg	CARD16                 /* modifiers */,
6805b261ecSmrg	DeviceIntPtr           /* modifier_device */,
6905b261ecSmrg	CARD8                  /* button */,
7005b261ecSmrg	Window                 /* grabWindow */,
7105b261ecSmrg	BOOL                   /* ownerEvents */,
7205b261ecSmrg	Cursor                 /* rcursor */,
7305b261ecSmrg	Window                 /* rconfineTo */,
7405b261ecSmrg	Mask                   /* eventMask */);
7505b261ecSmrg
7605b261ecSmrgextern int GrabKey(
7705b261ecSmrg	ClientPtr              /* client */,
7805b261ecSmrg	DeviceIntPtr           /* dev */,
7905b261ecSmrg	BYTE                   /* this_device_mode */,
8005b261ecSmrg	BYTE                   /* other_devices_mode */,
8105b261ecSmrg	CARD16                 /* modifiers */,
8205b261ecSmrg	DeviceIntPtr           /* modifier_device */,
8305b261ecSmrg	CARD8                  /* key */,
8405b261ecSmrg	Window                 /* grabWindow */,
8505b261ecSmrg	BOOL                   /* ownerEvents */,
8605b261ecSmrg	Mask                   /* mask */);
8705b261ecSmrg
8805b261ecSmrgextern int SelectForWindow(
8905b261ecSmrg	DeviceIntPtr           /* dev */,
9005b261ecSmrg	WindowPtr              /* pWin */,
9105b261ecSmrg	ClientPtr              /* client */,
9205b261ecSmrg	Mask                   /* mask */,
9305b261ecSmrg	Mask                   /* exclusivemasks */,
9405b261ecSmrg	Mask                   /* validmasks */);
9505b261ecSmrg
9605b261ecSmrgextern int AddExtensionClient (
9705b261ecSmrg	WindowPtr              /* pWin */,
9805b261ecSmrg	ClientPtr              /* client */,
9905b261ecSmrg	Mask                   /* mask */,
10005b261ecSmrg	int                    /* mskidx */);
10105b261ecSmrg
10205b261ecSmrgextern void RecalculateDeviceDeliverableEvents(
10305b261ecSmrg	WindowPtr              /* pWin */);
10405b261ecSmrg
10505b261ecSmrgextern int InputClientGone(
10605b261ecSmrg	WindowPtr              /* pWin */,
10705b261ecSmrg	XID                    /* id */);
10805b261ecSmrg
10905b261ecSmrgextern int SendEvent (
11005b261ecSmrg	ClientPtr              /* client */,
11105b261ecSmrg	DeviceIntPtr           /* d */,
11205b261ecSmrg	Window                 /* dest */,
11305b261ecSmrg	Bool                   /* propagate */,
11405b261ecSmrg	xEvent *               /* ev */,
11505b261ecSmrg	Mask                   /* mask */,
11605b261ecSmrg	int                    /* count */);
11705b261ecSmrg
11805b261ecSmrgextern int SetButtonMapping (
11905b261ecSmrg	ClientPtr              /* client */,
12005b261ecSmrg	DeviceIntPtr           /* dev */,
12105b261ecSmrg	int                    /* nElts */,
12205b261ecSmrg	BYTE *                 /* map */);
12305b261ecSmrg
12405b261ecSmrgextern int SetModifierMapping(
12505b261ecSmrg	ClientPtr              /* client */,
12605b261ecSmrg	DeviceIntPtr           /* dev */,
12705b261ecSmrg	int                    /* len */,
12805b261ecSmrg	int                    /* rlen */,
12905b261ecSmrg	int                    /* numKeyPerModifier */,
13005b261ecSmrg	KeyCode *              /* inputMap */,
13105b261ecSmrg	KeyClassPtr *          /* k */);
13205b261ecSmrg
13305b261ecSmrgextern void SendDeviceMappingNotify(
13405b261ecSmrg        ClientPtr              /* client, */,
13505b261ecSmrg	CARD8                  /* request, */,
13605b261ecSmrg	KeyCode                /* firstKeyCode */,
13705b261ecSmrg	CARD8                  /* count */,
13805b261ecSmrg	DeviceIntPtr           /* dev */);
13905b261ecSmrg
14005b261ecSmrgextern int ChangeKeyMapping(
14105b261ecSmrg	ClientPtr              /* client */,
14205b261ecSmrg	DeviceIntPtr           /* dev */,
14305b261ecSmrg	unsigned               /* len */,
14405b261ecSmrg	int                    /* type */,
14505b261ecSmrg	KeyCode                /* firstKeyCode */,
14605b261ecSmrg	CARD8                  /* keyCodes */,
14705b261ecSmrg	CARD8                  /* keySymsPerKeyCode */,
14805b261ecSmrg	KeySym *               /* map */);
14905b261ecSmrg
15005b261ecSmrgextern void DeleteWindowFromAnyExtEvents(
15105b261ecSmrg	WindowPtr              /* pWin */,
15205b261ecSmrg	Bool                   /* freeResources */);
15305b261ecSmrg
15405b261ecSmrgextern int MaybeSendDeviceMotionNotifyHint (
15505b261ecSmrg	deviceKeyButtonPointer * /* pEvents */,
15605b261ecSmrg	Mask                   /* mask */);
15705b261ecSmrg
15805b261ecSmrgextern void CheckDeviceGrabAndHintWindow (
15905b261ecSmrg	WindowPtr              /* pWin */,
16005b261ecSmrg	int                    /* type */,
16105b261ecSmrg	deviceKeyButtonPointer * /* xE */,
16205b261ecSmrg	GrabPtr                /* grab */,
16305b261ecSmrg	ClientPtr              /* client */,
16405b261ecSmrg	Mask                   /* deliveryMask */);
16505b261ecSmrg
16605b261ecSmrgextern void MaybeStopDeviceHint(
16705b261ecSmrg	DeviceIntPtr           /* dev */,
16805b261ecSmrg	ClientPtr              /* client */);
16905b261ecSmrg
17005b261ecSmrgextern int DeviceEventSuppressForWindow(
17105b261ecSmrg	WindowPtr              /* pWin */,
17205b261ecSmrg	ClientPtr              /* client */,
17305b261ecSmrg	Mask                   /* mask */,
17405b261ecSmrg	int                    /* maskndx */);
17505b261ecSmrg
17605b261ecSmrgvoid SendEventToAllWindows(
17705b261ecSmrg        DeviceIntPtr           /* dev */,
17805b261ecSmrg        Mask                   /* mask */,
17905b261ecSmrg        xEvent *               /* ev */,
18005b261ecSmrg        int                    /* count */);
18105b261ecSmrg
18205b261ecSmrg#endif /* EXEVENTS_H */
183