exevents.h revision 05b261ec
1/************************************************************
2
3Copyright 1996 by Thomas E. Dickey <dickey@clark.net>
4
5                        All Rights Reserved
6
7Permission to use, copy, modify, and distribute this software and its
8documentation for any purpose and without fee is hereby granted,
9provided that the above copyright notice appear in all copies and that
10both that copyright notice and this permission notice appear in
11supporting documentation, and that the name of the above listed
12copyright holder(s) not be used in advertising or publicity pertaining
13to distribution of the software without specific, written prior
14permission.
15
16THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
17TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
19LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
20WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
21ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
22OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23
24********************************************************/
25
26/********************************************************************
27 * Interface of 'exevents.c'
28 */
29
30#ifndef EXEVENTS_H
31#define EXEVENTS_H
32
33#include <X11/extensions/XIproto.h>
34
35extern void RegisterOtherDevice (
36	DeviceIntPtr           /* device */);
37
38extern void ProcessOtherEvent (
39	xEventPtr /* FIXME deviceKeyButtonPointer * xE */,
40	DeviceIntPtr           /* other */,
41	int                    /* count */);
42
43extern int InitProximityClassDeviceStruct(
44	DeviceIntPtr           /* dev */);
45
46extern void InitValuatorAxisStruct(
47	DeviceIntPtr           /* dev */,
48	int                    /* axnum */,
49	int                    /* minval */,
50	int                    /* maxval */,
51	int                    /* resolution */,
52	int                    /* min_res */,
53	int                    /* max_res */);
54
55extern void DeviceFocusEvent(
56	DeviceIntPtr           /* dev */,
57	int                    /* type */,
58	int                    /* mode */,
59	int                    /* detail */,
60	WindowPtr              /* pWin */);
61
62extern int GrabButton(
63	ClientPtr              /* client */,
64	DeviceIntPtr           /* dev */,
65	BYTE                   /* this_device_mode */,
66	BYTE                   /* other_devices_mode */,
67	CARD16                 /* modifiers */,
68	DeviceIntPtr           /* modifier_device */,
69	CARD8                  /* button */,
70	Window                 /* grabWindow */,
71	BOOL                   /* ownerEvents */,
72	Cursor                 /* rcursor */,
73	Window                 /* rconfineTo */,
74	Mask                   /* eventMask */);
75
76extern int GrabKey(
77	ClientPtr              /* client */,
78	DeviceIntPtr           /* dev */,
79	BYTE                   /* this_device_mode */,
80	BYTE                   /* other_devices_mode */,
81	CARD16                 /* modifiers */,
82	DeviceIntPtr           /* modifier_device */,
83	CARD8                  /* key */,
84	Window                 /* grabWindow */,
85	BOOL                   /* ownerEvents */,
86	Mask                   /* mask */);
87
88extern int SelectForWindow(
89	DeviceIntPtr           /* dev */,
90	WindowPtr              /* pWin */,
91	ClientPtr              /* client */,
92	Mask                   /* mask */,
93	Mask                   /* exclusivemasks */,
94	Mask                   /* validmasks */);
95
96extern int AddExtensionClient (
97	WindowPtr              /* pWin */,
98	ClientPtr              /* client */,
99	Mask                   /* mask */,
100	int                    /* mskidx */);
101
102extern void RecalculateDeviceDeliverableEvents(
103	WindowPtr              /* pWin */);
104
105extern int InputClientGone(
106	WindowPtr              /* pWin */,
107	XID                    /* id */);
108
109extern int SendEvent (
110	ClientPtr              /* client */,
111	DeviceIntPtr           /* d */,
112	Window                 /* dest */,
113	Bool                   /* propagate */,
114	xEvent *               /* ev */,
115	Mask                   /* mask */,
116	int                    /* count */);
117
118extern int SetButtonMapping (
119	ClientPtr              /* client */,
120	DeviceIntPtr           /* dev */,
121	int                    /* nElts */,
122	BYTE *                 /* map */);
123
124extern int SetModifierMapping(
125	ClientPtr              /* client */,
126	DeviceIntPtr           /* dev */,
127	int                    /* len */,
128	int                    /* rlen */,
129	int                    /* numKeyPerModifier */,
130	KeyCode *              /* inputMap */,
131	KeyClassPtr *          /* k */);
132
133extern void SendDeviceMappingNotify(
134        ClientPtr              /* client, */,
135	CARD8                  /* request, */,
136	KeyCode                /* firstKeyCode */,
137	CARD8                  /* count */,
138	DeviceIntPtr           /* dev */);
139
140extern int ChangeKeyMapping(
141	ClientPtr              /* client */,
142	DeviceIntPtr           /* dev */,
143	unsigned               /* len */,
144	int                    /* type */,
145	KeyCode                /* firstKeyCode */,
146	CARD8                  /* keyCodes */,
147	CARD8                  /* keySymsPerKeyCode */,
148	KeySym *               /* map */);
149
150extern void DeleteWindowFromAnyExtEvents(
151	WindowPtr              /* pWin */,
152	Bool                   /* freeResources */);
153
154extern int MaybeSendDeviceMotionNotifyHint (
155	deviceKeyButtonPointer * /* pEvents */,
156	Mask                   /* mask */);
157
158extern void CheckDeviceGrabAndHintWindow (
159	WindowPtr              /* pWin */,
160	int                    /* type */,
161	deviceKeyButtonPointer * /* xE */,
162	GrabPtr                /* grab */,
163	ClientPtr              /* client */,
164	Mask                   /* deliveryMask */);
165
166extern void MaybeStopDeviceHint(
167	DeviceIntPtr           /* dev */,
168	ClientPtr              /* client */);
169
170extern int DeviceEventSuppressForWindow(
171	WindowPtr              /* pWin */,
172	ClientPtr              /* client */,
173	Mask                   /* mask */,
174	int                    /* maskndx */);
175
176void SendEventToAllWindows(
177        DeviceIntPtr           /* dev */,
178        Mask                   /* mask */,
179        xEvent *               /* ev */,
180        int                    /* count */);
181
182#endif /* EXEVENTS_H */
183