---
name: "xcb_xkb_get_map"
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_xkb_get_map"
---

# xcb\_xkb\_get\_map(3)

## NAME

xcb\_xkb\_get\_map -

## SYNOPSIS

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

### Request function

xcb\_xkb\_get\_map\_cookie\_t **xcb\_xkb\_get\_map**(xcb\_connection\_t \**conn*, xcb\_xkb\_device\_spec\_t *deviceSpec*, uint16\_t *full*, uint16\_t *partial*, uint8\_t *firstType*, uint8\_t *nTypes*, xcb\_keycode\_t *firstKeySym*, uint8\_t *nKeySyms*, xcb\_keycode\_t *firstKeyAction*, uint8\_t *nKeyActions*, xcb\_keycode\_t *firstKeyBehavior*, uint8\_t *nKeyBehaviors*, uint16\_t *virtualMods*, xcb\_keycode\_t *firstKeyExplicit*, uint8\_t *nKeyExplicit*, xcb\_keycode\_t *firstModMapKey*, uint8\_t *nModMapKeys*, xcb\_keycode\_t *firstVModMapKey*, uint8\_t *nVModMapKeys*);

### Reply datastructure

```

typedef struct xcb_xkb_get_map_reply_t {
    uint8_t       response_type;
    uint8_t       deviceID;
    uint16_t      sequence;
    uint32_t      length;
    uint8_t       pad0[2];
    xcb_keycode_t minKeyCode;
    xcb_keycode_t maxKeyCode;
    uint16_t      present;
    uint8_t       firstType;
    uint8_t       nTypes;
    uint8_t       totalTypes;
    xcb_keycode_t firstKeySym;
    uint16_t      totalSyms;
    uint8_t       nKeySyms;
    xcb_keycode_t firstKeyAction;
    uint16_t      totalActions;
    uint8_t       nKeyActions;
    xcb_keycode_t firstKeyBehavior;
    uint8_t       nKeyBehaviors;
    uint8_t       totalKeyBehaviors;
    xcb_keycode_t firstKeyExplicit;
    uint8_t       nKeyExplicit;
    uint8_t       totalKeyExplicit;
    xcb_keycode_t firstModMapKey;
    uint8_t       nModMapKeys;
    uint8_t       totalModMapKeys;
    xcb_keycode_t firstVModMapKey;
    uint8_t       nVModMapKeys;
    uint8_t       totalVModMapKeys;
    uint8_t       pad1;
    uint16_t      virtualMods;
} xcb_xkb_get_map_reply_t;
```

### Reply function

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

### Reply accessors

xcb\_xkb\_get\_map\_map\_t \*xcb\_xkb\_get\_map\_map (const xcb\_xkb\_get\_map\_request\_t \*reply)\

## REQUEST ARGUMENTS

- *conn*

  The XCB connection to X11.

- *deviceSpec*

  TODO: NOT YET DOCUMENTED.

- *full*

  TODO: NOT YET DOCUMENTED.

- *partial*

  TODO: NOT YET DOCUMENTED.

- *firstType*

  TODO: NOT YET DOCUMENTED.

- *nTypes*

  TODO: NOT YET DOCUMENTED.

- *firstKeySym*

  TODO: NOT YET DOCUMENTED.

- *nKeySyms*

  TODO: NOT YET DOCUMENTED.

- *firstKeyAction*

  TODO: NOT YET DOCUMENTED.

- *nKeyActions*

  TODO: NOT YET DOCUMENTED.

- *firstKeyBehavior*

  TODO: NOT YET DOCUMENTED.

- *nKeyBehaviors*

  TODO: NOT YET DOCUMENTED.

- *virtualMods*

  TODO: NOT YET DOCUMENTED.

- *firstKeyExplicit*

  TODO: NOT YET DOCUMENTED.

- *nKeyExplicit*

  TODO: NOT YET DOCUMENTED.

- *firstModMapKey*

  TODO: NOT YET DOCUMENTED.

- *nModMapKeys*

  TODO: NOT YET DOCUMENTED.

- *firstVModMapKey*

  TODO: NOT YET DOCUMENTED.

- *nVModMapKeys*

  TODO: NOT YET DOCUMENTED.

## REPLY FIELDS

- *response\_type*

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

- *sequence*

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

- *length*

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

- *deviceID*

  TODO: NOT YET DOCUMENTED.

- *minKeyCode*

  TODO: NOT YET DOCUMENTED.

- *maxKeyCode*

  TODO: NOT YET DOCUMENTED.

- *present*

  TODO: NOT YET DOCUMENTED.

- *firstType*

  TODO: NOT YET DOCUMENTED.

- *nTypes*

  TODO: NOT YET DOCUMENTED.

- *totalTypes*

  TODO: NOT YET DOCUMENTED.

- *firstKeySym*

  TODO: NOT YET DOCUMENTED.

- *totalSyms*

  TODO: NOT YET DOCUMENTED.

- *nKeySyms*

  TODO: NOT YET DOCUMENTED.

- *firstKeyAction*

  TODO: NOT YET DOCUMENTED.

- *totalActions*

  TODO: NOT YET DOCUMENTED.

- *nKeyActions*

  TODO: NOT YET DOCUMENTED.

- *firstKeyBehavior*

  TODO: NOT YET DOCUMENTED.

- *nKeyBehaviors*

  TODO: NOT YET DOCUMENTED.

- *totalKeyBehaviors*

  TODO: NOT YET DOCUMENTED.

- *firstKeyExplicit*

  TODO: NOT YET DOCUMENTED.

- *nKeyExplicit*

  TODO: NOT YET DOCUMENTED.

- *totalKeyExplicit*

  TODO: NOT YET DOCUMENTED.

- *firstModMapKey*

  TODO: NOT YET DOCUMENTED.

- *nModMapKeys*

  TODO: NOT YET DOCUMENTED.

- *totalModMapKeys*

  TODO: NOT YET DOCUMENTED.

- *firstVModMapKey*

  TODO: NOT YET DOCUMENTED.

- *nVModMapKeys*

  TODO: NOT YET DOCUMENTED.

- *totalVModMapKeys*

  TODO: NOT YET DOCUMENTED.

- *virtualMods*

  TODO: NOT YET DOCUMENTED.

## DESCRIPTION

## RETURN VALUE

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

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

## ERRORS

This request does never generate any errors.

## SEE ALSO

## AUTHOR

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