xcb\_ungrab\_key(3) XCB Requests xcb\_ungrab\_key(3)

# [NAME](#NAME)

xcb\_ungrab\_key - release a key combination

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;xcb/xproto.h&gt;**

## [Request function](#Request_function)

xcb\_void\_cookie\_t **xcb\_ungrab\_key**(xcb\_connection\_t \**conn*, xcb\_keycode\_t *key*, xcb\_window\_t *grab\_window*, uint16\_t *modifiers*);

# [REQUEST ARGUMENTS](#REQUEST_ARGUMENTS)

[*conn*](#conn)

The XCB connection to X11.

[*key*](#key)

The keycode of the specified key combination.

Using the special value *XCB\_GRAB\_ANY* means releasing all possible key codes.

[*grab\_window*](#grab_window)

The window on which the grabbed key combination will be released.

[*modifiers*](#modifiers)

The modifiers of the specified key combination.

Using the special value *XCB\_MOD\_MASK\_ANY* means releasing the key combination with every possible modifier combination.

# [DESCRIPTION](#DESCRIPTION)

Releases the key combination on *grab\_window* if you grabbed it using *xcb\_grab\_key* before.

# [RETURN VALUE](#RETURN_VALUE)

Returns an *xcb\_void\_cookie\_t*. Errors (if any) have to be handled in the event loop.

If you want to handle errors directly with *xcb\_request\_check* instead, use *xcb\_ungrab\_key\_checked*. See [**xcb-requests(3)**](/man/os/libxcb/xcb-requests.3) for details.

# [ERRORS](#ERRORS)

[*xcb\_value\_error\_t*](#xcb_value_error_t)

TODO: reasons?

[*xcb\_window\_error\_t*](#xcb_window_error_t)

The specified *grab\_window* does not exist.

# [SEE ALSO](#SEE_ALSO)

[**xcb-requests**(3)](/man/os/libxcb/xcb-requests.3), [**xcb\_grab\_key**(3)](/man/os/libxcb/xcb_grab_key.3), [**xev**(1)](/man/os/libxcb/xev.1)

# [AUTHOR](#AUTHOR)

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.

libxcb 1.17.0 X Version 11

---

Document: xcb_ungrab_key_checked(3) from libxcb 1.17.0-r18 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxcb.git
