Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

XSelectInput(3X11)

Name

XSelectInput, XSelectAsyncInput − select input events

Syntax

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

XSelectAsyncInput(display, w, event_mask, procedure, argument)
      Display *display;
      Window w;
      unsigned long event_mask;
      int (*procedure)()
      unsigned long argument;
 

Arguments

argumentSpecifies the argument that is to be passed to the specified procedure. 

displaySpecifies the connection to the X server. 

event_maskSpecifies the event mask. 

procedureSpecifies the procedure that is to be called. 

wSpecifies 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.

The XSelectAsyncInput function establishes asynchrous notification mode and calls the specified procedure,  passing it the specified argument when you receive the event selected with the event_mask. Anyone who asynchrous notification cannot also use the SIGIO signal.

Diagnostics

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

See Also

Guide to the Xlib Library

Subroutines

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026