XSelectExtensionEvent, XGetSelectedExtensionEvents − select extension events, get the list of currently selected extension events


#include <X11/extensions/XInput.h>

XSelectExtensionEvent( Display *display,
Window w,
XEventClass *event_list,
int event_count);

XGetSelectedExtensionEvents( Display *display,
Window w,
int *this_client_event_count_return,
XEventClass **this_client_event_list_return,
int *all_clients_event_count_return,
XEventClass **all_clients_event_list_return);

Specifies the connection to the X server.

Specifies the window whose events you are interested in.

Specifies the list of event classes that describe the
events you are interested in.

Specifies the count of event classes in the event list.

Returns the count of event classes selected by this

Returns a pointer to the list of event classes selected
by this client.

Returns the count of event classes selected by all

Returns a pointer to the list of event classes selected
by all clients.


The XSelectExtensionEvent request causes the X server to report
the events associated with the specified list of event classes.
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

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
* Only one client at a time can select a DeviceButtonPress
event with automatic passive grabbing enabled, which is
associated with the event class DeviceButtonPressGrab. To
receive DeviceButtonPress events without automatic passive
grabbing, use event class DeviceButtonPress but do not
specify event class DeviceButtonPressGrab.

The server reports the event to all interested clients.

Information contained in the XDevice structure returned by
XOpenDevice is used by macros to obtain the event classes that
clients use in making XSelectExtensionEvent requests. Currently
defined macros include DeviceKeyPress, DeviceKeyRelease,
DeviceButtonPress, DeviceButtonRelese, DeviceMotionNotify,
DeviceFocusIn, DeviceFocusOut, ProximityIn, ProximityOut,
DeviceStateNotify, DeviceMappiingNotify, ChangeDeviceNotify,
DevicePointerMotionHint, DeviceButton1Motion,
DeviceButton2Motion, DeviceButton3Motion, DeviceButton4Motion,
DeviceButton5Motion, DeviceButtonMotion, DeviceOwnerGrabButton,
DeviceButtonPressGrab, and NoExtensionEvent.

To obtain the proper event class for a particular device, one
of the above macros is invoked using the XDevice structure for
that device. For example,
DeviceKeyPress (*device, type, eventclass);

returns the DeviceKeyPress event type and the eventclass for
selecting DeviceKeyPress events from this device.

XSelectExtensionEvent can generate a BadWindow or BadClass
error. The XGetSelectedExtensionEvents request reports the
extension events selected by this client and all clients for
the specified window. This request returns pointers to two
XEventClass arrays. One lists the input extension events
selected by this client from the specified window. The other
lists the event classes selected by all clients from the
specified window. You should use XFree to free these two

XGetSelectedExtensionEvents can generate a BadWindow error.


A value for a Window argument does not name a defined

A value for an XEventClass is invalid.

More Linux Commands

cscope(1) interactively examine a C program - Linux man page
cscope is an interactive, screen-oriented tool that allows the user to browse through C source files for specified elements of code. By default, cscope examines

nepomukservicestub(8) - KDE wrapper around Nepomuk service p
nepomukservicestub runs a Nepomuk service plugin in its own process. It is used by nepomukserver to run all configured Nepomuk services. GENERIC OPTIONS --autho

git-hash-object(1) - Compute object ID and optionally create
Computes the object ID value for an object with specified type with the contents of the named file (which can be outside of the work tree), and optionally write

Mail::SPF::Mech::MX(3pm) - SPF record "mx" mechanism class
An object of class Mail::SPF::Mech::MX represents an SPF record mechanism of type mx. Constructors The following constructors are provided: new(%options): retur

deltainfoxml2solv(1) convert rpmmd's deltainfo format into a
The deltainfoxml2solv tool reads rpm-mds deltainfo.xml data from stdin, and writes it as solv file to standard output. Some distributions name the input prestod

SDL_SetModState(3) - Set the current key modifier state.....
The inverse of SDL_GetModState, SDL_SetModState allows you to impose modifier key states on your application. Simply pass your desired modifier states into mods

libcurl-errors(3) - error codes in libcurl - Linux man page
This man page includes most, if not all, available error codes in libcurl. Why they occur and possibly what you can do to fix the problem are also included. CUR

fixcvsdiff(1) - fix problematic diff files - Linux man page
fixcvsdiff modifies diff files created from the cvs diff command, where files have been added or removed. CVS tends to create diff files that patch(1) mis-inter

orbd-java-1.6.0-openjdk(1) - The Object Request Broker Daemo
orbd-java-1.6.0-openjdk.1 - The Server Manager included with the orbd tool is used to enable clients to transparently locate and invoke persistent objects on se

check_db(8) - Check the integrity of a list's database file
check_db checks the integrity of a lists config.db and config.db.last database files. AUTHOR Author of Mailman is the Mailman Cabal, see http://www.list.org/ fo

XAllocNamedColor(3) - allocate and free colors (Man Page)...
The XAllocColor function allocates a read-only colormap entry corresponding to the closest RGB value supported by the hardware. XAllocColor returns the pixel va

glRasterPos2d(3gl) - specify the raster position for pixel o
The GL maintains a 3D position in window coordinates. This position, called the raster position, is used to position pixel and bitmap write operations. It is ma

We can't live, work or learn in freedom unless the software we use is free.