[ANNOUNCE] libinput 1.10.901

Peter Hutterer peter.hutterer at who-t.net
Tue May 22 01:37:01 UTC 2018

The first RC for libinput 1.11 is now available.

Quite a long development cycle this time and a bunch of things have changed,
some of which have already found their way onto the 1.10.x branch. Here's
and abbreviated list of changes since the 1.10.0 release:

A new tool pair is available now: libinput record and libinput replay.
These tools supersede the evemu-record/evemu-play tools currently used to
debug events. Usage is basically the same for users, simply run
	sudo libinput record
and select your device. The biggest advantages are that we can now
record and replay multiple devices at once and interleave the output from
evdev with the one from libinput. This should make debugging a lot easier.
For more info, see 

The touchpad jitter detection code has been improved to reduce the
number of false positives. Some touchpads require the kernel fuzz setting to
be set to avoid pointer jitter though, please see this page for details:

A new touchpad acceleration code has been merged, the behavior now resembles
the pointer acceleration of macos. You will notice that your touchpad is
slower at slow speeds and accelerates sooner. At the same time, the speed
range available has been greatly extended, so the slowest speed and highest
speed are quite significantly apart now. This should, hopefully, allow all
users to select a speed to match their preferences.

The maximum delta for trackpoints has been increased, reducing the amount of
pressure required to move the pointer around the screen. We also merged a
bunch of trackpoint range hwdb entries to set the expected range for some
common devices. The POINTINGSTICK_SENSITIVITY udev property is now ignored,
instead we just read that value directly from sysfs.

A new API call is now available to fetch the number of supported touches
from a device with the LIBINPUT_DEVICE_CAP_TOUCH capability:
You can use this call to determine if the touch device is single- or
multi-touch capable.

Note to packagers: the libinput-list-devices and libinput-debug-events
compat scripts have been dropped, see commit 8a223e739b0a35e28. Revert that
one if you need to keep shipping those.

In addition to the above, we have various fixes across the board including
palm detection and thumb detection improvements, better handling of Aiptek,
HUION, etc. graphics tablets and better handling of the stylus -> touch
transition on graphics tablets.

As usual, the git shortlog is below.

Chow Loong Jin (1):

Daniel van Vugt (2):
      Introduce omnidirectional (elliptical) hysteresis
      Improve responsiveness for Apple Magic Trackpad

Davide Depau (1):
      evdev: don't suspend keyboard on ThinkPad X1 Yoga 1st in tablet mode

Deepa Dinamani (1):
      Update struct input_event

Friedrich Schöller (1):
      touchpad: fix tapping that happens after a moving thumb

Konstantin Kharlamov (3):
      indentation: add .dir-locals.el for emacs
      touchpad: remove the code for disabling hysteresis
      touchpad: add wobbling detection

Mario Di Raimondo (1):
      Fix Apple Magic Trackpad sensitivity

Maxin B. John (1):
      libinput-measure-touchpad-tap: use /usr/bin/env to invoke python3

Mike Hogye (1):
      Fix spurious palm detections for Logitech Wireless Touchpad

Nandor Han (1):
      udev: validate input devices during cold-plug

Paul Kocialkowski (1):
      udev: Fix Chromebook R13 CB5-312T hwdb name

Peter Ganzhorn (1):
      fallback: Add IBM/Lenovo Scrollpoint mice quirk to enable smooth scrolling.

