# Install libxkbcommon with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Keyboard handling library. Version 1.13.2 via Homebrew; verified 2026-05-30.

## Install

```sh
sudo av install brew:libxkbcommon
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libxkbcommon
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libxkbcommon
```

  Evidence: MacPorts ports tree: devel/libxkbcommon/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add libxkbcommon
```

  Evidence: Alpine Linux edge package indexes: libxkbcommon from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install libxkbcommon-dev
```

  Evidence: Debian stable package indexes: libxkbcommon-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install libxkbcommon
```

  Evidence: Fedora Rawhide package metadata: libxkbcommon from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#libxkbcommon
```

  Evidence: nixpkgs package indexes: libxkbcommon from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S libxkbcommon
```

  Evidence: Arch Linux sync databases: libxkbcommon from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libxkbcommon-devel
```

  Evidence: openSUSE Tumbleweed package metadata: libxkbcommon-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:libxkbcommon
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libxkbcommon>
- **Version:** 1.13.2
- **Source summary:** Keyboard handling library
- **Homepage:** <https://xkbcommon.org/>
- **Repository:** <https://github.com/xkbcommon/libxkbcommon>
- **Upstream docs:** <https://xkbcommon.org/doc/current>
- **License:** MIT
- **Source archive:** <https://github.com/xkbcommon/libxkbcommon/archive/refs/tags/xkbcommon-1.13.2.tar.gz>
- **Last updated:** 2026-05-30T14:48:51Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- xkbcli (cli)
- xkbcli (alias)

## Dependencies

- libxcb
- xkeyboard-config

## Build dependencies

- bison
- meson
- ninja
- pkgconf

## Uses from macOS

- libxml2

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.13.2
- Package-manager updated: 2026-05-30
- Local data: ok
- Upstream repository: https://github.com/xkbcommon/libxkbcommon
- info: No cached GitHub release or tag data was available.
## Project history and usage

libxkbcommon is the standard Wayland-era keymap handling library for XKB keyboard descriptions, keyboard state, Compose/dead keys, and keyboard-layout tooling.

### Project history

libxkbcommon reworked the classic X Keyboard Extension concepts into a library API for clients, toolkits, compositors, and other system components. The project documentation says it processes XKB keymaps while omitting some legacy features, and the repository credits Dan Nicholson for early work getting xkbcommon started.

The 2020-09 libxkbcommon 1.0.0 announcement states that the first commit was on 2009-01-13 and that the first release with the present API was on 2012-10-24. Release notes then show the project moving through the 1.x line with continued API, tools, build-system, and keymap-format work.

### Adoption history

libxkbcommon became central to Wayland because compositors, toolkits, and applications need to translate key events into characters and actions without relying on the X server as the keyboard interpreter. The documentation explicitly describes it as the standard keymap handling library on Wayland.

It also remained useful to X11 clients through the xkbcommon-x11 module, making it a bridge between old XKB data and newer compositor-centered desktop stacks.

### How it is used

Developers use libxkbcommon to compile keymaps, track keyboard state, handle Compose sequences, and inspect layouts. Users see it indirectly through desktop environments and toolkits, while packagers also ship xkbcli tools such as compile-keymap, how-to-type, interactive-wayland, interactive-x11, and list.

### Why package nerds care

libxkbcommon is a load-bearing desktop plumbing package: boring until it is missing, then every keyboard layout, dead key, and Wayland compositor path becomes suspect. It is also a rare case where a compatibility library helped define the practical boundary between X11 inheritance and Wayland-native behavior.

### Timeline

- 2009-01-13: First xkbcommon commit, according to the 1.0.0 announcement.
- 2012-10-24: First release with the present API, according to the 1.0.0 announcement.
- 2013-04-01: libxkbcommon 0.3.0 appears in the project's release notes.
- 2020-09-05: libxkbcommon 1.0.0 released.
- 2025-08-08: libxkbcommon 1.11.0 introduced XKB_KEYMAP_FORMAT_TEXT_V2 for long-standing XKB ecosystem issues.

### Related projects

- Related projects include Wayland compositors, Xorg/X11 clients, xkeyboard-config, libX11 Compose data, libxcb, xorgproto, and desktop toolkits that process keyboard input.

### Sources

