8.3 Selecting Events
For each window, a client must select which event types it wants
placed in its queue when they occur in that window. This is normally
done with XSelectInput()
, which sets the
event_mask
attribute of a window. The client need not
select events on all of its windows, only those in which it wants to see
the events that occur.
To select event types for a window, pass an
event_mask
as an argument to
XSelectInput()
or set the
event_mask
member of the
XSetWindowAttributes
structure and call
XChangeWindowAttributes()
or
XCreateWindow()
. (For more information on the
XSetWindowAttributes
structure, see 4.1 Setting Window Attributes.)
The event_mask
is formed by combining the event
mask symbols listed in the first column of Table 8-2 with the bitwise OR operator
(|). Each mask symbol sets a bit in the
event_mask
.
Table 8-2 also describes briefly the circumstances under which you would want to specify each symbol. You will need to read about each mask in 8.3.3 Event Masks; see the examples using the events in Chapter 9, and throughout this manual; and look at the event structures in Appendix E, you will really understand when to use each of these symbols.
Table 8-2. Event Mask Definitions
Event Mask Symbol | Circumstances |
---|---|
| No events |
| Keyboard down events |
| Keyboard up events |
| Pointer button down events |
| Pointer button up events |
| Pointer window entry events |
| Pointer window leave events |
|
Get XLIB Programming Manual, Rel. 5, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.