[ANNOUNCE] libinput 1.6.901

Peter Hutterer peter.hutterer at who-t.net
Thu Feb 23 01:47:40 UTC 2017


The first RC for libinput 1.7 is now available. This cycle was quite a large
one and several big features were merged, so expect a few RCs before the
final release.

First big feature: James Ye implemented support for switches, in particular
lid switches. Closing the lid now disables the touchpad to avoid ghost
touches but it also makes the lid switch event itself available to any
callers. This is a new interface announced by the LIBINPUT_DEVICE_CAP_SWITCH
capability, see the documentation for more info:
https://wayland.freedesktop.org/libinput/doc/latest/group__event__switch.html

Touchpads now use pressure values to detect touches instead of relying on
BTN_TOUCH. This enables us to have per-device pressure values where needed
to avoid misdetection of light or hovering touches. For now all touchpads
use the default pressure vaules, if you have had issues with touch
misdetection please file a bug with the required pressure ranges.

Wheel tilt events are now handled as such provided the device is correctly
labelled by the hwdb. A wheel tilt will not be advertised as scroll source
'wheel' but rather 'wheel tilt', making it possible to different between the
two in the caller.

Middle mouse button emulation is now compatible with scroll wheel emulation,
i.e. it is possible to set scroll wheel emulation on the right mouse button
and still enjoy middle button emulation. This is useful mostly on very old
mice and some trackballs.

On the topic of scroll wheel emulation: pressing the scroll button now
always generates a button event (provided now scrolling was triggered).
Previously this depended on an internal timeout which was hard to predict
for users. Of course, if any scrolling is triggered while the button is
down, no button events are sent.

Tablet pad LEDs now hook up correctly to the new kernel LED implementation
available in v4.9 and later. Pressing the respective mode button will thus
toggle pad modes in the events correctly.

Internal cleanup work touched most of libinput. And a gcov run exposed
some untested code paths and a lot of tests have been added for those.
External touchpad-keyboard combos can now be marked with a udev property to
sure we enable disable-while-typing on the correct devices.

Finally, the libinput-debug-events tool now uses colours and hides keycodes
by default. It's now safe to run it in the background to record events
without having to worry that passwords end up in the log. If you do need the
keycodes, run with the --show-keycodes argument.

As usual, the git shortlog is below.

James Ye (4):
      Add a "switch" interface for parts of the SW_* range
      Add evdev_dispatch interface for lid switch
      Pair touchpad and lid_switch for disable
      test: add tests for lid switch

Mihail Konev (1):
      autogen: add default patch prefix