Peter Hutterer (198):
      evdev: fail before open_restricted if the devnode doesn't exist
      evdev: add a quirk to disable debouncing on the MS Nano Transcievers
      test: make the mouse tool a litest feature bit
      tablet: move the quirk disabling up within tablet_init
      tablet: release the tablet state on device delete
      tablet: skip tablet_flush() if our current tool type is none
      tablet: disable BTN_TOOL_MOUSE/LENS for non-Wacom tablets
      tablet: fake a BTN_TOOL_PEN on the first event if needed
      Add a test device for aiptek tablets
      Silence coverity warning about uninitialized entry
      Don't leak when realloc fails
      udev: fix segfault when resuming before assigning a seat
      touchpad: compress a statement
      touchpad: add a touch index for debugging
      test: send major/minor for the wacom intous 5 finger device
      touchpad: only begin fake touches when we have at least one finger down
      meson: add the 221 version to the libsystemd dependency
      touchpad: reset the palm state to NONE on a new touch
      touchpad: change the stylus palm arbitration to process touches
      evdev: pass the time down to toggle_touch
      touchpad: delay arbitration by 90ms after touch toggle
      evdev: remove excessive debugging output
      tools: remove pressure copy/paste leftovers from measure touch-size
      tools: fix option parsing in libinput measure
      Whitespace fix
      udev: fix flake8-3 complaint in parse_hwdb.py
      tools: fix inverse up/down threshold handling in measure touch-size
      meson.build: bump to 1.10.900
      test: fix an incomplete comment
      touchpad: don't do speed-based thumb detection on single-touch or semi-mts
      tools: add a libinput-record tool
      tools: add a libinput-replay tool
      doc: add a section to the tools page for record/replay
      tools: add --all to libinput-record
      doc: more references to libinput-record
      test: don't run the MT pressure test on devices without MT pressure
      test: don't run the 2fg pressure test on single-touch touchpads
      touchpad: add the pressure thresholds to the debugging output
      touchpad: don't end below-threshold pressure touches if nfake_fingers > nslots
      touchpad: add a TOUCH_MAYBE_END state
      tools: fix two scan-build errors in libinput-record
      tools: remove a stray perror() in libinput-record
      touchpad: move the hysteresis into its own substruct
      test: don't use litest_is_pad_button_event for a few tests
      pad: use libwacom to get the evdev to button number mapping
      touchpad: init touch size range based on the udev property
      touchpad: enable palm detection on tablets' touchpads
      tools: add the git version in the libinput-record output
      meson: make libinput-git-version.h a source of libinput-record
      touchpad: handle a palm down in the tapped state
      meson.build: fix vcs_tag fallback argument
      tools: record udev properties in libinput-record
      fallback: fix touchscreen defuzzing
      touchpad: use the fuzz value (if any) for the hysteresis margin
      touchpad: enable hysteresis based on a 0 fuzz value
      Extract and reset the abs fuzz value for the x/y axes
      tools: add a tool to verify the yaml output from libinput-record
      tools: libinput-record: fix frame printing for multiple devices
      tools: libinput-record: drop unused 'print' argument
      tools: libinput-record: add separate variable for the first device
      touchpad: end hovering touches in maybe_end_touch
      touchpad: don't enable top palm detection on touchpads <= 55mm high
      touchpad: make sure we compare only the last 3 events for wobble
      tools: libinput-replay: only print the events in verbose mode
      test: disable the second-finger-move test for semi-mt devices
      tools: libinput-record: add support for printing libinput events
      tools: libinput-record: print a comment when the device is in a neutral state
      tools: libinput-record: print a progress bar when recording to a file
      tools: libinput-record: print the mouse and pointingstick udev properties
      tools: touchpad-pressure: init the lo/hi values correctly
      meson: point users to disabled documentation when dot/doxygen is missing
      udev: add the P50 to the T450 jumping motion quirks
      test: fix vert axis printing on error
      test: drop the * from the Lid Switch test device udev rule match
      touchpad: only keep low-pressure fingers alive for 2+-slot touchpads
      test: move all the _setup() functions into a special section
      test: reliably sort the udev rules
      tablet: add missing space in an error message
      udev: add trackpoint range for Lenovo X280
      CODING_STYLE: add exception for for (int i=0, ...) declarations
      test: add a script to check for leftover litest rules
      udev: add the T440p to the T450 jumping motion quirks
      evdev: add another debug message for the trackpoint sensitivity
      evdev: point users to the trackpoint documentation for missing ranges
      udev: add trackpoint range for the T440s
      udev: add T450s trackpoint range
      doc: expand on the palm detection documentation a bit
      touchpad: log the touch size thresholds if we're using them
      touchpad: don't process state for a touch in TOUCH_NONE
      Fix a doxygen link for the get_default_matrix call
      tools: fix man page for debug-events
      test: call K_OFF when run on the vt
      doc: debugging touchpad pressure/size ranges is interactive
      doc: axis overrides need to go to systemd, not libinput
      Revert "udev: add the P50 to the T450 jumping motion quirks"
      evdev: break up a long line
      evdev: return an error if the profile change failed
      tools: fix switch case-statement indentation
      doc: expand the "reporting bugs" page
      debounce: disable debouncing on the Logitech K400
      evdev: remove duplicate MODEL entry in the model parsing
      evdev: add a run-time check to avoid re-using model flags
      doc: add a section on what happens when a bug was resolved
      meson: only run the selinux restore script on meson < 0.43
      Drop the libinput-list-devices and libinput-debug-events compat scripts
      Remove some duplicate empty lines
      doc: add a description of the internal architecture
      test: add a test for a touchscreen with out-of-range axes
      Revert "Add Dell XPS13 L322X touchpad quirks"
      test: remove double check for empty queue
      test: replace a strcmp with streq
      test: use a udev monitor to wait for a device to disappear
      udev: add the P50 to the T450 jumping motion quirks
      meson: re-use the filter source list
      filter: factor out the pointer trackers from the accel filter
      filter: move some functions to the shared header
      filter: move the smoothing values to the trackers
      filter: pass trackers to calculate_velocity
      filter: add helper function to reset and free trackers
      filter: move the x230 filter into a separate file
      filter: split the tablet accel code into a separate file
      filter: split trackpoint acceleration code into a separate file
      filter: move the pointer_accelerator struct into the header
      filter: make the simpsons accel calculation available through the header
      filter: split the touchpad acceleration code into a separate file
      filter: move the velocity diff to the only function we use it in
      filter: move the flat filter into a separate file
      filter: split the low-dpi acceleration into a separate file
      filter: tidy up the touchpad filter
      filter: drop the ntrackers argument from init_trackers
      filter: split the mouse acceleration out into a separate file
      filter: namespace the various trackers_* functions
      filter: duplicate the pointer_accelerator struct into the bits that use it
      tools: yaml verifier: add POINTER_AXIS to allowed events types
      tools: yaml verifier: allow for SYN_REPORT value 1
      tools: libinput-record: add gesture support
      tools: libinput-replay: handle a nonzero offset for the first event
      tools: yaml verifier: fix some flake8 warnings
      touchpad: ignore palm touches when handling clickfingers
      touchpad: ignore any semi-mt movement in the same frame as a finger release
      test: print the full event in case of a mismatch
      test: print the device name for a wrong event
      evdev: disable ABS_MT_TOOL_PALM on the Lenovo X1 Carbon 6th gen
      filter: make the MAX_VELOCITY_DIFF a double
      gestures: if two fingers are in definitive pinch position, pinch
      tools: fix the script to make ptraccel graphs for meson's builddir
      filter: always average the velocity of the first two events
      util: add a helper function to split a key-value pair string
      Expose a custom acceleration profile
      touchpad: allow custom profiles on touchpads
      touchpad: fix the trackpoint event counter for the T460s
      util: allow for palm pressure > 255
      Add libinput_device_touch_get_touch_count()
      tools: print the number of touches for touch devices
      touchpad: reset the wobble detection history for y-only changes
      touchpad: reset the wobble detection for non-pointer events
      touchpad: only try to detect touchpad wobbling with one finger down
      evdev: mask out MSC_TIMESTAMP, we don't need it
      tools: libinput-record: move the event time offset to the first place we get it
      Allow for TABLET_TOOL_BUTTON events in the various tablet_tool_get_<foo>()
      util: add a strv_join() helper function
      tools: libinput-record: print tablet events in --with-libinput
      tools: libinput-record: print switch events in --with-libinput
      test: don't use ck_assert_ptr_null
      util: remove dead assignment in strv_join
      doc: drop doc for POINTINGSTICK_CONST_ACCEL, no longer in use
      doc: add two more items I need for trackpoint bugs
      Revert "touchpad: only try to detect touchpad wobbling with one finger down"
      touchpad: only try to detect touchpad wobbling with one finger down
      udev: copy the trackpoint sensitivity directly from sysfs
      tools: switch the ptraccel-debug tool to report profile curves by default
      Fix the scan-build fake leaks
      gitignore: ignore gnuplot files
      tools: fix pointer acceleration graphs generation script
      tools: fix an argument name for ptraccel-debug
      doc: update pointer acceleration doc with the fixed graphs
      doc: fix typo
      evdev: drop the arbitrary trackpoint range maximum
      touchpad: add a tool to measure the touchpad fuzz
      Update the README and the graphs showing libinput in the stack
      tools: ptraccel-debug: match the help with the actual trackpoint range value
      test: assume Wacom devices are external touchpads
      meson: add a 'coverity' option to fix the build
      tools: ptraccel-debug: switch to a mode enum
      utils: fix leak in kv_double_from_string()
      tools: libinput-record: fix leaking memory in the error cases
      util: avoid potential integer overflow
      tools: ptraccel-debug: fail for a sequence without events
      evdev: add three more Logitech K400-like devices to the debouncing quirk
      touchpad: split the switch event handlers up
      touchpad: remember the suspend reason
      test: mark the thinkpad extrabuttons device as ID_INPUT_SWITCH
      test: fix the udev rule for the HP WMI hotkeys device
      Revert "touchpad: allow custom profiles on touchpads"
      Revert "Expose a custom acceleration profile"
      tools: debug-gui: add some extra targets for pointer acceleration testing
      filter: improve touchpad acceleration
      libinput 1.10.901

