[ANNOUNCE] libinput 1.7.901

Peter Hutterer peter.hutterer at who-t.net
Mon Jun 19 00:13:52 UTC 2017

The first RC for libinput 1.8 is now available.

The biggest change in this release is that libinput has switched to meson as
primary build system, the 1.8.x releases are the last ones to support (and
be released with) autotools so you're encouraged to start switching your
build processes over to meson.

The second big change that is user-visible is that we have switched to a
git-like approach to handling the helper tools for libinput. The previously
installed tools of libinput-debug-events and libinput-list-devices are now
"libinput debug-events" and "libinput list-devices", respectively. For
the 1.8.x releases compat-wrappers are in place.

On the actual feature side it's not huge, several features I was hoping
would make it into 1.8 didn't get done or didn't get tested enough, so they
will wait until 1.9. Nonetheless, there are quite a few changes:

Tablet stylus events now average across multiple events to stop the wobbly
lines previously produced by libinput (well, by the sensors but libinput
just used to forward them as-is).

On touchpads that provide MT_TOOL_PALM, i.e. in-kernel/in-firmware palm
detection we now honor that bit and treat that touch as palm.
The touchpad touch pressure ranges have moved into a hwdb entry, so adding
new ranges doesn't require recompilation. This is already available in the
1.7.x releases.

Tapping has seen some fixes for previously broken timestamps in the
multi-tap use-cases.

The lid switch handling now uses a udev property to tell us whether a
keyboard is external or internal. Together with some improved state
tracking it should make the lid switch handling more reliable on devices
where the lid switch is broken. The property is also used for
disable-while-typing which makes it easier to special-case hardware.

A bit of work has gone into the test suite as well, it's now a bit more
resilient and, more importantly, down to about 6.5 minutes.

As usual, the git shortlog is below.

Benjamin Tissoires (2):
      lid: track the notifier initial state internally, but not externally
      lid: setup the keyboard notifier when pairing it

Eric Engestrom (1):
      evdev: replace null sentinel with ARRAY_SIZE

Gabriel Laskar (3):
      util: use offsetof in container_of
      udev/hwdb_parser.py: use python3 from env instead of /usr/bin
      util: harmonize container_of() definition with linux kernel one

Marcos Paulo de Souza (1):
      touchpad: make use of use tp_for_each_touch

Nate Graham (1):
      Fix build instructions for openSUSE

Paul Kocialkowski (6):
      udev: Remove unused Elantech touchpad model binding
      udev: Select more generic pressure range values for Elantech touchpads
      udev: Add specific pressure range for the ASUS ZenBook UX21E
      udev: Add support for device-tree-based model selection
      udev: Add generic pressure range values for I2C Elan touchpads
      udev: Add specific pressure range for the Chromebook R13 CB5-312T

Peter Hutterer (137):
      touchpad: add touchpad pressure state debugging to debug output
      tablet: drop unnecessary call to reset the changed axes
      tablet: remove unnecessary out-of-proximity check
      tablet: reshuffle the event sending code
      tablet: move definition of tablet_axes down
      tablet: add a motion history
      tablet: move delta processing down
      tablet: move the axis transforms to the end
      tablet: reshuffle device axis updates
      table: move custom rotation handling into a helper function
      tablet: split point vs delta handling up
      tablet: add assert that deltas are always 0
      tablet: reset delta and changed axes as soon as we send them
      tablet: add axis smoothing
      tools: use 'required_argument'/'no_argument' for getopt_long
      evdev: fix typo in log message
      test: drop unused variable
      test: align litest output messages
      test: add color to litest verbose output
      test: detect linebreaks in log messages
      test: highlight the various state machines with colors
      touchpad: don't try to unhover touches in NONE state
      test: fix udev rule for click count device
      test: unset MOUSE_DPI for the apple magic mouse
      udev: set size hint for the Apple Magic Trackpad
      tablet: remove useless self-assignment
      configure.ac: drop auto-detection of features
      doc: drop superfluous </pre> tag
      tools: fix typo in list-devices man page
      tools: update man page for debug-events --show-keycodes flag
      touchpad: move edge palm detection into a helper too
      touchpad: make palm detection logging a bit easier
      touchpad: always enable trackpoint palm detection
      touchpad: move edge palm init to separate helper
      touchpad: add helper function for stopping current actions
      touchpad: add MT_TOOL-based palm detection
      doc: link the seats doc from the seat udev properties
      evdev: improve default scroll button detection
      Add doc to discourage use of libinput_device_get_output_name()
      Rename README to README.md, include properly from doxygen
      configure.ac: move some checks out of the libwacom section
      configure.ac: quote the xyes for the libunwind check
      touchpad: move the pressure range to a hwdb entry
      doc: add documentation for touchpad pressure detection
      touchpad: drop the unused touchpad_model enum
      doc: add a faq for synclient/syndaemon
      touchpad: fix the button timestamps for double/tripletap
      test: enable drag lock for multitap tests
      touchpad: send multitap button events with the correct timestamps
      touchpad: for 2/3-finger tap, use the last finger down as press time
      touchpad: add touch state debugging helper
      Put a check in to make sure our events have correct timestamps
      doc: document the event timestamps
      doc: fix doxygen group for libinput_event_tablet_pad_get_time
      lid: fix some indentation
      test: undef ck_assert_double before redefining it
      test: fix compiler warning
      doc: update build instructions for lack of autodetection
      Rename man pages to .1 suffix for meson's benefit
      doc: drop the explicit input from the doxygen.in
      test: allow running the symbols-leak-test.in script directly
      configure.ac: drop checks for a few flags
      test: switch from #ifdef to #if HAVE_LIBUNWIND
      Add meson.build file
      doc: add build instructions for meson
      util: add asserts with useful error messages to catch uninitialized lists
      touchpad: remove the lid switch listener on device_removed
      lid: remove the keyboard listener on remove and re-init the listener
      test: disable coredumps during test suite runs
      test: suppress Python3 valgrind errors
      util: drop GCC specifics for container_of
      util: fix container_of() macro
      Fix va_start compiler warning
      Ensure enums are size int
      touchpad: pull the tap exclusion zone down to the full edge zone
      meson: add missing trailing slash to udev test path
      test: install the litest device groups file
      Include config.h from event-debug.c
      test: don't use ck_abort_msg outside of test runs
      test: make the initial copy file error messages more sensible
      tools: drop libshared.la
      tools: rename a source file to match the future common file name paradigm
      tools: add a 'libinput' tool
      tools: hook libinput-debug-events into the libinput tool
      meson: define the various files litest needs to copy rules/hwdb in place
      Remove write-only CYAPA model tag
      test: fix a lid test
      test: tighten the wakeup-on-key lid test
      lid: add a comment for why we post the switch state there
      lid: tighten the lid-keyboard pairing
      lid: force the lid to open when the keyboard device is removed
      Revert "lid: force the lid to open when the keyboard device is removed"
      tools: fix return codes on failure
      tools: fix minor coding style issue
      test: make sure we search for event node, not the parent input device
      test: add an extra assert into litest_wait_for_event_of_type
      test: tighten some test cases
      test: drop two superfluous empty queue checks
      evdev: hook up the libevdev log handler
      test: don't leak test warnings to stdout
      test: limit the wait_for_event timeout to 2s
      test: remove unused litest_handle_events
      meson: drop LITEST_VERBOSE environment variable
      meson: add a test setup for valgrind
      tools: drop event-debug
      tools: switch the libinput tool to be an exec-ing tool
      Fold the event-gui into the libinput tool
      tools: tidy up the usage() for the tools a bit
      doc: update for the new libinput tool
      tools: Reinstate libshared.la and add it to meson.build too
      tools: make the libinput tool usage static
      tools: split the install_man() up for better grouping of tools
      tools: link to the online documentation from the libinput(1) man page
      Add tv2us helper function
      tools: add "libinput measure touchpad-tap"
      tools: man page cleanup - lowercase all command names
      tools: escape all dashes in man pages (for commands and options)
      configure.ac: require libevdev 1.3 or later
      tools: link libinput.la for libshared.la
      tools: fix linker error with the debug-gui
      test: remove unused devices field from struct test
      test: use unique names for all the test suite names
      test: localise the open/close function counter in the path tests
      tools: point out that measuring taps may be different to what libinput sees
      tools: add missing toffset copy from src to dest while duplicating
      tools: free the tap data on error
      test: decouple our tests/test suites from the ones used by check
      doc: add a short blurb regarding lid switch handling
      tools: update the publish-doc tool to use ninja
      doc: update building notes with the bug to ninja vs ninja-build on Fedora
      doc: use the same formatting for the gcc command as for everything else
      tools: note that the touchpad-tap measuring tool picks a touchpad
      Remove vestiges of the event-gui
      gitignore: drop test/test-* pattern
      tools: grab the pointer in the debug gui
      configure.ac: libinput 1.7.901

git tag: 1.7.901

MD5:  018d64b223255715bb0ce48d6aed498d  libinput-1.7.901.tar.xz
SHA1: 155f6aebfa9c36018989728e01dc4e464f31bef9  libinput-1.7.901.tar.xz
SHA256: e0d0df5c81d34ee8cf69ec9a295491ab550b8788aa482b18bcd1909eb22a59ea  libinput-1.7.901.tar.xz
SHA512: 651e60ded37c52d365af8b4279fbc8da91e37ab93c2ee248580994e5257a85e04de9a8e5daf8b021244783cae582fec74109870f7090a289d66bc4e11ebd4b34  libinput-1.7.901.tar.xz
PGP:  https://www.freedesktop.org/software/libinput/libinput-1.7.901.tar.xz.sig

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20170619/0821cce2/attachment.sig>

More information about the wayland-devel mailing list