Peter Hutterer (122):
      Add wheel tilt as axis source
      evdev: add support for wheel tilt
      test: remove some untriggered code from the keyboard tests
      test: simplify some checks in the path test
      test: fix pointer accel defaults test
      test: fix some tablet tests' unreached code
      test: check if left-handed is available for the left-handed tests
      Hook up gcov for coverage reports
      test: add a test for keyboard LED updates
      test: add helper function to install a "bug expected" log handler
      test: add test for invalid udev_assign_seat on path context
      test: add test for invalid path operations on udev backends
      util: make all property parsing helpers ignore NULL strings
      test: add tests for checking for buttons for a non-pointer device
      test: test for libinput_device_get/set_user_data
      test: add test for fetching invalid pointer axes
      test: add some device capability checks
      test: add a test to force a destroy for the path backend
      test: add a tablet tool capability check
      test: add test for tablet_tool_get/set_user_data
      test: add a test for tablet pad event timestamps
      test: add a test for the tool ID
      test: add device size/no size checks
      test: test absence of scroll events on keyboards
      test: ad calls to check whether pressure has changed
      test: add more tests for tap-drag config
      test: add tests for tablet buttons and button seat count
      test: check the pad button state in litest_is_pad_button_event
      test: add test to set tap map on unsupported devices
      test: add wheel tilt tests
      pad: implement kernel-based pad led handling
      touchpad: mask out ABS_MT if we don't have or disable MT
      touchpad: convert normalized_length to physical coordinates
      Drop normalized_get_direction, use physical distances instead
      evdev: fix an error message
      touchpad: use a helper function for the libinput context
      autogen.sh: exec the configure script
      evdev: move the lid switch process functions together
      touchpad: check for a switch type before handling the event
      Clarify the default 'off' position of a switch
      switch: sync the initial state of the switch on startup
      switch: prevent switches to send the same event twice
      switch: only sync the initial state if we know the state is reliable
      switch: move the lid switch bits into their own file
      Add a helper function for initializing an event listener
      switch: hook up to keyboard events to fix the lid switch state
      test: add two more touch..._extended functions
      test: force a pressure of 0 when we hover a touch
      touchpad: ignore hovering touches when tapping
      test: allow nesting of litest_push_event_frame()
      test: convert event handling while loops into for loops
      test: handle semi-mt devices in litest
      test: switch the semi-mt devices to use the litest semi-mt handling
      doc: update the FAQ entry with how config options are stored
      test: make sure touch up resets pressure
      test: add the right pressure bits.
      touchpad: use pressure values for touch is-down decision
      test: add touchpad pressure tests
      test: fix two test udev rules
      udev: mark all laptops as lid switch reliable
      test: fix two test udev rules
      switch: for surface 3 tablets, write the lid open to the device
      evdev: improve type-safety on dispatch switches
      evdev: add a wrapper to get the evdev device from a libinput device
      doc: add a table of contents to the FAQ
      evdev: fix a comment typo
      touchpad: remove unnecessary return statement
      test: fix tablet tool_id test to fail on unexpected ids
      test: fail before zero division
      Revert "touchpad: reduce the initial timeout for tapping after touch"
      path: remove unused declaration of path_input_process_event
      path: remove unncessary declaration
      test: fix ranged test for 'no device' tests
      test: add test for default button tap map (on non-tapping devices)
      test: add test for natural scroll defaults on no-scroll devices
      test: add missing checks for tap enabled/disabled by default
      test: add test for pad event mode groups
      test: test click method setting on non-touchpads
      test: add test for setting pointer accel profiles on no-accel devices
      Swap the return values for unsupported scroll button configs
      test: add test for touch seat slots
      configure.ac: bump to 1.6.900
      touchpad: expand top middle button to cover 40mm to 60mm
      pad: don't warn about failure to initialize the LEDs on litest devices
      touchpad: mark the Apple onebutton touchpad as clickfinger-default
      evdev: free the output name on evdev_destroy()
      path: parse the WL_OUTPUT property for patch devices too
      evdev: split calibration property parsing into a helper
      test: add basic test for getting the physical seat name
      test: add helper functions to filter an event
      test: add tests for tablet tool types
      touchpad: add a hwdb quirk for (external) touchpad/keyboard combos
      touchpad: drop 'is blacklisted' check for dwt pairing
      doc: make the tap-to-click default setting a separate section
      doc: link to tapping page from the FAQ
      doc: add a page "what is libinput"
      tools: hide key codes by default
      tools: don't print device options on device removed
      tools: print errors as red, info as highlighted
      test: fix udev rule for waltop tablet test device
      tools: size without decimals is good enough
      test: check the libinput device for BTN_MIDDLE, not the libevdev device
      test: fix middle button defaults test
      test: skip two tests when middle button is missing
      test: fix the pointer scroll-defaults test
      evdev: allow button scrolling on the L/R button with middle emulation active
      evdev: add quirk for Logitech Marble Mouse
      evdev: rename define for button scroll timeout
      evdev: add state debugging to button scrolling
      test: add tests for middle button + button scrolling on BTN_LEFT
      evdev: convert button scrolling into a state machine
      evdev: add "READY" state to button scrolling
      evdev: don't provide button scrolling on absolute pointer devices
      Add the matching @see tags to the accel config
      tools: print the key as -1 for obfuscated keys
      tools: print accel profiles up to 1000 mm/s
      test: add a has_slider check for the airbrush tool
      doc: minor documentation fix
      doc: disable the search engine/search box
      doc: allow custom styles to overide the bootstrap style
      doc: add a custom css for local overrides
      configure.ac: libinput 1.7rc1

Sakse Dalum (1):
      Added missing button range for pad on CTH-680

git tag: 1.6.901

https://www.freedesktop.org/software/libinput/libinput-1.6.901.tar.xz
MD5:  8298e8f90796e19964f07d952c704572  libinput-1.6.901.tar.xz
SHA1: 5f3709c44699f8ab5a77483820adc6d8a34228ff  libinput-1.6.901.tar.xz
SHA256: c2353859c24ccd3beec228c3f1480fcc5be14ef465fa438162a31adee1e3792c  libinput-1.6.901.tar.xz
PGP:  https://www.freedesktop.org/software/libinput/libinput-1.6.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/20170223/53fa4100/attachment-0001.sig>


More information about the wayland-devel mailing list