Peter Seiderer (1):
      tools: libinput-debug-events stop variable needs volatile

Quentin Glidic (2):
      meson: Fix bindir usage in install script
      meson: Fix absolute libdir case in install script

Sean Lanigan (2):
      Add Dell XPS13 L322X touchpad quirks
      Add Dell XPS13 L322X touchpad quirks

Tim Richardson (1):
      evdev: fix duplicated flag value

Veli-Jussi Raitila (1):
      Add quirk to fix spurious palm detections on MacBook Pro (13-inch, Mid 2009)

git tag: 1.10.901

MD5:  001351bb095d465e89fd68b81f64d403  libinput-1.10.901.tar.xz
SHA1: 707933fcc610384780e753af1bd2ecebcabaaf33  libinput-1.10.901.tar.xz
SHA256: ccaf90b78ba8ffe46aeda0129c24889910f80cd2f2ef94ac175001eb58afb5af  libinput-1.10.901.tar.xz
SHA512: b2251e8d33e95e7e6c8a7a54dc8038b540ea4132a0e7662eca11c9afdc7b6b5052f22f07e07c36e47a5b7d27005d8f667184b4ced729c7401747ee8761a394bd  libinput-1.10.901.tar.xz
PGP:  https://www.freedesktop.org/software/libinput/libinput-1.10.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/20180522/2fc329e3/attachment-0001.sig>

More information about the wayland-devel mailing list