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

# XkbGetState(3)

Obtains the keyboard state

## NAME

XkbGetState -  Obtains the keyboard state

## SYNOPSIS

**Status XkbGetState** **(Display \****display***,** **unsigned int** *device\_spec***,** **XkbStatePtr** *state\_return***);**

## ARGUMENTS

- *display*

  connection to the X server

- *device\_spec*

  device ID, or XkbUseCoreKbd

- *state\_return*

  backfilled with Xkb state

## DESCRIPTION

The *XkbGetState* function queries the server for the current keyboard state, waits for a reply, and then backfills *state\_return* with the results.

All group values are expressed as group indices in the range \[0..3\]. Modifiers and the compatibility modifier state values are expressed as the bitwise union of the core X11 modifier masks. The pointer button state is reported as in the core X11 protocol.
