1XSelectExtensionEvent(3)          X FUNCTIONS         XSelectExtensionEvent(3)
2
3
4

NAME

6       XSelectExtensionEvent,  XGetSelectedExtensionEvents  - select extension
7       events, get the list of currently selected extension events
8

SYNTAX

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

ARGUMENTS

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

DESCRIPTION

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

DIAGNOSTICS

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

SEE ALSO

111       Programming with Xlib
112
113
114
115X Version 11                      libXi 1.1.1         XSelectExtensionEvent(3)
Impressum