# Install xinput with Homebrew, apk, apt, dnf, MacPorts, Nix, zypper

Utility to configure and test X input devices. Version 1.6.4 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:xinput
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xinput
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xinput
```

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

### Linux

- apk (92%):

```sh
sudo apk add xinput
```

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

- Debian apt (92%):

```sh
sudo apt install xinput
```

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

- dnf (92%):

```sh
sudo dnf install xinput
```

  Evidence: Fedora Rawhide package metadata: xinput 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#xinput
```

  Evidence: nixpkgs package indexes: pkgs/by-name/xi/xinput/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install xinput
```

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

## Package facts

- **Package key:** brew:xinput
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xinput>
- **Version:** 1.6.4
- **Source summary:** Utility to configure and test X input devices
- **Homepage:** <https://gitlab.freedesktop.org/xorg/app/xinput>
- **Repository:** <https://gitlab.freedesktop.org/xorg/app/xinput>
- **Upstream docs:** <https://www.x.org/releases/X11R7.5/doc/man/man1/xinput.1.html>
- **License:** MIT
- **Source archive:** <https://www.x.org/pub/individual/app/xinput-1.6.4.tar.xz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- xinput (cli)
- xinput (alias)

## Dependencies

- libx11
- libxext
- libxi
- libxinerama
- libxrandr

## Build dependencies

- pkgconf
- xorgproto

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, monterey, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.6.4
- Local data: ok
- Upstream repository: https://gitlab.freedesktop.org/xorg/app/xinput
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

xinput is the X.Org command-line utility for inspecting, testing, and changing X Input extension devices. It is the terminal user's bridge to X11 keyboards, mice, touchpads, tablets, buttons, valuators, feedbacks, properties, and XI2 event testing.

### Project history

The xinput manpage records a 1996-1997 copyright for Frederic Lepied, with later authors including Philip Langdale, Peter Hutterer, Julien Cristau, Thomas Jaeger, and others. That places the utility in the X Input extension lineage: a CLI companion to the protocol/library work that let X clients distinguish devices beyond the core keyboard and pointer.

The underlying X Input Extension was created to support additional input devices beyond the pointer and keyboard defined by the core X protocol. X Input 2 changed the model again: the XI2 specification lists the initial XI2 protocol release in October 2009, smooth scrolling/raw-event changes in December 2011, and multitouch support in March 2012. xinput's `--test_xi2` and property commands expose that newer input stack to users and maintainers.

### Adoption history

xinput became a standard troubleshooting and configuration tool for X11 desktops because input hardware became more complex than a keyboard and three-button mouse. Touchpads, tablets, external mice, button remaps, acceleration settings, device enable/disable state, and driver properties all created a need for a scriptable inspection tool.

Its adoption is mostly operational rather than glamorous: distribution wikis, support answers, and user dotfiles use xinput to discover device ids, list properties, change button maps, test event delivery, and patch input behavior at session startup. Under Wayland/XWayland its role is narrower, but for real Xorg sessions it remains the canonical package.

### How it is used

Common commands include listing devices, querying a device's long information, listing properties, setting a property, changing a button map, switching absolute/relative mode, watching property changes, and testing events. Device arguments may be names or X ids, and properties may be names or Atom values.

Package users reach for xinput when a touchpad is too sensitive, a mouse button needs remapping, a tablet reports unexpected axes, a device needs disabling for a session, or an X client is not receiving expected input events. It is both an everyday workaround tool and a developer diagnostic for the X Input extension.

### Why package nerds care

xinput matters because it packages a complicated display-server protocol into a small CLI that can be pasted into bug reports and startup scripts. That is exactly the sort of utility package that keeps old subsystems maintainable.

It also marks the transition from the core X pointer/keyboard model to modern multi-device input. XI2 concepts such as device hierarchy, raw events, smooth scrolling, and multitouch are abstract protocol features; xinput is how many users first see them as concrete device ids and properties.

### Timeline

- 1996-1997: the xinput manpage records Frederic Lepied's copyright.
- 2008: later xinput authorship/copyright credits include Philip Langdale.
- 2009-10: X Input Extension 2.0 is initially released, according to the XI2 protocol specification.
- 2011-12: XI2.1 adds new raw event behavior and smooth scrolling support.
- 2012-03: XI2.2 adds multitouch support.
- 2018-07-29: the xorg/app/xinput project appears in freedesktop.org GitLab metadata.

### Related projects

- libXi is the X Input extension client library documented by X.Org.
- The X Input Extension and XI2 protocol are the underlying protocol layers xinput exercises.
- Xorg is the server whose input devices and properties xinput queries and changes.
- xinput-gui is a small graphical wrapper around xinput for users who want immediate property editing.

### Sources

- <https://gitlab.freedesktop.org/api/v4/projects/xorg%2Fapp%2Fxinput>
- <https://gitlab.freedesktop.org/xorg/app/xinput>
- <https://xorg.freedesktop.org/archive/X11R7.5/doc/man/man1/xinput.1.html>
- <https://xorg.freedesktop.org/archive/X11R7.7/doc/inputproto/XI2proto.txt>
- <https://xorg.freedesktop.org/releases/X11R7.7/doc/libXi/inputlib.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

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

## Other Package-Manager Records

- Debian apt - xinput - 1.6.4-1: normalized package name match | Debian stable package indexes: xinput from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Runtime configuration and test of XInput devices
- Nix - xinput: normalized package name match | nixpkgs package indexes: pkgs/by-name/xi/xinput/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - xinput - 1.6.4-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: xinput from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Runtime configuration and test of XInput devices
- apk - xinput - 1.6.4-r2: normalized package name match | Alpine Linux edge package indexes: xinput from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Utility to configure and test XInput devices | https://xorg.freedesktop.org/
- apk - xinput-doc - 1.6.4-r2: normalized package name match | Alpine Linux edge package indexes: xinput-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Utility to configure and test XInput devices (documentation) | https://xorg.freedesktop.org/
- dnf - xinput - 1.6.4-6.fc44: normalized package name match | Fedora Rawhide package metadata: xinput from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Utility to query X Input devices | https://www.x.org
- zypper - xinput - 1.6.4-1.9: normalized package name match | openSUSE Tumbleweed package metadata: xinput from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Utility to configure and test X input devices | https://xorg.freedesktop.org/
- MacPorts - xinput: normalized package name match | MacPorts ports tree: x11/xinput/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 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.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [libxcvt](https://www.automicvault.com/pkg/brew/libxcvt/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [libxpm](https://www.automicvault.com/pkg/brew/libxpm/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [mkfontscale](https://www.automicvault.com/pkg/brew/mkfontscale/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [xauth](https://www.automicvault.com/pkg/brew/xauth/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [xcursorgen](https://www.automicvault.com/pkg/brew/xcursorgen/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [xdpyinfo](https://www.automicvault.com/pkg/brew/xdpyinfo/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [xeyes](https://www.automicvault.com/pkg/brew/xeyes/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [xinit](https://www.automicvault.com/pkg/brew/xinit/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [quartz-wm](https://www.automicvault.com/pkg/brew/quartz-wm/) - Local package facts share a topical domain. Shared terms: cli, libx11, libxext, libxinerama, libxrandr.
- [xmodmap](https://www.automicvault.com/pkg/brew/xmodmap/) - Local package facts share a topical domain. Shared terms: cli, input, libx11, system, x11.

## Combined YAML source

View the package source record on GitHub. [combined/xinput.yml](https://github.com/automic-vault/db/blob/main/combined/xinput.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
