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

# XkbGetKeyActions(3)

Update the actions (the key\_acts array) for a subset of the keys in a keyboard description

## NAME

XkbGetKeyActions - Update the actions (the key\_acts array) for a subset of the keys in a keyboard description

## SYNOPSIS

**Status XkbGetKeyActions** **(Display \****dpy***,** **unsigned int** *first***,** **unsigned int** *num***,** **XkbDescPtr** *xkb***);**

## ARGUMENTS

- *dpy*

  connection to X server

- *first*

  keycode of first key of interest

- *num*

  number of keys desired

- *xkb*

  pointer to keyboard description where result is stored

## DESCRIPTION

*XkbGetKeyActions* sends a request to the server to obtain the actions for *num* keys on the keyboard starting with key *first.* It waits for a reply and returns the actions in the *server-\>key\_acts* field of *xkb.* If successful, *XkbGetKeyActions* returns Success. The *xkb* parameter must be a pointer to a valid Xkb keyboard description.

If the *server* map, in the *xkb* parameter, has not been allocated, *XkbGetKeyActions* allocates and initializes it before obtaining the actions.

If the server does not have a compatible version of Xkb, or the Xkb extension has not been properly initialized, *XkbGetKeyActions* returns BadAccess. If *num* is less than 1 or greater than XkbMaxKeyCount, *XkbGetKeyActions* returns BadValue. If any allocation errors occur, *XkbGetKeyActions* returns BadAlloc.

## DIAGNOSTICS

- **BadAccess**

  The Xkb extension has not been properly initialized

- **BadAlloc**

  Unable to allocate storage

- **BadValue**

  An argument is out of range
