[ANNOUNCE] libinput 1.11.901

Peter Hutterer peter.hutterer at who-t.net
Mon Jul 30 07:38:12 UTC 2018


The first RC for libinput 1.12 is now available.

First a heads-up, this is probably going to be a longer RC cycle than usual
which is why I'm getting an RC out very soon after the 1.11 release. But
we're accumulating a few big changes and I really need testing feedback.
Expect there to be more (but smaller) features to come, but right now it's
time to test the big changes.

In terms of notable features, the udev hwdb handling has been removed in
favour of a libinput-specific quirks system. Quirks are just entries in .ini
files so from a functional perspective nothing much changes. The advantages
are more obvious matching and easier debugging when something doesn't match.
The new "libinput quirks" tool is your go-to tool here. As usual the
documentation has more information:
https://wayland.freedesktop.org/libinput/doc/latest/device-quirks.html

Speaking of documentation: fresh off the presses is the conversion to
sphinx with the ReadTheDocs theme. You are invited to marvel and go all
"oooh, ahhh" at the new look. Fixing the leftovers from the conversion and
polishing the docs is high priority but will take a while. As for everything
else, any help would be much appreciated.

We now build successfully on FreeBSD, I'm assuming this also means libinput
works under BSD ;) Many thanks to Greg for his porting work here.

Trackpoints were a focus this cycle, the previous acceleration method (1.8
and later) was simply broken and assumed data that (at least my) trackpoints
were not able to provide. The new methods is similar to the pre-1.8 versions
and features a magic multiplier. This is a quirk entry on a per-device basis
to bring the trackpoint motion into a sane value range. Unfortunately this
means previously assigned TRACKPOINT_RANGE properties are obsolete, if your
trackpoint had a different speed before please look at the documentation for
more info and how to fix it:
https://wayland.freedesktop.org/libinput/doc/latest/trackpoints.html
I can't stress this enough: please test this! Virtually all pointer
acceleration work so far happened in a feedback-less void which is both
terrifying and terrifyingly sad. If you have stakes in the game, help out!

Konstantin fixed a long-standing bug with touchpads that caused inadvertent
small motion on finger down/up. This improves precision pointing because it
removes that little a-few-pixel motion that often came on finger up.

Touchpads now support thumb detection via pressure thresholds, where
available. Like the pressure-based palm detection this requires that a
pressure threshold is defined and that the touchpad supports pressure.
Size-based thumb detection is currently being worked on but not merged yet.

As you would've noticed from the 1.11.x releases, we're on
gitlab now. Benjamin did quite a bit of work hooking up the GitLab CI
infastructure - we're now building everything on Fedora, Ubuntu, Arch (and
cross-compiling for FreeBSD). In addition we test the various build time
options, so that hopefully eliminates a whole set of bugs before they hatch.

Bugs, if they do hatch, can be filed here:
https://gitlab.freedesktop.org/libinput/libinput/issues

Besides all the above, the usual set of fixes, minor improvements, etc.

As usual, the git shortlog is below.

Benjamin Tissoires (5):
      CI: Hook up GitLab CI
      CI: do not pull images when checking for the creation date
      CI: speed up the docker_check stage
      CI: WIP: attempt to clean up the registry before leaving
      gitlab-ci: use skopeo to check on container images

Daniel Stone (1):
      doc: Fix URLs for GitLab, HTTPS

Greg V (12):
      test: remove unused values.h include
      Import versionsort implementation from musl for systems without versionsort
      Fix include portablity (xlocale, stdlib)
      Use getprogname() when program_invocation_short_name is not defined
      test: support disabling tty on FreeBSD
      test: use simple portable sendfile
      test: ptrace compatibility with *BSD
      Add input.h for FreeBSD
      Autodetect and use libepoll-shim on FreeBSD
      Add FreeBSD (cross-compliation based) CI
      Add versionsort test
      Update FreeBSD package cache in CI

Hans de Goede (1):
      system-quirks: Add AttrTrackpointRange for Lenovo X270

Jeremy (1):
      Improve HP Chromebook 14 pressure ranges

Konstantin Kharlamov (3):
      touchpad: replace last_point with history.samples
      touchpad: ignore motion on finger-up
      libinput-private: constify inline helpers

Peter Hutterer (189):
      udev: the IBM X41 Tablet must not disable the keyboard in tablet mode
      filter: cap trackpoint scale factor at 1.0
      tools: drop the publish-doc tool
      COPYING: change a cgit to a gitlab URL
      test: make litest_copy_file copy normal files too
      test: remove created directories too
      util: add a list_append()
      util: add a safe_atou() as unsigned equivalent to safe_atoi()
      udev: remove duplicate Chromebook Falco hwdb entry
      Implement a quirks system to replace the udev property parsing
      quirks: use an empty dmi modalias string for the test suite
      quirks: allow for in-line comments
      test: install per-test device quirks files
      test: init the quirks once per test suite run
      test: switch the udev tag tests to be quirk tests
      libinput: initialize the quirks subsystem
      Switch from udev property parsing to the quirks system
      quirks: add the devicetree implementation
      Hook up list-quirks --validate for the test suite
      touchpad: don't pair external touchpads with lid/tablet mode switches
      util: add null string test handling to strv_join
      util: put limits on how many strings we join
      util: abort for a negative zalloc() size
      tools: libinput-record: put extra guard in to protect from OOB access
      circleci: drop the separate libsolv update
      meson.build: bump to 1.11.900
      Move CODING_STYLE to markdown
      tools: fix grab argument passing for libinput debug-events
      data: add pressure range/palm threshold for the Dell XPS13 9333
      meson.build: always build some tests
      test: fix the input_id struct for the ALPS touchpad
      test: fix a test device section name
      quirks: use realloc instead of reallocarray
      tools: measure touchpad-pressure: prevent division by zero
      data: re-add the IBM X41 quirk
      quirks: add MatchVersion in addition to VID/PID
      data: switch alps touchpad matching to the bus/vid/pid matching
      data: re-add the ALPS v8 size hint
      data: add ALPS v8 trackpoint range
      data: put a 'do not edit' warning into all data files
      data: add the alps firmware version LUT
      data: don't disable the keyboard on any Thinkpad Yoga models
      Remove circle.yml
      Drop the udev hwdb model quirks
      gitlab ci: use GIT_DEPTH of 1
      quirk: remove unused variable
      quirks: explicitly cast the log priority
      quirks: add more assertion to avoid API misusage
      test: pass the open mode to open(O_CREAT)
      Revert "quirks: add more assertion to avoid API misusage"
      quirks: add more assertion to avoid API misusage (v2)
      test: remove a compiler warning
      doc: point to the gitlab ci file for a list of required packages
      tools: pass a valid grab parameter to list-devices
      tools: list-devices: unref the udev device
      meson.build: add a libinput list-devices run to the test suite
      util: abort if we try to allocate more than a MB
      meson.build: add more overrides for coverity
      quirks: drop the JUMPING_SEMI_MT model
      tools: list-quirks: compress a condition
      tools: list-quirks: fix usage to read "libinput list-quirks"
      tools: list-quirks: add the thumb pressure threshold property
      data: lenovo: fix device name for the X1 Carbon 6th
      tools: list-quirks: print the value of the quirk too
      tools: list-quirks: make the output easier to parse
      tools: touchpad-pressure: switch to using quirks for pre-loading thresholds
      tools: touchpad-pressure: add thumb pressure handling
      doc: update docs to drop hwdb references
      doc: use @verbatim, not @code for shell commands
      tools: touchpad-pressure: update man page for device quirks
      tools: touch-size: update to use the device quirks
      test: fix zalloc max size tests
      tools: libinput-record: use .yml suffix in the man page
      doc: update docs to use a .yml suffix for libinput recorded files
      tools: libinput-replay: set INPUT_PROP_* properties on the device
      test: skip the test-suite runner based on SKIP_LIBINPUT_TEST_SUITE_RUNNER
      gitlab CI: run ninja test too
      test: don't require a device for quirks parsing tests
      util: use assert() instead of abort() for testing for size limits
      gitlab CI: add pkgconfig to the list
      gitlab CI: add Arch to the list of built images
      quirks: free the dt string
      test: init test quirks in /tmp, not /run
      test: if we never installed any udev files, we don't need to reload
      test: quirks: init value to avoid valgrind errors
      test: fix indentation in litest-int.h
      test: switch the global device list to a struct list
      test: add a libinput-test runner for 'deviceless' tests
      tools: fake-build the measure touch-pressure/size sources
      touchpad: don't disable tapping on MT_TOOL_PALM
      test: parse arguments before any other stuff
      tools: move printing device quirks to the shared tools lib
      tools: libinput-record: print the list of quirks
      tools: add record/replay to --help output
      doc: fix typo in pointer acceleration docs
      gitlab CI: build a release with -Werror
      fallback: cancel the debounce timers during device remove, not destroy
      GitLab CI: don't use spaces in artifact names
      tools: rename list-quirks to the more generic "quirks list"
      GitLab CI: always run ninja test unless otherwise specified
      Gitlab CI: run the tests through valgrind on the f28 box
      GitLab CI: rename MESON_PARAMS to MESON_ARGS
      doc: build doxygen output into "Documentation"
      doc: add the switches page to a "other devices" category
      test: misc: up the time limit on the ratelimit tests
      GitLab CI: move the scan-build job up in the file
      Gitlab CI: trigger the wayland web rebuild on pushes to master
      GitLab CI: only rebuild the website when pushing to libinput proper
      Switch to using files() for the doxygen input sources
      doc: drop the git version into the documentation
      tools: if the execdir is the builddir, add it to the path
      tools: quirks: if we're executing from the builddir, use the git datadir
      tools: rely on the libinput and quirks tool to pick the right directories
      tools: fake-build the other tools the same way as measure touchpad-tap
      tools: don't add the debug behavior for release builds
      doc: libinput-measure is a section, not a subsection
      doc: add a subsection on how to use libinput record --autorestart
      filter: replace the trackpoint accel with a velocity-based one
      filter: make the trackpoint accel profile func the same prototype as the others
      tools: fix units for trackpoint accel graph
      tools: reduce the trackpoint gnuplot range to 0..1 units/ms
      tools: drop the special handling for trackpoint accel, not needed anymore
      tools: make-ptraccel-graphs: drop an unnecessary outfile
      quirks: add quirks_get_double()
      filter: add a trackpoint multiplier factor
      quirks: remove the trackpoint range quirks entries
      quirks: remove the leftovers of the trackpoint range attribute
      quirks: append "Touchpad" to the various dell touchpad quirks
      data: add the dell trackpoint multipliers
      meson.build: move the directory path generation to a single section
      test: tidy up the symbols leak test
      doc: move the meson.build in as subdir()
      Gitlab CI: use a space in the meson builddir
      tap: remove unnecessary TAP_STATE_DEAD assignment
      tap: log a tap bug for release on MULTITAP_PALM
      data: add HP Chromebook 14 pressure ranges
      Rename data/ to quirks/
      test: remove unsupported events from the invalid-range touchscreen test device
      evdev: whitespace fix
      fallback: remove some if 0 code
      tools: change prototype of the builddir lookup function
      tools: setenv the quirks dir when running from the build directory
      evdev: fix the trackpoint multiplier info message
      doc: break up the "what is libinput" page with two sections
      README: add a user documentation section fairly high up
      doc: fix references to a trackpoint range in the FAQs
      doc: move the "General" section to the "Developer" section
      doc: add a section to the FAQs "is libinput required for Wayland"
      tools: always set the log handler for debug-events and debug-gui
      touchpad: don't NONE or HOVERING touches towards the touch
      tools: fix touch frame checks in the YAML verifier script
      test: add --gen-suppressions=all to the valgrind run
      Gitlab CI: properly define empty dependencies for the wayland-web hook
      doc: add a section name to seats-overview
      doc: replace <pre> with @verbatim
      doc: replace <a href> links with the doxygen markdown equivalent
      doc: fix ref to device-quirks
      doc: document the device quirks
      README: indent the links that belong to list items
      doc: indent all @note continuation lines
      doc: single ` is enough for code highlighting
      doc: reporting-bugs: use evemu-record as link text, not evemu
      doc: replace html lists with markdown ones
      doc: replace a few <b> with markdown's **
      doc: point to libinput --version
      doc: add a warning note that the reporting-bugs instructions do matter
      doc: fix the url where to file a new bug
      test: supress another bash warning
      doc: fix erroneous </dt>
      test: release a few leaking udev devices
      test: properly release a few leaking litest device
      util: fix a ubsan complaint about undefined left-shift
      doc: we don't need the Namespaces doxygen page
      tools: drop two unused imports
      doc: move the Architecture blurb to the 'what is libinput' page
      doc: copy some bits of the tablet docs to doxygen
      doc: enable warnings in doxygen
      doc: drop a few unnecessary @ref
      doc: refer to "the libinput documentation" in a few @see cases
      doc: a few replacements to make sphinx happy/prettier
      doc: device-quirks: redo the model quirks <dl> for sphinx' benefit
      doc: move the @verbatim start to the list item
      doc: split the graphs into a separate array for re-use
      Add the buildreqs for sphinx-build
      Gitlab CI: set DEBIAN_FRONTEND noninteractive for the Ubuntu images
      GitLab CI: print out the image age in seconds
      dox: switch to sphinx for the user-visible documentation
      doc/user: add a page detailing what configuration toggles are available
      libinput 1.11.901

Sergiusz Michalik (1):
      zalloc limit fix for libinput-record

git tag: 1.11.901

https://www.freedesktop.org/software/libinput/libinput-1.11.901.tar.xz
MD5:  925466c0fafa0263972cebe695c5b36a  libinput-1.11.901.tar.xz
SHA1: 267039ed7bdadf23f7519a43a0e797ed4176e237  libinput-1.11.901.tar.xz
SHA256: 6b8a8f18ae7f183fb4b6148839264355e027847a8c9360ced19cb8fe08f30f8e  libinput-1.11.901.tar.xz
SHA512: 5b20cde2f63d98a655eb8d841c128af5eb07cc355238e64b3db0e2ecda998cc8f6b9aef210f248840f88bcadc916ee7562158c672bbd23537b9bd5a80310bdcf  libinput-1.11.901.tar.xz
PGP:  https://www.freedesktop.org/software/libinput/libinput-1.11.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/20180730/45796241/attachment-0001.sig>


More information about the wayland-devel mailing list