- <https://github.com/xkbcommon/libxkbcommon>
- <https://lists.freedesktop.org/archives/wayland-devel/2020-September/041596.html>
- <https://xkbcommon.org/doc/current/>
- <https://xkbcommon.org/doc/current/release-notes.html>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libxkbcommon
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - libxkbcommon-dev - 1.7.0-2: normalized package name match | Debian stable package indexes: libxkbcommon-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library interface to the XKB compiler - development files | https://www.xkbcommon.org/
- Debian apt - libxkbcommon-doc - 1.7.0-2: normalized package name match | Debian stable package indexes: libxkbcommon-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library interface to the XKB compiler - documentation | https://www.xkbcommon.org/
- Debian apt - libxkbcommon-tools - 1.7.0-2: normalized package name match | Debian stable package indexes: libxkbcommon-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library interface to the XKB compiler - tools | https://www.xkbcommon.org/
- Debian apt - libxkbcommon-x11-0 - 1.7.0-2: normalized package name match | Debian stable package indexes: libxkbcommon-x11-0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library to create keymaps with the XKB X11 protocol | https://www.xkbcommon.org/
- Debian apt - libxkbcommon-x11-dev - 1.7.0-2: normalized package name match | Debian stable package indexes: libxkbcommon-x11-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library to create keymaps with the XKB X11 protocol - development files | https://www.xkbcommon.org/
- Debian apt - libxkbcommon0 - 1.7.0-2: normalized package name match | Debian stable package indexes: libxkbcommon0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library interface to the XKB compiler - shared library | https://www.xkbcommon.org/
- Debian apt - libxkbregistry-dev - 1.7.0-2: normalized package name match | Debian stable package indexes: libxkbregistry-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library to query available RMLVO - development files | https://www.xkbcommon.org/
- Debian apt - libxkbregistry0 - 1.7.0-2: normalized package name match | Debian stable package indexes: libxkbregistry0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library to query available RMLVO | https://www.xkbcommon.org/
- Nix - libxkbcommon: normalized package name match | nixpkgs package indexes: libxkbcommon from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - libxkbcommon-dev - 1.6.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libxkbcommon-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | library interface to the XKB compiler - development files | https://www.xkbcommon.org/
- Ubuntu apt - libxkbcommon-doc - 1.6.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libxkbcommon-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | library interface to the XKB compiler - documentation | https://www.xkbcommon.org/
- Ubuntu apt - libxkbcommon-tools - 1.6.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libxkbcommon-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | library interface to the XKB compiler - tools | https://www.xkbcommon.org/
- Ubuntu apt - libxkbcommon-x11-0 - 1.6.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libxkbcommon-x11-0 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | library to create keymaps with the XKB X11 protocol | https://www.xkbcommon.org/
- Ubuntu apt - libxkbcommon-x11-dev - 1.6.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libxkbcommon-x11-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | library to create keymaps with the XKB X11 protocol - development files | https://www.xkbcommon.org/
- Ubuntu apt - libxkbcommon0 - 1.6.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libxkbcommon0 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | library interface to the XKB compiler - shared library | https://www.xkbcommon.org/
- Ubuntu apt - libxkbregistry-dev - 1.6.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libxkbregistry-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | library to query available RMLVO - development files | https://www.xkbcommon.org/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Matched curated package taxonomy and local package facts.
- [bison](https://www.automicvault.com/pkg/brew/bison/) - Build dependency declared by Homebrew.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [foot](https://www.automicvault.com/pkg/brew/foot/) - Popular package that depends on this formula.
- [rofi](https://www.automicvault.com/pkg/brew/rofi/) - Popular package that depends on this formula.
- [wtype](https://www.automicvault.com/pkg/brew/wtype/) - Popular package that depends on this formula.
- [xdotool](https://www.automicvault.com/pkg/brew/xdotool/) - Popular package that depends on this formula.
- [kanata](https://www.automicvault.com/pkg/brew/kanata/) - Shares av.db curated category or tags: cli, input, keyboard, system.
- [kanata-tray](https://www.automicvault.com/pkg/brew/kanata-tray/) - Shares av.db curated category or tags: cli, input, keyboard, system.
- [kbt](https://www.automicvault.com/pkg/brew/kbt/) - Shares av.db curated category or tags: cli, input, keyboard, system.
- [xkbcomp](https://www.automicvault.com/pkg/brew/xkbcomp/) - Shares av.db curated category or tags: cli, keyboard, system, x11, xkb.
- [xmodmap](https://www.automicvault.com/pkg/brew/xmodmap/) - Shares av.db curated category or tags: cli, input, keyboard, system, x11.
- [showkey](https://www.automicvault.com/pkg/brew/showkey/) - Shares av.db curated category or tags: cli, input, keyboard, system.
- [bdftopcf](https://www.automicvault.com/pkg/brew/bdftopcf/) - Shares av.db curated category or tags: cli, system, x11.

## Combined YAML source

View the package source record on GitHub. [combined/libxkbcommon.yml](https://github.com/automic-vault/db/blob/main/combined/libxkbcommon.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
