[PATCH libinput 00/23] Revised: Tablet support in libinput

Peter Hutterer peter.hutterer at who-t.net
Wed Jun 18 17:53:33 PDT 2014

On Thu, Jun 12, 2014 at 11:28:21PM -0400, Stephen Chandler Paul wrote:
> Hello! I've done a ton of revisions and changes to the patches Carlos sent
> a little while ago to add tablet support to libinput. Feel free to let me
> know what you think.

For the archives: I've pushed those patches and a couple of other follow-up
ones to the "tablet-support" branch now. While the parts we already have to
work well enough, there's still a few bits and bobs that we need to sort out
and keeping it on a branch is easier than carrying a huge patchset around.

Anyone who wants to give it a try, feel free to to so. We'll keep pushing
tablet-related patches to this branch until we're closer to a final product.


> * Tablet events are now in their own group of events.
> * Tool update events are no longer emitted when the tool leaves proximity,
>   they have been replaced with a more specific
>   "LIBINPUT_EVENT_TABLET_PROXIMITY_OUT" event. This is similar to how X
>   handles tools going out of proximity.
> * Normalization is now done for both the tilt axes and the pressure axes.
>   Pressure is normalized from 0 to 1, and tilt is normalized from *1 to 1. All
>   of the other axes are left as-is.
> * Axis changes are now compressed into a single TABLET_AXIS_UPDATE event. The
>   event contains a bitmask of the changed axes that can be accessed with
>   libinput_event_tablet_axis_has_changed(). These bitfields are internally
>   managed using modified versions of some of the bitfield helpers from
>   libevdev.
> * During an axis update, the collected values of all of the axes are available
>   to the caller using libinput_event_tablet_axis_get_value(), regardless of
>   whether or not they actually updated.
> * Tools are now abstracted by libinput as objects. Each tool object contains
>   the tool type and the serial number of the tool. These can be retrieved with
>   libinput_tool_get_serial() and libinput_tool_get_type().
> * Tools now have ref counts and are stored internally in a list. By default,
>   every tool is destroyed at the end of an event, but if the caller wishes
>   they can increment the reference count of the tool. When this happens, the
>   tool is kept in the list and whenever that tool comes into proximity of the
>   tablet again the same object whose ref count was incremented is returned by
>   libinput.
> * Other miscellanious fixes and additions
> * Style fixes

More information about the wayland-devel mailing list