https://invisible-island.net/xterm/xtoolkit/
XtGrabKey, XtUngrabKey, XtGrabKeyboard, XtUngrabKeyboard, XtGrabButton, XtUngrabButton, XtGrabPointer, XtUngrabPointer - manage grabs
#include <X11/Intrinsic.h> void XtGrabKey(Widget widget, KeyCode keycode, Modifiers modifiers, Boolean owner_events, int pointer_mode, int keyboard_mode); void XtUngrabKey(Widget widget, KeyCode keycode, Modifiers modifiers); int XtGrabKeyboard(Widget widget, Boolean owner_events, int pointer_mode, int keyboard_mode, Time time); void XtUngrabKeyboard(Widget widget, Time time); void XtGrabButton(Widget widget, int button, Modifiers modifiers, Bool- ean owner_events, unsigned int event_mask, int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor); void XtUngrabButton(Widget widget, unsigned button, Modifiers modi- fiers); int XtGrabPointer(Widget widget, Boolean owner_events, unsigned int event_mask, int pointer_mode, int keyboard_mode, Window con- fine_to, Cursor cursor, Time time); void XtUngrabPointer(Widget widget, Time time);
widget Specifies the widget in whose window the grab will occur. Must be of class Core or a subclass thereof. keycode modifiers owner_events pointer_mode keyboard_mode time button confine_to cursor Specifies arguments to the associated Xlib function call.
XtGrabKey calls XGrabKey specifying the widget's window as the grab window if the widget is realized. The remaining arguments are exactly as for XGrabKey. If the widget is not realized, or is later unreal- ized, the call to XGrabKey will be performed (again) when the widget is realized and its window becomes mapped. In the future, if XtDis- patchEvent is called with a KeyPress event matching the specified key- code and modifiers (which may be AnyKey or AnyModifier, respectively) for the widget's window, the Intrinsics will call XtUngrabKeyboard with the timestamp from the KeyPress event if either of the following condi- tions is true: o There is a modal cascade and the widget is not in the active subset of the cascade and the keyboard was not previously grabbed, or o XFilterEvent returns True. XtUngrabKey calls XUngrabKey specifying the widget's window as the ungrab window if the widget is realized. The remaining arguments are exactly as for XUngrabKey. If the widget is not realized, XtUngrabKey removes a deferred XtGrabKey request, if any, for the specified widget, keycode, and modifiers. If the specified widget is realized XtGrabKeyboard calls XGrabKeyboard specifying the widget's window as the grab window. The remaining argu- ments and return value are exactly as for XGrabKeyboard. If the widget is not realized, XtGrabKeyboard immediately returns GrabNotViewable. No future ungrab is implied by XtGrabKeyboard. XtUngrabKeyboard calls XUngrabKeyboard with the specified time. XtGrabButton calls XGrabButton specifying the widget's window as the grab window if the widget is realized. The remaining arguments are exactly as for XGrabButton. If the widget is not realized, or is later unrealized, the call to XGrabButton will be performed (again) when the widget is realized and its window becomes mapped. In the future, if XtDispatchEvent is called with a ButtonPress event matching the speci- fied button and modifiers (which may be AnyButton or AnyModifier, respectively) for the widget's window, the Intrinsics will call XtUngrabPointer with the timestamp from the ButtonPress event if either of the following conditions is true: o There is a modal cascade and the widget is not in the active subset of the cascade and the pointer was not previously grabbed, or o XFilterEvent returns True. XtUngrabButton calls XUngrabButton specifying the widget's window as the ungrab window if the widget is realized. The remaining arguments are exactly as for XUngrabButton. If the widget is not realized, XtUngrabButton removes a deferred XtGrabButton request, if any, for the specified widget, button, and modifiers. XtGrabPointer calls XGrabPointer specifying the widget's window as the grab window. The remaining arguments and return value are exactly as for XGrabPointer. If the widget is not realized, XtGrabPointer immedi- ately returns GrabNotViewable. No future ungrab is implied by XtGrab- Pointer. XtUngrabPointer calls XUngrabPointer with the specified time.
X Toolkit Intrinsics – C Language Interface Xlib - C Language X Interface X Version 11 libXt 1.1.5.2 XtGrabKey(3)