VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.11.0/exevents.h@ 62489

Last change on this file since 62489 was 38824, checked in by vboxsync, 13 years ago

Additions/x11: header files for building X.Org Server 1.11 modules

  • Property svn:eol-style set to native
File size: 9.4 KB
Line 
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#include "inputstr.h"
35
36/***************************************************************
37 * Interface available to drivers *
38 ***************************************************************/
39
40extern _X_EXPORT int InitProximityClassDeviceStruct(
41 DeviceIntPtr /* dev */);
42
43extern _X_EXPORT void InitValuatorAxisStruct(
44 DeviceIntPtr /* dev */,
45 int /* axnum */,
46 Atom /* label */,
47 int /* minval */,
48 int /* maxval */,
49 int /* resolution */,
50 int /* min_res */,
51 int /* max_res */,
52 int /* mode */);
53
54/* Input device properties */
55extern _X_EXPORT void XIDeleteAllDeviceProperties(
56 DeviceIntPtr /* device */
57);
58
59extern _X_EXPORT int XIDeleteDeviceProperty(
60 DeviceIntPtr /* device */,
61 Atom /* property */,
62 Bool /* fromClient */
63);
64
65extern _X_EXPORT int XIChangeDeviceProperty(
66 DeviceIntPtr /* dev */,
67 Atom /* property */,
68 Atom /* type */,
69 int /* format*/,
70 int /* mode*/,
71 unsigned long /* len*/,
72 const pointer /* value*/,
73 Bool /* sendevent*/
74 );
75
76extern _X_EXPORT int XIGetDeviceProperty(
77 DeviceIntPtr /* dev */,
78 Atom /* property */,
79 XIPropertyValuePtr* /* value */
80);
81
82extern _X_EXPORT int XISetDevicePropertyDeletable(
83 DeviceIntPtr /* dev */,
84 Atom /* property */,
85 Bool /* deletable */
86);
87
88extern _X_EXPORT long XIRegisterPropertyHandler(
89 DeviceIntPtr dev,
90 int (*SetProperty) (DeviceIntPtr dev,
91 Atom property,
92 XIPropertyValuePtr prop,
93 BOOL checkonly),
94 int (*GetProperty) (DeviceIntPtr dev,
95 Atom property),
96 int (*DeleteProperty) (DeviceIntPtr dev,
97 Atom property)
98);
99
100extern _X_EXPORT void XIUnregisterPropertyHandler(
101 DeviceIntPtr dev,
102 long id
103);
104
105extern _X_EXPORT Atom XIGetKnownProperty(
106 char* name
107);
108
109extern _X_EXPORT DeviceIntPtr XIGetDevice(xEvent *ev);
110
111extern _X_EXPORT int XIPropToInt(
112 XIPropertyValuePtr val,
113 int *nelem_return,
114 int **buf_return
115);
116
117extern _X_EXPORT int XIPropToFloat(
118 XIPropertyValuePtr val,
119 int *nelem_return,
120 float **buf_return
121);
122
123/****************************************************************************
124 * End of driver interface *
125 ****************************************************************************/
126
127
128/**
129 * Attached to the devPrivates of each client. Specifies the version number as
130 * supported by the client.
131 */
132typedef struct _XIClientRec {
133 int major_version;
134 int minor_version;
135} XIClientRec, *XIClientPtr;
136
137
138typedef struct _GrabParameters {
139 int grabtype; /* GRABTYPE_CORE, etc. */
140 unsigned int ownerEvents;
141 unsigned int this_device_mode;
142 unsigned int other_devices_mode;
143 Window grabWindow;
144 Window confineTo;
145 Cursor cursor;
146 unsigned int modifiers;
147} GrabParameters;
148
149
150extern int
151UpdateDeviceState (
152 DeviceIntPtr /* device */,
153 DeviceEvent* /* xE */);
154
155extern void
156ProcessOtherEvent (
157 InternalEvent* /* ev */,
158 DeviceIntPtr /* other */);
159
160extern void
161DeviceFocusEvent(
162 DeviceIntPtr /* dev */,
163 int /* type */,
164 int /* mode */,
165 int /* detail */,
166 WindowPtr /* pWin */);
167
168extern int
169CheckGrabValues(
170 ClientPtr /* client */,
171 GrabParameters* /* param */);
172
173extern int
174GrabButton(
175 ClientPtr /* client */,
176 DeviceIntPtr /* dev */,
177 DeviceIntPtr /* modifier_device */,
178 int /* button */,
179 GrabParameters* /* param */,
180 GrabType /* grabtype */,
181 GrabMask* /* eventMask */);
182
183extern int
184GrabKey(
185 ClientPtr /* client */,
186 DeviceIntPtr /* dev */,
187 DeviceIntPtr /* modifier_device */,
188 int /* key */,
189 GrabParameters* /* param */,
190 GrabType /* grabtype */,
191 GrabMask* /* eventMask */);
192
193extern int
194GrabWindow(
195 ClientPtr /* client */,
196 DeviceIntPtr /* dev */,
197 int /* type */,
198 GrabParameters* /* param */,
199 GrabMask* /* eventMask */);
200
201extern int
202SelectForWindow(
203 DeviceIntPtr /* dev */,
204 WindowPtr /* pWin */,
205 ClientPtr /* client */,
206 Mask /* mask */,
207 Mask /* exclusivemasks */);
208
209extern int
210AddExtensionClient (
211 WindowPtr /* pWin */,
212 ClientPtr /* client */,
213 Mask /* mask */,
214 int /* mskidx */);
215
216extern void
217RecalculateDeviceDeliverableEvents(
218 WindowPtr /* pWin */);
219
220extern int
221InputClientGone(
222 WindowPtr /* pWin */,
223 XID /* id */);
224
225extern int
226SendEvent (
227 ClientPtr /* client */,
228 DeviceIntPtr /* d */,
229 Window /* dest */,
230 Bool /* propagate */,
231 xEvent * /* ev */,
232 Mask /* mask */,
233 int /* count */);
234
235extern int
236SetButtonMapping (
237 ClientPtr /* client */,
238 DeviceIntPtr /* dev */,
239 int /* nElts */,
240 BYTE * /* map */);
241
242extern int
243ChangeKeyMapping(
244 ClientPtr /* client */,
245 DeviceIntPtr /* dev */,
246 unsigned /* len */,
247 int /* type */,
248 KeyCode /* firstKeyCode */,
249 CARD8 /* keyCodes */,
250 CARD8 /* keySymsPerKeyCode */,
251 KeySym * /* map */);
252
253extern void
254DeleteWindowFromAnyExtEvents(
255 WindowPtr /* pWin */,
256 Bool /* freeResources */);
257
258extern int
259MaybeSendDeviceMotionNotifyHint (
260 deviceKeyButtonPointer * /* pEvents */,
261 Mask /* mask */);
262
263extern void
264CheckDeviceGrabAndHintWindow (
265 WindowPtr /* pWin */,
266 int /* type */,
267 deviceKeyButtonPointer * /* xE */,
268 GrabPtr /* grab */,
269 ClientPtr /* client */,
270 Mask /* deliveryMask */);
271
272extern void
273MaybeStopDeviceHint(
274 DeviceIntPtr /* dev */,
275 ClientPtr /* client */);
276
277extern int
278DeviceEventSuppressForWindow(
279 WindowPtr /* pWin */,
280 ClientPtr /* client */,
281 Mask /* mask */,
282 int /* maskndx */);
283
284extern void
285SendEventToAllWindows(
286 DeviceIntPtr /* dev */,
287 Mask /* mask */,
288 xEvent * /* ev */,
289 int /* count */);
290
291extern _X_HIDDEN void XI2EventSwap(
292 xGenericEvent * /* from */,
293 xGenericEvent * /* to */);
294
295/* For an event such as MappingNotify which affects client interpretation
296 * of input events sent by device dev, should we notify the client, or
297 * would it merely be irrelevant and confusing? */
298extern int
299XIShouldNotify(ClientPtr client, DeviceIntPtr dev);
300
301extern void
302XISendDeviceChangedEvent(DeviceIntPtr device, DeviceIntPtr master,
303 DeviceChangedEvent *dce);
304
305extern int
306XISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
307 unsigned int len, unsigned char* mask);
308
309extern int
310XICheckInvalidMaskBits(ClientPtr client, unsigned char *mask, int len);
311
312#endif /* EXEVENTS_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette