XtSetKeyboardFocus(3) XT FUNCTIONS XtSetKeyboardFocus(3)

# [NAME](#NAME)

XtSetKeyboardFocus - focus events on a child widget

# [SYNTAX](#SYNTAX)

#include &lt;X11/Intrinsic.h&gt;

void XtSetKeyboardFocus(Widget *subtree*, Widget *descendant*);

# [ARGUMENTS](#ARGUMENTS)

[*subtree*](#subtree)

Specifies either the widget in the subtree structure which is to receive the keyboard event, or **None**. Note that it is not an error to specify **None** when no input focus was previously set.

[*descendant*](#descendant)

Specifies the widget for which the keyboard focus is to be set.

# [DESCRIPTION](#DESCRIPTION)

If a future **KeyPress** or **KeyRelease** event occurs within the specified subtree, **XtSetKeyboardFocus** causes **XtDispatchEvent** to remap and send the event to the specified descendant widget.

When there is no modal cascade, keyboard events can occur within a widget W in one of three ways:

- W has the X input focus.
- W has the keyboard focus of one of its ancestors, and the event occurs within the ancestor or one of the ancestor's descendants.
- No ancestor of W has a descendant within the keyboard focus, and the pointer is within W.

When there is a modal cascade, a widget W receives keyboard events if an ancestor of W is in the active subset of the modal cascade and one or more of the previous conditions is **True**.

When subtree or one of its descendants acquires the X input focus or the pointer moves into the subtree such that keyboard events would now be delivered to subtree, a **FocusIn** event is generated for the descendant if **FocusNotify** events have been selected by the descendant. Similarly, when W loses the X input focus or the keyboard focus for one of its ancestors, a **FocusOut** event is generated for descendant if **FocusNotify** events have been selected by the descendant.

# [SEE ALSO](#SEE_ALSO)

[XtCallAcceptFocus(3)](/man/os/libxt/XtCallAcceptFocus.3)  
*X Toolkit Intrinsics - C Language Interface*  
*Xlib - C Language X Interface*

libXt 1.3.1 X Version 11

---

Document: XtSetKeyboardFocus(3) from libxt 1.3.1-r9 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxt.git
