Provided by: libxi-dev_1.8.1-1build1_amd64 bug

NAME

       XISetFocus, XIGetFocus - set or get the device's focus.

SYNOPSIS

       #include <X11/extensions/XInput2.h>

       Status XISetFocus( Display *display,
                          int deviceid,
                          Window focus,
                          Time time);

       Status XIGetFocus( Display *display,
                          Window *focus_return);

       display
              Specifies the connection to the X server.

       deviceid
              Specifies the device whose focus is to be queried or
              changed.

       focus
              The new focus window.

       focus_return
              Returns the current focus window.

       time
              A valid timestamp or CurrentTime.

DESCRIPTION

           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.

                                            05/04/2023                              XISETFOCUS(3)