summaryrefslogtreecommitdiff
path: root/man/XSetDeviceFocus.man
diff options
context:
space:
mode:
Diffstat (limited to 'man/XSetDeviceFocus.man')
-rw-r--r--man/XSetDeviceFocus.man216
1 files changed, 216 insertions, 0 deletions
diff --git a/man/XSetDeviceFocus.man b/man/XSetDeviceFocus.man
new file mode 100644
index 0000000..b07764b
--- /dev/null
+++ b/man/XSetDeviceFocus.man
@@ -0,0 +1,216 @@
+.\"
+.\" 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: XSeDvFoc.man,v 1.4 2001/03/16 17:51:13 pookie Exp $
+.ds xL Programming with Xlib
+.TH XSetDeviceFocus 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS"
+.SH NAME
+XSetDeviceFocus, XGetDeviceFocus \- control extension input device focus
+.SH SYNTAX
+XSetDeviceFocus\^(\^\fIdisplay\fP, \fIdevice\fP\^, \fIfocus\fP\^, \fIrevert_to\fP\^, \fItime\fP\^)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ Display *\fIdevice\fP\^;
+.br
+ Window \fIfocus\fP\^;
+.br
+ int \fIrevert_to\fP\^;
+.br
+ Time \fItime\fP\^;
+.sp
+XGetDeviceFocus\^(\^\fIdisplay\fP, \fIdevice\fP\^, \fIfocus_return\fP\^,
+\fIrevert_to_return\fP, \fItime_return\fP\^)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ Display *\fIdevice\fP\^;
+.br
+ Window *\fIfocus_return\fP\^;
+.br
+ int *\fIrevert_to_return\fP\^;
+.br
+ int *\fItime_return\fP\^;
+.SH ARGUMENTS
+.TP 12
+.I display
+Specifies the connection to the X server.
+.TP 12
+.I device
+Specifies the device whose focus is to be queried or changed.
+.TP 12
+.I focus
+Specifies the window,
+\fIPointerRoot\fP,
+\fIFollowKeyboard\fP,
+or
+\fINone\fP.
+.TP 12
+.I focus_return
+Returns the focus window,
+\fIPointerRoot\fP,
+\fIFollowKeyboard\fP,
+or
+\fINone\fP.
+.TP 12
+.I revert_to
+Specifies where the input focus reverts to if the window becomes not
+viewable.
+You can pass
+\fIRevertToParent\fP,
+\fIRevertToPointerRoot\fP,
+\fIRevertToFollowKeyboard\fP,
+or
+\fIRevertToNone\fP.
+.TP 12
+.I revert_to_return
+Returns the current focus state
+\fIRevertToParent\fP,
+\fIRevertToPointerRoot\fP,
+\fIRevertToFollowKeyboard\fP,
+or
+\fIRevertToNone\fP.
+.TP 12
+.I time_return
+Returns the last_focus_time for the device.
+.TP 12
+.I time
+Specifies the time.
+You can pass either a timestamp or
+\fICurrentTime\fP.
+.SH DESCRIPTION
+The \fIXSetDeviceFocus\fP
+request changes the focus of the specified device and its last-focus-change
+time.
+It has no effect if the specified time is earlier than the current
+last-focus-change time or is later than the current X server time.
+Otherwise, the last-focus-change time is set to the specified time
+\fICurrentTime\fP
+is replaced by the current X server time).
+\fIXSetDeviceFocus\fP
+causes the X server to generate
+\fIDeviceFocusIn\fP
+and
+\fIDeviceFocusOut\fP
+events.
+.LP
+Depending on the focus argument,
+the following occurs:
+.IP \(bu 5
+If focus is
+\fINone\fP ,
+all device events are discarded until a new focus window is set,
+and the revert_to argument is ignored.
+.IP \(bu 5
+If focus is a window,
+it becomes the device's focus window.
+If a generated device event would normally be reported to this window
+or one of its inferiors, the event is reported as usual.
+Otherwise, the event is reported relative to the focus window.
+.IP \(bu 5
+If focus is
+\fIPointerRoot\fP,
+the focus window is dynamically taken to be the root window of whatever screen
+the pointer is on at each event from the specified device.
+In this case, the revert_to argument is ignored.
+.IP \(bu 5
+If focus is
+\fIFollowKeyboard\fP,
+the focus window is dynamically taken to be the window to which the X keyboard
+focus is set at each input event.
+.LP
+The specified focus window must be viewable at the time
+\fIXSetDeviceFocus\fP
+is called,
+or a
+\fIBadMatch\fP
+error results.
+If the focus window later becomes not viewable,
+the X server
+evaluates the revert_to argument to determine the new focus window as follows:
+.IP \(bu 5
+If revert_to is
+\fIRevertToParent\fP,
+the focus reverts to the parent (or the closest viewable ancestor),
+and the new revert_to value is taken to be
+\fIRevertToNone\fP.
+.IP \(bu 5
+If revert_to is
+\fIRevertToPointerRoot\fP,
+\fIRevertToFollowKeyboard\fP,
+or
+\fIRevertToNone\fP,
+the focus reverts to
+\fIPointerRoot\fP,
+\fIFollowKeyboard\fP,
+or
+\fINone\fP,
+respectively.
+.LP
+When the focus reverts,
+the X server generates
+\fIDeviceFocusIn\fP
+and
+\fIDeviceFocusOut\fP
+events, but the last-focus-change time is not affected.
+.LP
+Input extension devices are not required to support the ability to be focused.
+Attempting to set the focus of a device that does not support this request
+will result in a \fIBadMatch\fP error. Whether or not given device can
+support this request can be determined by the information returned by
+\fIXOpenDevice\fP.
+For those devices that
+support focus, \fIXOpenDevice\fP will return an
+\fIXInputClassInfo\fP structure with the input_class field
+equal to the constant \fIFocusClass\fP (defined in the file \fIXI.h\fP).
+.LP
+\fIXSetDeviceFocus\fP
+can generate
+\fIBadDevice\fP,
+\fIBadMatch\fP,
+\fIBadValue\fP,
+and
+\fIBadWindow\fP
+errors.
+.LP
+The
+\fIXGetDeviceFocus\fP
+request returns the focus window and the current focus state.
+.LP
+Not all input extension devices can be focused. Attempting to query the
+focus state of a device that can't be focused results in a \fIBadMatch\fP
+error. A device that can be focused returns information for input Class
+Focus when an \fIXOpenDevice\fP request is made.
+.LP
+\fIXGetDeviceFocus\fP can generate \fIBadDevice\fP,
+and \fIBadMatch\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.
+.TP 12
+\fIBadMatch\fP
+This error may occur if an \fIXGetDeviceFocus\fP or \fIXSetDeviceFocus\fP
+request was made specifying a device that the server implementation does not
+allow to be focused.
+.SH "SEE ALSO"
+.br
+\fI\*(xL\fP