XSelectInput(3) | Library Functions Manual | XSelectInput(3)

# NAME

XSelectInput - select input events

# SYNTAX

int XSelectInput(Display *display, Window w, long event_mask);

# ARGUMENTS

display
  Specifies the connection to the X server.
event_mask
  Specifies the event mask.
w
  Specifies the window whose events you are interested in.

# DESCRIPTION

The XSelectInput function requests that the X server report the events associated with the specified event mask. Initially, X will not report any of these events. Events are reported relative to a window. If a window is not interested in a device event, it usually propagates to the closest ancestor that is interested, unless the do_not_propagate mask prohibits it.

Setting the event-mask attribute of a window overrides any previous call for the same window but not for other clients. Multiple clients can select for the same events on the same window with the following restrictions:

- Multiple clients can select events on the same window because their event masks are disjoint. When the X server generates an event, it reports it to all interested clients.
- Only one client at a time can select CirculateRequest, ConfigureRequest, or MapRequest events, which are associated with the event mask SubstructureRedirectMask.
- Only one client at a time can select a ResizeRequest event, which is associated with the event mask ResizeRedirectMask.
- Only one client at a time can select a ButtonPress event, which is associated with the event mask ButtonPressMask.

The server reports the event to all interested clients.

XSelectInput can generate a BadWindow error.

# DIAGNOSTICS

BadWindow
  A value for a Window argument does not name a defined Window.

# SEE ALSO

Xlib - C Language X Interface

X Version 11 | XLIB FUNCTIONS