Home

libinput

Libinput is an open-source input device handling library for Linux. It provides a unified API for keyboards, pointers, touchpads, touchscreens, and other input devices, with a focus on use by Wayland compositors. It is also used by the X.Org project through the libinput X driver, enabling X11 environments to benefit from libinput’s input management.

Libinput obtains raw events from the kernel via the evdev interface, using libudev to detect devices. It

Key capabilities include multitouch tracking, gesture recognition (including taps, and two- and three-finger gestures), natural scrolling,

Development and ecosystem: Maintained by the freedesktop.org community as part of the Wayland ecosystem. It is

normalizes
device-specific
quirks,
applies
calibration
and
filtering,
and
exposes
high-level
events
to
clients.
The
API
is
designed
for
use
by
compositors
and
input-aware
applications,
delivering
events
such
as
motion,
button
presses,
scrolling,
and
touch
activity,
as
well
as
multitouch
and
gesture
data.
palm
detection,
and
device
hotplug
handling.
Libinput
also
supports
device
reconfiguration,
rotation,
and
calibration,
and
provides
facilities
for
enabling
or
disabling
devices
and
customizing
behavior
via
configuration
files
or
runtime
options.
widely
integrated
into
major
Wayland
compositors
such
as
Weston,
GNOME
Shell
(Mutter),
and
KDE
(KWin).
Libinput
ships
with
tooling
for
debugging
and
device
inspection
and
offers
bindings
for
languages
beyond
C
in
some
projects.