XtSetKeyboardFocus() - focus events on a child widget
XtSetKeyboardFocus (Widget subtree, Widget descendant)
If a future KeyPress or KeyRelease event occurs within the specified subtree, XtSetKeyboardFocus(3) causes XtDispatchEvent(3) 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:
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.
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface