[ANNOUNCE] libinput 0.8.0

Peter Hutterer peter.hutterer at who-t.net
Wed Jan 14 19:42:40 PST 2015


A new release of libinput, 0.8, is available.

This release contains a few of API/ABI breaks. You will likely need to
update your code. Symbols deprecated since 0.6 were removed too.
The soname was bumped to reflect the ABI changes.

Main changes:
* Improved documentation. We have moved much of the wiki page into the
  doxygen system, the API docs now also explain higher-level concepts.
* As usual, much of the effort went into improved touchpad support. For
  example, it is not necessary anymore to lift all fingers when switching
  from scrolling to pointer movement.
* Scroll event types were merged. Previously we supplied horiz/vert
  scrolling as separate event, even in diagnonal scrolling. Now each scroll
  event may contain one or more axes.
* Support for axis sources: a scroll event can be of source finger, wheel or
  continuous. This enables callers to implement kinetic ("fling") scrolling.
* Scroll wheel events now return the data in degrees. A matching udev hwdb
  system is in place to adjust this when needed. A "discrete" scroll value
  is available if you're interested in the clicks only.
* Left-handed configuration was renamed. For future tablet support, the
  button-based naming was inappropriate. A simple search/replace fixes this.

API additions and changes:

Userdata on a libinput context can now be changed after initialization:
    libinput_set_user_data()

Scroll events have seen a revamp, with some features added and others
changed in an API-incompatible way. The affected calls are:
    libinput_event_pointer_get_axis_source()
    libinput_event_pointer_has_axis()
    libinput_event_pointer_get_axis_value()
    libinput_event_pointer_get_axis_value_discrete()
The source is one of finger, wheel or continuous (for button scrolling).
Each event may now contain more than one axis, so you must check if the axis
is available in an event. Retrieving a value for an unset axis is a bug.
For wheel events, the returned value is now the angle in degrees. If you
need wheel clicks instead, use the discrete value.

Left-handed configuration has seen a rename. No actual changes but the
rename requires API updates in callers. The new calls are:
    libinput_device_config_left_handed_is_available()
    libinput_device_config_left_handed_set()
    libinput_device_config_left_handed_get()
    libinput_device_config_left_handed_get_default()

We have a few pending features that I decided not to merge for 0.8, expect
0.9 to follow very soon (most likely API/ABI compatible).

The full commit shortlog is below.

Carlos Garnacho (2):
      evdev: Remove double-semicolon
      evdev: Ensure the libevdev object receives the new fd on resume

Hans de Goede (5):
      evdev: Add a remove callback to the evdev_dispatch_interface
      touchpad: Use remove callback to unlink event listener and stop timers
      touchpad: Add a tp_post_pointer_motion helper function
      touchpad: When a clickpad is clicked post combined motion of all touches
      touchpad: Use TOUCHPAD_MIN_SAMPLES in tp_get_delta

Jon A. Cruz (2):
      Initial move of some wiki contents into main documentation.
      Added configure option for documentation build.

Jonas Ã…dahl (2):
      s/discreet/discrete/
      Dropped an extra 'the'

Marek Chalupa (1):
      build-pedantic: use main(void)

Peter Hutterer (63):
      doc: delete double-empty lines
      doc: fix wording on the dpi normalization paragraph
      README: link to bugzilla and API docs
      test: create a new device during the disable test to change fds
      Drop deprecated symbols
      Use symbol versioning
      doc: include README as mainpage
      doc: add the various events to the doxygen groups
      doc: document the base structures so they show up in doxygen
      doc: put some extra warning in for libinput_event_destroy()
      test: print the string of the event type
      test: print axis event information for debugging too
      test: fix two compiler warnings
      touchpad: fix typos in error message
      touchpad: print event type on state machine error
      test: fix busted indentation
      tools: add --help to event-debug's usage
      Improve the documentation
      doc: move relative motion normalization page over to doc/
      doc: drop touchpad button behavior page - provided in doc/ now
      doc: move "device configuration via udev" page to here
      doc: improve seat documentation
      doc: document the calibration as well
      doc: add link to udev hwdb in rel motion normalization doc
      doc: move the wiki's scrolling documentation to here
      doc: move the wiki's tapping documentation to here
      doc: move the wiki's palm detection docs to here
      tools: make event-debug's option parsing more flexible
      tools: add --enable-tap to event-debug
      tools: move option parsing to a helper library
      tools: move opening the backend to the shared lib too
      tools: move applying device configuration to shared lib
      tools: add support to enable/disable natural scrolling
      tools: add support for enabling/disabling left-handed button mappings
      tools: use the new shared lib from event-gui
      tools: pass the userdata to the context
      test: switch touch points around for semi-mt tap-n-drag testing
      test: add helper function for checking for a specific event type
      test: switch tests to use the new helper function
      touchpad: rename scroll.state to scroll.edge_state
      touchpad: revert to pointer movement when stopping twofinger scrolling
      Declare libinput.sym as dependency
      Add libinput_set_user_data
      test: add edge-scrolling tests
      Add pointer axis sources to the API
      tools: change name/seat/logical seat format string
      tools: print device capabilities in event-debug
      Minor documentation wording improvement
      Drop unused function calc_penumbral_gradient
      test: drop empty test device interfaces
      test: fix a clang compiler warning
      touchpad: fix a clang compiler warning
      tools: fail if we can't set up signal handlers in event-debug
      tools: switch signal handler in event-debug
      Add a comment to clarify what the prop parameter is
      Change the scroll step distance to 15 and document it as degrees
      Parse the MOUSE_WHEEL_CLICK_ANGLE udev property if present
      Change axis events to carry all directions
      Add libinput_event_pointer_get_axis_value_discrete() to count wheel clicks
      doc: add some missing files to EXTRA_DIST
      doc: specify the IMAGE_PATH relative to the source
      doc: move DOTFILE_DIRS to libinput.doxygen.in
      configure.ac: libinput 0.8

Stephen Chandler Paul (2):
      libinput.h: Fix some line wrapping in documentation
      Rename functions for left handed device configurations

git tag: 0.8.0

http://www.freedesktop.org/software/libinput/libinput-0.8.0.tar.xz
MD5:  9ac28ca42670d38d8f785e96506c9227  libinput-0.8.0.tar.xz
SHA1: ad9334a7b3b16096e66df9fdc9e1850cf757d8f5  libinput-0.8.0.tar.xz
SHA256: 57747436ac6a2ed9fe7745093acdd96fdce699bad6074c6e89450367d74192c7  libinput-0.8.0.tar.xz
PGP:  http://www.freedesktop.org/software/libinput/libinput-0.8.0.tar.xz.sig

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20150115/f27173b3/attachment.sig>


More information about the wayland-devel mailing list