[ANNOUNCE] libinput 1.8.901

Peter Hutterer peter.hutterer at who-t.net
Wed Sep 27 06:03:45 UTC 2017

The first RC for libinput 1.9 is now available.

The 1.9 development cycle added quite a few new features so expect
libinput's behaviour to have changed, ideally for the better.

The autotools build system is no more, we are now using meson exclusively.
Building and installing libinput is now usually running
   meson builddir && ninja -C builddir install
More detailed build instructions are available here:

Touchpads can now use pressure-based palm detection if the hardware supports
it. A new tool "libinput measure touchpad-pressure" is available to measure
the presure values for your touchpad. This should be stored in a hwdb entry.
If your touchpad doesn't have an entry yet please file a bug with the
tool's output attached so we can make this work for everyone.

On touchpads with ABS_MT_TOUCH_MAJOR/MINOR we can now use those for touch
detection (especially if per-touch pressure is not available). The Apple
touchpads already use this but unfortunately the values are basically random
and every touchpad needs a custom hwdb entry. Please use the
"libinput measure touch-size" tool to find out the right thresholds and file
the required bugs.

Touchpads now ignore extra fingers while the pointer-controlling finger
is moving. This avoids accidentally triggering two-finger scrolling when
lightly touching the touchpad or placing a thumb on the touchpad while

Trackpoints ("pointingsticks", "that red thing between g and h") have had
their pointer acceleration re-done. The new approach basically punts
most of the acceleration curve to the firmware to avoid unexpected
double-acceleration. libinput merely applies a more-or-less linear factor on
top of that curve based on a device-specific range. As the two items
above, the range is hardware specific and needs a per-device entry. The tool
to measure this is "libinput measure trackpoint-range".

Pointer devices now have button debouncing automagically enabled. 
Ghost button release/press events due to worn out or bad-quality switches
are transparently discarded and the device should just work.

The tablet-mode switch on hybrid laptop/tablet devices (e.g. Lenovo Yoga)
now disables the touchpad, trackpoint and internal keyboard to avoid fake
touches when the tablet is placed on a lap or just held with the fingers
on those devices.

Aside from those main features, the usual bunch of fixes, cleanups,
unicorns, etc.

As usual, the git shortlog is below

Hans de Goede (2):
      filter: Add timestamp smoothing support
      touchpad: Enable timestamp smoothing support for bluetooth touchpads

Ming-Yang Lu (1):
      touchpad: add upper edge into exclusion zone

Peter Hutterer (114):
      touchpad: increase palm edge zones to 8%
      touchpad: add pressure-base palm detection
      tools: add a tool to measure touch pressure
      udev: add custom pressure range for Dell Latitude E6620
      touchpad: send a left button event when we move out of topbuttons and click
      Drop autotools
      meson: fix build with --libwacom=false
      doc: expand on the meson build instructions
      doc: move the autotools instructions into their own section
      doc: fix a few typos
      doc: update the soname, remove the warning
      test: remove failing thumb edge scroll test
      test: stop changing argv[0] for forked tests
      test: add missing check for an empty queue to the palm detection test
      test: fix some tap palm detection tests
      test: skip double-initialization of all_tests lists
      touchpad: sync the slot state after tp_resume()
      tools: remove unnecessary full stop in man page
      udev: cleanup hwdb parsing
      udev: fix flake8 style warnings
      tools: change python sources to use space indentation
      tools: fix flake8 Python style warnings
      Fix a few things scan-build complains about
      Add support for CircleCI
      util: drop an unnecessary declaration
      timer: add a timer name to each timer
      touchpad: set keyboard to non-active when the keyboard is removed
      test: force-release major/minor on the default touch up
      test: loosen up litest to allow major/minor handling
      util: rename the pressure range parser to a more generic range_parser
      touchpad: add touch-size based touch handling
      touchpad: add touch-size-based palm detection
      tools: add a tool to measure touch size and orientation
      doc: add a line break
      Abort if zalloc ever fails
      Replace calloc calls with zalloc
      Add safe_strdup()
      test: silence a coverity warning
      tools: add an extra linebreak in the tap measuring tool
      test: drop an unnecessary wait for event
      tools: add a command to analyze trackpoints
      filter: add a custom trackpoint accelerator
      trackpoint: drop handling of CONST_ACCEL and undo SENSITIVITY
      trackpoint: parse a trackpoint range property
      evdev: recover from a lost button count
      timer: if a timer is inactive, do not call the timer func
      timer: always restart the timer loop when we called one of them
      pointer: add button debouncing
      lid: disable all types but EV_SYN and EV_SW
      gestures: don't try to pinch for nfingers > slots
      evdev: disable evdev event debugging again
      test: when restoring the log handler to defaults, also restore log priority
      test: fix typo in test case name
      udev: update pressure range for Dell Latitude E6620
      test: expose litest_create() to test cases
      Add support for LIBINPUT_IGNORE_DEVICE
      test: fix pad ring test for small pad ranges
      evdev: accept accelerometers if they are tagged as other devices too
      test: add a test for removing a touch device with a finger still down
      test: fix indentation for palm touch size test
      test: fix the litest_touch_move_to() step counter
      touchpad: ignore thumbs during edge scrolling
      touchpad: store the time in the motion history
      touchpad: use motion speed to ignore accidental 2fg touches
      test: rename test-lid.c to test-switch.c
      test: make the lid action helper function a generic switch action helper
      touchpad: rename the lid_switch_listener to just listener
      evdev: remove unused argument from evdev_tag_lid_switch
      tools: restore option handling for the debug gui
      evdev: remove declarations for two nonexistent functions
      test: rename 'sw' to 'dev' for the lid tests
      test: add test for switch capability
      test: make some of the switch tests more generic
      Add libinput_device_switch_has_switch()
      tools: remove a leftover debug printf statement
      evdev: move lid code to the fallback interface
      Add support for SW_TABLET_MODE
      touchpad: if a device has a tablet mode switch, disable the touchpad
      util: add a safe_atoi_base() function
      udev: move the EKR into the parent's device group
      filter: don't allow an accel factor of 0 on the flat profile
      Add helper function for time to timeval conversion
      tools: add --disable-sendevents option to the debug-events/debug-gui tools
      touchpad: don't resume a disabled touchpad
      evdev: remove duplicate device name in log message
      test: remove leftover sleep() for debugging in lid switch test
      tablet: add a quirk for the HUION PenTablet that doesn't send proximity out events
      tablet: support tablet devices without BTN_TOOL_PEN
      evdev: drop unused enum value DISPATCH_LID_SWITCH
      evdev: drop unused #define DEFAULT_TRACKPOINT_ACCEL
      evdev: add a comment to the toggle_touch interface
      include: sync linux kernel header files with 4.12
      evdev: update key type check for new key defines
      tablet: always enable the no-proximity-out quirk on HUION tablets
      timer: flush the timer funcs if our events come in late
      test: fix the 'all codes' keyboard device
      test: drop obsolete semi-mt allocation for the atmel hover device
      test: add missing newline to an error message
      test: switch to a TEST_DEVICE macro for all the litest test devices
      test: fix no-device test name handling
      test: fix test listing
      test: fix no-device test name handling
      test: fix test listing
      fallback: allow for multiple keyboards to toggle the lid switch
      evdev: change prefix on some fallback-only methods
      Use named initializers for the various dispatch interfaces
      evdev: abstract the get_switch_state method
      evdev: rename evdev_key_type to just key_type
      fallback: move the fallback code into a separate file
      touchpad: invert an if condition to allow for early return
      fallback: add 'interface' to the fallback interface's method names
      fallback: suspend internal keyboards and trackpoints on tablet-mode switch
      test: if we're not root, return with status 77
      libinput 1.8.901

Philip Withnall (2):
      build: Add -Iinclude to libinput and its tools
      build: Add -Iinclude to unit tests

Ronald Tschalär (1):
      touchpad: Allow larger palm sizes.

git tag: 1.8.901

MD5:  f7d69225fec510ec829b71bc148d23b3  libinput-1.8.901.tar.xz
SHA1: 7fa01cc2cba8d8887666d4d6757085fa7d1639b9  libinput-1.8.901.tar.xz
SHA256: 33d510b52fc8b4faf32f53df5efc9cd5cb99eb791305f57aa98d89005857ff89  libinput-1.8.901.tar.xz
SHA512: cae85d300af1dc898847c67b4f10a1871c9c752645cae8cfbd04d8430ebad1aceba1f0102628ff8a005044df56201dbfaa946d8672a4f02bd84dbe8cdddaec7c  libinput-1.8.901.tar.xz
PGP:  https://www.freedesktop.org/software/libinput/libinput-1.8.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/20170927/7ebb72a1/attachment.sig>

More information about the wayland-devel mailing list