Table of Contents

## Name

XtGrabKey, XtUngrabKey, XtGrabKeyboard, XtUngrabKeyboard, XtGrabButton, XtUngrabButton, XtGrabPointer, XtUngrabPointer - manage grabs

## Syntax

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, Boolean owner_events, unsigned int event_mask, int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor);
void XtUngrabButton(Widget widget, KeyCode button, Modifiers
  modifiers);
int XtGrabPointer(Widget widget, Boolean owner_events, unsigned
  int event_mask, int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor, Time time);
void XtUngrabPointer(Widget widget, Time time);

## Arguments

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.

## Description

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 unrealized, the call to XGrabKey will be performed (again) when the widget is realized and its window becomes mapped. In the future, if XtDispatchEvent is called with a KeyPress event matching the specified keycode 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 conditions is true:

- 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
- 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 arguments 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 specified 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:

- 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
- 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 immediately returns GrabNotViewable. No future ungrab is implied by XtGrabPointer.

XtUngrabPointer calls XUngrabPointer with the specified time.

## See Also

X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface

Table of Contents

- Name
- Syntax
- Arguments
- Description
- See Also