xcb\_xkb\_get\_state(3) XCB Requests xcb\_xkb\_get\_state(3)

# [NAME](#NAME)

xcb\_xkb\_get\_state -

# [SYNOPSIS](#SYNOPSIS)

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

## [Request function](#Request_function)

xcb\_xkb\_get\_state\_cookie\_t **xcb\_xkb\_get\_state**(xcb\_connection\_t \**conn*, xcb\_xkb\_device\_spec\_t *deviceSpec*);

## [Reply datastructure](#Reply_datastructure)

```
typedef struct xcb_xkb_get_state_reply_t {


    uint8_t  response_type;


    uint8_t  deviceID;


    uint16_t sequence;


    uint32_t length;


    uint8_t  mods;


    uint8_t  baseMods;


    uint8_t  latchedMods;


    uint8_t  lockedMods;


    uint8_t  group;


    uint8_t  lockedGroup;


    int16_t  baseGroup;


    int16_t  latchedGroup;


    uint8_t  compatState;


    uint8_t  grabMods;


    uint8_t  compatGrabMods;


    uint8_t  lookupMods;


    uint8_t  compatLookupMods;


    uint8_t  pad0;


    uint16_t ptrBtnState;


    uint8_t  pad1[6];
} xcb_xkb_get_state_reply_t;
```

## [Reply function](#Reply_function)

xcb\_xkb\_get\_state\_reply\_t \***xcb\_xkb\_get\_state\_reply**(xcb\_connection\_t \**conn*, xcb\_xkb\_get\_state\_cookie\_t *cookie*, xcb\_generic\_error\_t \*\**e*);

# [REQUEST ARGUMENTS](#REQUEST_ARGUMENTS)

[*conn*](#conn)

The XCB connection to X11.

[*deviceSpec*](#deviceSpec)

TODO: NOT YET DOCUMENTED.

# [REPLY FIELDS](#REPLY_FIELDS)

[*response\_type*](#response_type)

The type of this reply, in this case *XCB\_XKB\_GET\_STATE*. This field is also present in the *xcb\_generic\_reply\_t* and can be used to tell replies apart from each other.

[*sequence*](#sequence)

The sequence number of the last request processed by the X11 server.

[*length*](#length)

The length of the reply, in words (a word is 4 bytes).

[*deviceID*](#deviceID)

TODO: NOT YET DOCUMENTED.

[*mods*](#mods)

TODO: NOT YET DOCUMENTED.

[*baseMods*](#baseMods)

TODO: NOT YET DOCUMENTED.

[*latchedMods*](#latchedMods)

TODO: NOT YET DOCUMENTED.

[*lockedMods*](#lockedMods)

TODO: NOT YET DOCUMENTED.

[*group*](#group)

TODO: NOT YET DOCUMENTED.

[*lockedGroup*](#lockedGroup)

TODO: NOT YET DOCUMENTED.

[*baseGroup*](#baseGroup)

TODO: NOT YET DOCUMENTED.

[*latchedGroup*](#latchedGroup)

TODO: NOT YET DOCUMENTED.

[*compatState*](#compatState)

TODO: NOT YET DOCUMENTED.

[*grabMods*](#grabMods)

TODO: NOT YET DOCUMENTED.

[*compatGrabMods*](#compatGrabMods)

TODO: NOT YET DOCUMENTED.

[*lookupMods*](#lookupMods)

TODO: NOT YET DOCUMENTED.

[*compatLookupMods*](#compatLookupMods)

TODO: NOT YET DOCUMENTED.

[*ptrBtnState*](#ptrBtnState)

TODO: NOT YET DOCUMENTED.

# [DESCRIPTION](#DESCRIPTION)

# [RETURN VALUE](#RETURN_VALUE)

Returns an *xcb\_xkb\_get\_state\_cookie\_t*. Errors have to be handled when calling the reply function *xcb\_xkb\_get\_state\_reply*.

If you want to handle errors in the event loop instead, use *xcb\_xkb\_get\_state\_unchecked*. See [**xcb-requests(3)**](/man/os/libxcb/xcb-requests.3) for details.

# [ERRORS](#ERRORS)

This request does never generate any errors.

# [SEE ALSO](#SEE_ALSO)

# [AUTHOR](#AUTHOR)

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

libxcb 1.17.0 X Version 11

---

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