XISetFocus3
Set or get the device's focus.
Usage
Status XISetFocus(
Display
*display,
Time time);
Status XIGetFocus(
Display
*display,
Window *focus_return);
display
deviceid
Specifies the
device
whose
focus
is
to
be
queried
or
focus
focus_return
time
A valid
timestamp
or
CurrentTime.
Overview
XISetFocus 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. CurrentTime is replaced by the current X server time). XISetFocus causes the X server to generate core, XI and XI2 focus events.
If the focus window is None all keyboard events by this device are discarded until a new focus window is set. Otherwise, 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.
The specified focus window must be viewable at the time XISetFocus is called, or a BadMatch error results. If the focus window later becomes not viewable, the focus reverts to the parent (or the closest viewable ancestor. When the focus reverts, the X server generates core, XI and XI2 focus events but the last-focus-change time is not affected.
Attempting to set the focus on a master pointer device or an attached slave device will result in a BadDevice error.
XISetFocus can generate BadDevice, BadMatch, BadValue, and BadWindow errors.
Diagnostics
BadValue
A value is outside of the permitted range.
BadDevice
An invalid device was specified. The device does not
exist or is not a appropriate for the type of change.
BadMatch
The window is not viewable.
BadWindow
A value for a Window argument does not name a defined
Window.
History
- Debian 13 (Trixie): the text shown here
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
- Debian 10 (Buster) to Debian 8 (Jessie)
- Debian 7 (Wheezy)
- Debian 6.0 (Squeeze)