[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