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

# xcb\_input\_grab\_device\_key(3)

## NAME

xcb\_input\_grab\_device\_key -

## SYNOPSIS

**#include \<xcb/xinput.h\>**

### Request function

xcb\_void\_cookie\_t **xcb\_input\_grab\_device\_key**(xcb\_connection\_t \**conn*, xcb\_window\_t *grab\_window*, uint16\_t *num\_classes*, uint16\_t *modifiers*, uint8\_t *modifier\_device*, uint8\_t *grabbed\_device*, uint8\_t *key*, uint8\_t *this\_device\_mode*, uint8\_t *other\_device\_mode*, uint8\_t *owner\_events*, const xcb\_input\_event\_class\_t \**classes*);\

## REQUEST ARGUMENTS

- *conn*

  The XCB connection to X11.

- *grab\_window*

  TODO: NOT YET DOCUMENTED.

- *num\_classes*

  TODO: NOT YET DOCUMENTED.

- *modifiers*

  TODO: NOT YET DOCUMENTED.

- *modifier\_device*

  TODO: NOT YET DOCUMENTED.

- *grabbed\_device*

  TODO: NOT YET DOCUMENTED.

- *key*

  TODO: NOT YET DOCUMENTED.

- *this\_device\_mode*

  TODO: NOT YET DOCUMENTED.

- *other\_device\_mode*

  TODO: NOT YET DOCUMENTED.

- *owner\_events*

  TODO: NOT YET DOCUMENTED.

- *classes*

  TODO: NOT YET DOCUMENTED.

## DESCRIPTION

## 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\_input\_grab\_device\_key\_checked*. See **[xcb-requests(3)](/xcb-requests/3.md)** for details.

## ERRORS

This request does never generate any errors.

## SEE ALSO

## AUTHOR

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