1XSelectExtensionEvent(3) X FUNCTIONS XSelectExtensionEvent(3)
2
3
4
6 XSelectExtensionEvent, XGetSelectedExtensionEvents - select extension
7 events, get the list of currently selected extension events
8
10 XSelectExtensionEvent(display, w, event_list, event_count)
11 Display *display;
12 Window w;
13 XEventClass *event_list;
14 int event_count;
15
16 XGetSelectedExtensionEvents(display, w, this_client_event_count_return,
17 this_client_event_list_return, all_clients_event_count_return,
18 all_clients_event_list_return)
19 Display *display;
20 Window w;
21 int this_client_event_count_return;
22 XEventClass *this_client_event_list_return;
23 int all_clients_event_count_return;
24 XEventClass *all_clients_event_list_return;
25
27 display Specifies the connection to the X server.
28
29 w Specifies the window whose events you are interested in.
30
31 event_list Specifies the list of event classes that describe the
32 events you are interested in.
33
34 event_count Specifies the count of event classes in the event list.
35
36 this_client_event_count_return
37 Returns the count of event classes selected by this client.
38
39 this_client_event_list_return
40 Returns a pointer to the list of event classes selected by
41 this client.
42
43 all_clients_event_count_return
44 Returns the count of event classes selected by all clients.
45
46 all_clients_event_list_return
47 Returns a pointer to the list of event classes selected by
48 all clients.
49
51 The XSelectExtensionEvent request causes the X server to report the
52 events associated with the specified list of event classes. Initially,
53 X will not report any of these events. Events are reported relative to
54 a window. If a window is not interested in a device event, it usually
55 propagates to the closest ancestor that is interested, unless the
56 do_not_propagate mask prohibits it.
57
58 Multiple clients can select for the same events on the same window with
59 the following restrictions:
60
61 · Multiple clients can select events on the same window because
62 their event masks are disjoint. When the X server generates an
63 event, it reports it to all interested clients.
64
65 · Only one client at a time can select a DeviceButtonPress event
66 with automatic passive grabbing enabled, which is associated with
67 the event class DeviceButtonPressGrab. To receive DeviceButton‐
68 Press events without automatic passive grabbing, use event class
69 DeviceButtonPress but do not specify event class DeviceButton‐
70 PressGrab.
71
72 The server reports the event to all interested clients.
73
74 Information contained in the XDevice structure returned by XOpenDevice
75 is used by macros to obtain the event classes that clients use in mak‐
76 ing XSelectExtensionEvent requests. Currently defined macros include
77 DeviceKeyPress, DeviceKeyRelease, DeviceButtonPress, DeviceButtonRe‐
78 lese, DeviceMotionNotify, DeviceFocusIn, DeviceFocusOut, ProximityIn,
79 ProximityOut, DeviceStateNotify, DeviceMappiingNotify, ChangeDeviceNo‐
80 tify, DevicePointerMotionHint, DeviceButton1Motion, DeviceBut‐
81 ton2Motion, DeviceButton3Motion, DeviceButton4Motion, DeviceBut‐
82 ton5Motion, DeviceButtonMotion, DeviceOwnerGrabButton, DeviceButton‐
83 PressGrab, and NoExtensionEvent.
84
85 To obtain the proper event class for a particular device, one of the
86 above macros is invoked using the XDevice structure for that device.
87 For example,
88
89 DeviceKeyPress (*device, type, eventclass);
90
91 returns the DeviceKeyPress event type and the eventclass for selecting
92 DeviceKeyPress events from this device.
93
94 XSelectExtensionEvent can generate a BadWindow or BadClass error. The
95 XGetSelectedExtensionEvents request reports the extension events
96 selected by this client and all clients for the specified window. This
97 request returns pointers to two XEventClass arrays. One lists the
98 input extension events selected by this client from the specified win‐
99 dow. The other lists the event classes selected by all clients from
100 the specified window. You should use XFree to free these two arrays.
101
102 XGetSelectedExtensionEvents can generate a BadWindow error.
103
105 BadWindow A value for a Window argument does not name a defined Win‐
106 dow.
107
108 BadClass A value for an XEventClass argument is invalid.
109
111 Programming with Xlib
112
113
114
115X Version 11 libXi 1.1.1 XSelectExtensionEvent(3)