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

# XkbFreeKeyboard(3)

Destroys either an entire XkbDescRec or just some of its members

## NAME

XkbFreeKeyboard -  Destroys either an entire XkbDescRec or just some of its members

## SYNOPSIS

**void XkbFreeKeyboard** **(XkbDescPtr** *xkb***,** **unsigned int** *which***,** **Bool** *free\_all***);**

## ARGUMENTS

- *xkb*

  keyboard description with components to free

- *which*

  mask selecting components to free

- *free\_all*

  True =\> free all components and *xkb*

## DESCRIPTION

*XkbFreeKeyboard* frees the components of *xkb* specified by *which* and sets the corresponding values to NULL. If *free\_all* is True, *XkbFreeKeyboard* frees every non-NULL component of *xkb* and then frees the *xkb* structure itself.

If kbd is NULL, no operation is performed.

## SEE ALSO

[**XkbFreeClientMap**(3)](/XkbFreeClientMap/3.md), [**XkbFreeServerMap**(3)](/XkbFreeServerMap/3.md), [**XkbFreeCompatMap**(3)](/XkbFreeCompatMap/3.md), [**XkbFreeIndicatorMaps**(3)](/XkbFreeIndicatorMaps/3.md), [**XkbFreeNames**(3)](/XkbFreeNames/3.md), [**XkbFreeGeometry**(3)](/XkbFreeGeometry/3.md), [**XkbFreeControls**(3)](/XkbFreeControls/3.md)
