libinput repository created

Peter Hutterer peter.hutterer at
Mon Jan 27 19:48:49 PST 2014

Hi guys

after a bit of waiting time, we now have libinput in a fresh, still warm
repository on freedesktop:

libinput is the weston input handling code forked off into a library. The
goal of libinput is to provide a common code base for the various
input-device related bits we need in all compositors. There's little point
to every compositor having a separate implementation for touchpad tapping,
scrolling, etc.

Since Jonas' original announcement in November a few bits and pieces have
changed. If you haven't followed the history on Jonas' github repository,
here is a short summary:

* the API is an event-based API as opposed to the original interface API, so
  the basic interaction with libinput is libinput_dispatch() followed by
  libinput_get_event() for the actual event handling in the compositor.
  The event types are one high-level type (libinput_event) and one for each
  logical group of events (libinput_event_pointer, libinput_event_keyboard,
  ...), each of which with their own accessors.

* plenty of doxygen documentation was added, so it looks almost like a
  well-documented library now ;)

* the udev discovery code is now inside libinput, so a simple
  libinput_create_from_udev() is enough to get libinput onto the device list

* a path-based backend was added (mainly for Xorg drivers and the test
  suite) to create a context from a single device node
* a test suite was added, still needs a few more tests but it's coming along

* seat events were removed as top-level events, libinput provides device
  added/removed events and if seat information is needed it can be obtained
  from the device directly

I've collected the usual links and basic information on a small wiki page:

Note that the project is still quite young, the actual code on features not
related to transforming it to a library has changed very little so don't
expect it to behave much different to what weston already uses.

Specificially, two big bits that are currently missing are device capability
discovery (is this a touchpad? what's the x axis resolution?) and a
configuration interface (tapping enabled or disabled?). This will come over
the next weeks and months.

This email is mostly a heads-up that the project exists 'officially' now.
And we'll be using wayland-devel as the discussion and patch review list, so
expect to see a number of patches heading straight for here. Do chime in and


More information about the wayland-devel mailing list