2006-11-25 10:22:40 -07:00
|
|
|
.\"
|
|
|
|
.\" $XFree86: xc/doc/man/Xi/XSExEvnt.man,v 1.3 2001/02/09 03:47:49 tsi Exp $
|
|
|
|
.\"
|
|
|
|
.\"
|
|
|
|
.\" 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: XSExEvnt.man,v 1.3 2000/08/17 19:41:56 cpqbld Exp $
|
|
|
|
.ds xL Programming with Xlib
|
2007-11-24 09:45:12 -07:00
|
|
|
.TH XSendExtensionEvent __LIB_MAN_SUFFIX__ __xorgversion__ "X FUNCTIONS"
|
2006-11-25 10:22:40 -07:00
|
|
|
.SH NAME
|
|
|
|
XSendExtensionEvent \- send input extension events to a client
|
|
|
|
.SH SYNTAX
|
|
|
|
.HP
|
|
|
|
Status XSendExtensionEvent\^(\^Display *\fIdisplay\fP\^, XDevice
|
|
|
|
*\fIdevice\fP\^, Window \fIdestination\fP\^, Bool \fIpropagate\fP\^, int
|
|
|
|
\fIevent_count\fP\^, XEventClass *\fIevent_list\fP\^, XEvent
|
|
|
|
*\fIevent_send\fP\^);
|
|
|
|
.SH ARGUMENTS
|
|
|
|
.TP 12
|
|
|
|
.I display
|
|
|
|
Specifies the connection to the X server.
|
|
|
|
.TP 12
|
|
|
|
.I device
|
|
|
|
Specifies the device from which the events are to be sent.
|
|
|
|
.TP 12
|
|
|
|
.I destination
|
|
|
|
Specifies the window the event is to be sent to. You can pass window id,
|
|
|
|
\fIPointerWindow\fP,
|
|
|
|
or
|
|
|
|
\fIInputFocus\fP.
|
|
|
|
.TP 12
|
|
|
|
.I propagate
|
|
|
|
Specifies a Boolean value that is either True or False.
|
|
|
|
.TP 12
|
|
|
|
.I event_count
|
|
|
|
Specifies the count of XEventClasses in event_list.
|
|
|
|
.TP 12
|
|
|
|
.I event_list
|
|
|
|
Specifies the list of event selections to be used.
|
|
|
|
.TP 12
|
|
|
|
.I event_send
|
|
|
|
Specifies a pointer to the event that is to be sent.
|
|
|
|
.TP 12
|
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
|
|
|
\fIXSendExtensionEvent\fP
|
|
|
|
request identifies the destination window,
|
|
|
|
determines which clients should receive the specified events,
|
|
|
|
and ignores any active grabs.
|
|
|
|
This request requires you to pass an event class list.
|
|
|
|
For a discussion of the valid event class names,
|
2007-11-24 09:45:12 -07:00
|
|
|
see \fIXOpenDevice(3)\fP.
|
2006-11-25 10:22:40 -07:00
|
|
|
This request uses the w argument to identify the destination window as follows:
|
|
|
|
.IP \(bu 5
|
|
|
|
If w is
|
|
|
|
\fIPointerWindow\fP ,
|
|
|
|
the destination window is the window that contains the pointer.
|
|
|
|
.IP \(bu 5
|
|
|
|
If w is
|
|
|
|
\fIInputFocus\fP
|
|
|
|
and if the focus window contains the pointer,
|
|
|
|
the destination window is the window that contains the pointer;
|
|
|
|
otherwise, the destination window is the focus window.
|
|
|
|
.LP
|
|
|
|
To determine which clients should receive the specified events,
|
|
|
|
\fIXSendExtensionEvent\fP
|
|
|
|
uses the propagate argument as follows:
|
|
|
|
.IP \(bu 5
|
|
|
|
If event_list is the empty set,
|
|
|
|
the event is sent to the client that created the destination window.
|
|
|
|
If that client no longer exists,
|
|
|
|
no event is sent.
|
|
|
|
.IP \(bu 5
|
|
|
|
If propagate is
|
|
|
|
\fIFalse\fP,
|
|
|
|
the event is sent to every client selecting on destination any of the event
|
|
|
|
types specified by the event_list array.
|
|
|
|
.IP \(bu 5
|
|
|
|
If propagate is
|
|
|
|
\fITrue\fP
|
|
|
|
and no clients have selected on destination any of
|
|
|
|
the events specified by the event_list array,
|
|
|
|
the destination is replaced with the
|
|
|
|
closest ancestor of destination for which some client has selected a
|
|
|
|
type specified by the event-list array and for which no intervening
|
|
|
|
window has that type in its
|
|
|
|
do-not-propagate-mask.
|
|
|
|
If no such window exists or if the window is
|
|
|
|
an ancestor of the focus window and
|
|
|
|
\fIInputFocus\fP
|
|
|
|
was originally specified
|
|
|
|
as the destination, the event is not sent to any clients.
|
|
|
|
Otherwise, the event is reported to every client selecting on the final
|
|
|
|
destination any of the events specified in the event_list array.
|
|
|
|
.LP
|
|
|
|
The event in the
|
|
|
|
\fIXEvent\fP
|
|
|
|
structure must be one of the events defined by the input extension (or a
|
|
|
|
\fIBadValue\fP
|
|
|
|
error results) so that the X server can correctly byte-swap
|
|
|
|
the contents as necessary.
|
|
|
|
The contents of the event are
|
|
|
|
otherwise unaltered and unchecked by the X server except to force send_event to
|
|
|
|
\fITrue\fP
|
|
|
|
in the forwarded event and to set the serial number in the event correctly.
|
|
|
|
.LP
|
|
|
|
\fIXSendExtensionEvent\fP
|
|
|
|
returns zero if the conversion to wire protocol format failed
|
|
|
|
and returns nonzero otherwise.
|
|
|
|
\fIXSendExtensionEvent\fP
|
|
|
|
can generate
|
|
|
|
\fIBadClass\fP,
|
|
|
|
\fIBadDevice\fP,
|
|
|
|
\fIBadValue\fP,
|
|
|
|
and
|
|
|
|
\fIBadWindow\fP
|
|
|
|
errors.
|
|
|
|
.SH DIAGNOSTICS
|
|
|
|
.TP 12
|
|
|
|
\fIBadDevice\fP
|
|
|
|
An invalid device was specified. The specified device does not exist or has
|
|
|
|
not been opened by this client via \fIXOpenInputDevice\fP. This error may
|
|
|
|
also occur if the specified device is the X keyboard or X pointer device.
|
|
|
|
.TP 12
|
|
|
|
\fIBadValue\fP
|
|
|
|
Some numeric value falls outside the range of values accepted by the request.
|
|
|
|
Unless a specific range is specified for an argument, the full range defined
|
|
|
|
by the argument's type is accepted. Any argument defined as a set of
|
|
|
|
alternatives can generate this error.
|
|
|
|
.TP 12
|
|
|
|
\fIBadWindow\fP
|
|
|
|
A value for a Window argument does not name a defined Window.
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.br
|
|
|
|
\fI\*(xL\fP
|