diff options
Diffstat (limited to 'man/XSelectExtensionEvent.man')
-rw-r--r-- | man/XSelectExtensionEvent.man | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/man/XSelectExtensionEvent.man b/man/XSelectExtensionEvent.man new file mode 100644 index 0000000..95ec1bc --- /dev/null +++ b/man/XSelectExtensionEvent.man @@ -0,0 +1,148 @@ +.\" +.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer, +.\" +.\" Permission to use, copy, modify, distribute, and sell this documentation +.\" for any purpose and without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" Ardent, and Hewlett-Packard make no representations about the +.\" suitability for any purpose of the information in this document. It is +.\" provided \`\`as is'' without express or implied warranty. +.\" +.\" $Xorg: XSelExtEv.man,v 1.4 2001/03/16 17:51:13 pookie Exp $ +.ds xL Programming with Xlib +.TH XSelectExtensionEvent 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XSelectExtensionEvent, XGetSelectedExtensionEvents \- select extension events, get the list of currently selected extension events +.SH SYNTAX +XSelectExtensionEvent\^(\^\fIdisplay\fP, \fIw\fP\^, \fIevent_list\fP\^, \fIevent_count\fP\^) +.br + Display *\fIdisplay\fP\^; +.br + Window \fIw\fP\^; +.br + XEventClass *\fIevent_list\fP\^; +.br + int \fIevent_count\fP\^; +.sp +XGetSelectedExtensionEvents\^(\^\fIdisplay\fP, \fIw\fP\^, \fIthis_client_event_count_return\fP\^, +.br +\fIthis_client_event_list_return\fP\^, \fIall_clients_event_count_return\fP\^, +\fIall_clients_event_list_return\fP\^) +.br + Display *\fIdisplay\fP\^; +.br + Window \fIw\fP\^; +.br + int \fIthis_client_event_count_return\fP\^; +.br + XEventClass *\fIthis_client_event_list_return\fP\^; +.br + int \fIall_clients_event_count_return\fP\^; +.br + XEventClass *\fIall_clients_event_list_return\fP\^; +.SH ARGUMENTS +.TP 12 +.I display +Specifies the connection to the X server. +.ds Wi whose events you are interested in +.TP 12 +.I w +Specifies the window \*(Wi. +.TP 12 +.I event_list +Specifies the list of event classes that describe the events you are interested in. +.TP 12 +.I event_count +Specifies the count of event classes in the event list. +.TP 12 +.I this_client_event_count_return +Returns the count of event classes selected by this client. +.TP 12 +.I this_client_event_list_return +Returns a pointer to the list of event classes selected by this client. +.TP 12 +.I all_clients_event_count_return +Returns the count of event classes selected by all clients. +.TP 12 +.I all_clients_event_list_return +Returns a pointer to the list of event classes selected by all clients. +.SH DESCRIPTION +The +\fIXSelectExtensionEvent\fP 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. +.LP +Multiple clients can select for the same events on the same window +with the following restrictions: +.IP \(bu 5 +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. +.IP \(bu 5 +Only one client at a time can select a +\fIDeviceButtonPress\fP +event with automatic passive grabbing enabled, which is associated with +the event class \fIDeviceButtonPressGrab\fP. +To receive \fIDeviceButtonPress\fP events without automatic passive +grabbing, use event class \fIDeviceButtonPress\fP but do not specify +event class \fIDeviceButtonPressGrab\fP. +.LP +The server reports the event to all interested clients. +.LP +Information contained in the \fIXDevice\fP structure returned by +\fIXOpenDevice\fP is used +by macros to obtain the event classes that clients use in making +\fIXSelectExtensionEvent\fP requests. Currently defined macros include +\fIDeviceKeyPress\fP, \fIDeviceKeyRelease\fP, \fIDeviceButtonPress\fP, +\fIDeviceButtonRelese\fP, \fIDeviceMotionNotify\fP, \fIDeviceFocusIn\fP, +\fIDeviceFocusOut\fP, \fIProximityIn\fP, \fIProximityOut\fP, +\fIDeviceStateNotify\fP, \fIDeviceMappiingNotify\fP, +\fIChangeDeviceNotify\fP, \fIDevicePointerMotionHint\fP, +\fIDeviceButton1Motion\fP, \fIDeviceButton2Motion\fP, \fIDeviceButton3Motion\fP, +\fIDeviceButton4Motion\fP, \fIDeviceButton5Motion\fP, \fIDeviceButtonMotion\fP, +\fIDeviceOwnerGrabButton\fP, \fIDeviceButtonPressGrab\fP, and +\fINoExtensionEvent\fP. +.LP +To obtain the proper event class for a particular device, one of the above +macros is invoked using the \fIXDevice\fP structure for that device. For +example, +.LP +.DS 0 +.TA .5i +.ta .5i +DeviceKeyPress (*device, type, eventclass); +.DE +.LP +returns the \fIDeviceKeyPress\fP event type and the eventclass for selecting +\fIDeviceKeyPress\fP events from this device. +.LP +\fIXSelectExtensionEvent\fP +can generate a \fIBadWindow\fP or \fIBadClass\fP error. +The +\fIXGetSelectedExtensionEvents\fP +request reports the extension events selected by this client and all clients +for the specified window. This request returns pointers to two +\fIXEventClass\fP +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 \fIXFree\fP to free these +two arrays. +.LP +\fIXGetSelectedExtensionEvents\fP +can generate a \fIBadWindow\fP error. +.SH DIAGNOSTICS +.TP 12 +\fIBadWindow\fP +A value for a Window argument does not name a defined Window. +.TP 12 +\fIBadClass\fP +A value for an XEventClass argument is invalid. +.SH "SEE ALSO" +.br +\fI\*(xL\fP |