XSelectInput(3) XLIB FUNCTIONS XSelectInput(3)

# [NAME](#NAME)

XSelectInput - select input events

# [SYNTAX](#SYNTAX)

int XSelectInput(Display \**display*, Window *w*, long *event\_mask*);

# [ARGUMENTS](#ARGUMENTS)

[*display*](#display)

Specifies the connection to the X server.

[*event\_mask*](#event_mask)

Specifies the event mask.

[*w*](#w)

Specifies the window whose events you are interested in.

# [DESCRIPTION](#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](#DIAGNOSTICS)

[**BadWindow**](#BadWindow)

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

# [SEE ALSO](#SEE_ALSO)

*Xlib - C Language X Interface*

libX11 1.8.14 X Version 11

---

Document: XSelectInput(3) from libx11 1.8.14-r1 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
