---
name: "XtSetKeyboardFocus"
section: "3"
platform: "linux"
package: "libxt"
version: "1.3.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XtSetKeyboardFocus"
---

# XtSetKeyboardFocus(3)

focus events on a child widget

## NAME

XtSetKeyboardFocus - focus events on a child widget

## SYNTAX

\#include \<X11/Intrinsic.h\>

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

## ARGUMENTS

- *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*

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

## 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

[XtCallAcceptFocus(3)](/XtCallAcceptFocus/3.md)\
 *X Toolkit Intrinsics - C Language Interface*\
 *Xlib - C Language X Interface*
