libinput is a library to handle input devices in Wayland compositors and to provide a generic X.Org input driver. It provides device detection, device handling, input device event processing and abstraction so minimize the amount of custom input code compositors need to provide the common set of functionality that users expect.

This wiki page provides high-level information, documentation about libinput's API and examples are available in the API documentation.

As of the 0.12 release, the API/ABI is stable. Future releases will add to it but not remove symbols.


git Repository

  • git://
  • ssh://

cgit Web Frontend


Feature-specific documentation

Feature-specific documentation is available in the Related Pages section of the API documentation.

A note on feature requests


Source tarballs are available


Development and discusssion of libinput happens on the mailing list. Please submit patches to this list as well.

Reporting Bugs

libinput has a bugzilla component under the Wayland product Bugzilla

Note that in almost all cases we require an evemu recording from the device. This will allow us to reproduce the bug locally, making fixing the issue a lot simpler and quicker.

X.Org libinput driver

The X.Org libinput driver is a thin wrapper around libinput and allows for libinput to be used for input devices in X. This driver can be used as as drop-in replacement for evdev and synaptics. Simply build and install in your $PREFIX, then install the config file in /etc/X11/xorg.conf.d/. Restart X and the libinput driver will take over your devices.