242 lines
6.0 KiB
Groff
242 lines
6.0 KiB
Groff
'\" t
|
|
.\" Title: xselectextensionevent
|
|
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
|
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
|
.\" Date: 06/19/2019
|
|
.\" Manual: \ \&
|
|
.\" Source: \ \&
|
|
.\" Language: English
|
|
.\"
|
|
.TH "XSELECTEXTENSIONEVEN" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
|
|
.\" -----------------------------------------------------------------
|
|
.\" * Define some portability stuff
|
|
.\" -----------------------------------------------------------------
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.\" http://bugs.debian.org/507673
|
|
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\" -----------------------------------------------------------------
|
|
.\" * set default formatting
|
|
.\" -----------------------------------------------------------------
|
|
.\" disable hyphenation
|
|
.nh
|
|
.\" disable justification (adjust text to left margin only)
|
|
.ad l
|
|
.\" -----------------------------------------------------------------
|
|
.\" * MAIN CONTENT STARTS HERE *
|
|
.\" -----------------------------------------------------------------
|
|
.SH "NAME"
|
|
XSelectExtensionEvent, XGetSelectedExtensionEvents \- select extension events, get the list of currently selected extension events
|
|
.SH "SYNOPSIS"
|
|
.sp
|
|
.nf
|
|
#include <X11/extensions/XInput\&.h>
|
|
.fi
|
|
.sp
|
|
.nf
|
|
XSelectExtensionEvent( Display *display,
|
|
Window w,
|
|
XEventClass *event_list,
|
|
int event_count);
|
|
.fi
|
|
.sp
|
|
.nf
|
|
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);
|
|
.fi
|
|
.sp
|
|
.nf
|
|
display
|
|
Specifies the connection to the X server\&.
|
|
.fi
|
|
.sp
|
|
.nf
|
|
w
|
|
Specifies the window whose events you are interested in\&.
|
|
.fi
|
|
.sp
|
|
.nf
|
|
event_list
|
|
Specifies the list of event classes that describe the
|
|
events you are interested in\&.
|
|
.fi
|
|
.sp
|
|
.nf
|
|
event_count
|
|
Specifies the count of event classes in the event list\&.
|
|
.fi
|
|
.sp
|
|
.nf
|
|
this_client_event_count_return
|
|
Returns the count of event classes selected by this
|
|
client\&.
|
|
.fi
|
|
.sp
|
|
.nf
|
|
this_client_event_list_return
|
|
Returns a pointer to the list of event classes selected
|
|
by this client\&.
|
|
.fi
|
|
.sp
|
|
.nf
|
|
all_clients_event_count_return
|
|
Returns the count of event classes selected by all
|
|
clients\&.
|
|
.fi
|
|
.sp
|
|
.nf
|
|
all_clients_event_list_return
|
|
Returns a pointer to the list of event classes selected
|
|
by all clients\&.
|
|
.fi
|
|
.SH "DESCRIPTION"
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
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
|
|
it\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
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 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\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
The server reports the event to all interested clients\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
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, DeviceMappingNotify, ChangeDeviceNotify,
|
|
DevicePointerMotionHint, DeviceButton1Motion,
|
|
DeviceButton2Motion, DeviceButton3Motion, DeviceButton4Motion,
|
|
DeviceButton5Motion, DeviceButtonMotion, DeviceOwnerGrabButton,
|
|
DeviceButtonPressGrab, and NoExtensionEvent\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
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);
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
returns the DeviceKeyPress event type and the eventclass for
|
|
selecting DeviceKeyPress events from this device\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
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
|
|
arrays\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
XGetSelectedExtensionEvents can generate a BadWindow error\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.SH "DIAGNOSTICS"
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
BadWindow
|
|
A value for a Window argument does not name a defined
|
|
window\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
BadClass
|
|
A value for an XEventClass is invalid\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|