Hello community, here is the log from the commit of package xf86-input-libinput for openSUSE:Factory checked in at 2015-06-09 08:49:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xf86-input-libinput (Old) and /work/SRC/openSUSE:Factory/.xf86-input-libinput.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-input-libinput" Changes: -------- --- /work/SRC/openSUSE:Factory/xf86-input-libinput/xf86-input-libinput.changes 2015-05-24 19:32:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xf86-input-libinput.new/xf86-input-libinput.changes 2015-06-09 08:50:23.000000000 +0200 @@ -1,0 +2,8 @@ +Sun Jun 7 17:05:39 UTC 2015 - zai...@opensuse.org + +- Update to version 0.11.0: + + Only init abs axes if we don't have acceleration. + + Use the new unaccelerated valuator ValuatorMask features. + + Fix missing scroll methods default/scroll button property. + +------------------------------------------------------------------- Old: ---- xf86-input-libinput-0.10.0.tar.bz2 New: ---- xf86-input-libinput-0.11.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xf86-input-libinput.spec ++++++ --- /var/tmp/diff_new_pack.q1Oy5c/_old 2015-06-09 08:50:24.000000000 +0200 +++ /var/tmp/diff_new_pack.q1Oy5c/_new 2015-06-09 08:50:24.000000000 +0200 @@ -17,7 +17,7 @@ Name: xf86-input-libinput -Version: 0.10.0 +Version: 0.11.0 Release: 0 Summary: Libinput driver for the Xorg X server License: MIT ++++++ xf86-input-libinput-0.10.0.tar.bz2 -> xf86-input-libinput-0.11.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.10.0/ChangeLog new/xf86-input-libinput-0.11.0/ChangeLog --- old/xf86-input-libinput-0.10.0/ChangeLog 2015-05-21 02:20:59.000000000 +0200 +++ new/xf86-input-libinput-0.11.0/ChangeLog 2015-06-05 05:41:08.000000000 +0200 @@ -1,3 +1,62 @@ +commit 449b496a3abd2860ada3a27a4d23efc28b87448d +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Fri Jun 5 13:40:31 2015 +1000 + + xf86-input-libinput 0.11.0 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit d4e0b5420ff2af2e790f12d10996f93ec6066b4a +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Mon Jun 1 11:41:09 2015 +1000 + + Fix missing scroll methods default/scroll button property + + Even if no scroll method is enabled by default, we still want those + properties. + + Introduced in 8d4e03570c. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 19c91044e44dd31deaeb638a919c64e9a9182448 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue May 5 14:17:10 2015 +1000 + + Use the new unaccelerated valuator ValuatorMask features + + SDL Games like openarena rely on relative input that's handled by the DGA code + in the server. That code casts the driver's input data to int and sends it to + the client. libinput does pointer acceleration for us, so sending any deltas + of less than 1 (likely for slow movements) ends up being 0. + + Use the new ValuatorMask accelerated/unaccelerated values to pass the + unaccelerated values along, the server can then decide what to do with it. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Hans de Goede <hdego...@redhat.com> + +commit 3d6afca975e5c54d458974ca2e9ada3df209587c +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed May 20 13:22:45 2015 +1000 + + Only init abs axes if we don't have acceleration + + A lot of devices (mainly MS input devices) have abs axes on top of the + relative axes. Those axes are usually mute but with the current code we set up + absolute axes for those devices. Relative events are then scaled by the server + which makes the device appear slow. + + As an immediate fix always prefer relative axes and only set up absolute axes + if the device has a calibration matrix but no pointer acceleration. + This may mess up other devices where the relative axes are dead, we'll deal + with this when it comes. + + https://bugs.freedesktop.org/show_bug.cgi?id=90322 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Hans de Goede <hdego...@redhat.com> + commit 158e3264cefa9e6ac3e2218027b212237b039ce6 Author: Peter Hutterer <peter.hutte...@who-t.net> Date: Thu May 21 09:52:40 2015 +1000 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.10.0/configure new/xf86-input-libinput-0.11.0/configure --- old/xf86-input-libinput-0.10.0/configure 2015-05-21 01:52:56.000000000 +0200 +++ new/xf86-input-libinput-0.11.0/configure 2015-06-05 05:40:02.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xf86-input-libinput 0.10.0. +# Generated by GNU Autoconf 2.69 for xf86-input-libinput 0.11.0. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # @@ -591,8 +591,8 @@ # Identity of this package. PACKAGE_NAME='xf86-input-libinput' PACKAGE_TARNAME='xf86-input-libinput' -PACKAGE_VERSION='0.10.0' -PACKAGE_STRING='xf86-input-libinput 0.10.0' +PACKAGE_VERSION='0.11.0' +PACKAGE_STRING='xf86-input-libinput 0.11.0' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -1351,7 +1351,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xf86-input-libinput 0.10.0 to adapt to many kinds of systems. +\`configure' configures xf86-input-libinput 0.11.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1422,7 +1422,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-input-libinput 0.10.0:";; + short | recursive ) echo "Configuration of xf86-input-libinput 0.11.0:";; esac cat <<\_ACEOF @@ -1548,7 +1548,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xf86-input-libinput configure 0.10.0 +xf86-input-libinput configure 0.11.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1872,7 +1872,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xf86-input-libinput $as_me 0.10.0, which was +It was created by xf86-input-libinput $as_me 0.11.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2740,7 +2740,7 @@ # Define the identity of the package. PACKAGE='xf86-input-libinput' - VERSION='0.10.0' + VERSION='0.11.0' cat >>confdefs.h <<_ACEOF @@ -18527,7 +18527,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xf86-input-libinput $as_me 0.10.0, which was +This file was extended by xf86-input-libinput $as_me 0.11.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18593,7 +18593,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xf86-input-libinput config.status 0.10.0 +xf86-input-libinput config.status 0.11.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.10.0/configure.ac new/xf86-input-libinput-0.11.0/configure.ac --- old/xf86-input-libinput-0.10.0/configure.ac 2015-05-21 01:52:31.000000000 +0200 +++ new/xf86-input-libinput-0.11.0/configure.ac 2015-06-05 05:39:42.000000000 +0200 @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-input-libinput], - [0.10.0], + [0.11.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-input-libinput]) AC_CONFIG_SRCDIR([Makefile.am]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-libinput-0.10.0/src/libinput.c new/xf86-input-libinput-0.11.0/src/libinput.c --- old/xf86-input-libinput-0.10.0/src/libinput.c 2015-05-21 01:51:43.000000000 +0200 +++ new/xf86-input-libinput-0.11.0/src/libinput.c 2015-06-04 13:26:09.000000000 +0200 @@ -47,6 +47,12 @@ #define XI86_SERVER_FD 0x20 #endif +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) * 1000 + GET_ABI_MINOR(ABI_XINPUT_VERSION) > 22000 +#define HAVE_VMASK_UNACCEL 1 +#else +#undef HAVE_VMASK_UNACCEL +#endif + #define TOUCHPAD_NUM_AXES 4 /* x, y, hscroll, vscroll */ #define TOUCH_MAX_SLOTS 15 #define XORG_KEYCODE_OFFSET 8 @@ -85,7 +91,10 @@ double y_remainder; } scale; + BOOL has_abs; + ValuatorMask *valuators; + ValuatorMask *valuators_unaccelerated; struct options { BOOL tapping; @@ -526,6 +535,8 @@ SetScrollValuator(dev, 2, SCROLL_TYPE_HORIZONTAL, driver_data->scroll.hdist, 0); SetScrollValuator(dev, 3, SCROLL_TYPE_VERTICAL, driver_data->scroll.vdist, 0); + driver_data->has_abs = TRUE; + return Success; } static void @@ -636,7 +647,8 @@ if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_KEYBOARD)) xf86libinput_init_keyboard(pInfo); if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_POINTER)) { - if (libinput_device_config_calibration_has_matrix(device)) + if (libinput_device_config_calibration_has_matrix(device) && + !libinput_device_config_accel_is_available(device)) xf86libinput_init_pointer_absolute(pInfo); else xf86libinput_init_pointer(pInfo); @@ -695,9 +707,21 @@ y = libinput_event_pointer_get_dy(event); valuator_mask_zero(mask); + +#if HAVE_VMASK_UNACCEL + { + double ux, uy; + + ux = libinput_event_pointer_get_dx_unaccelerated(event); + uy = libinput_event_pointer_get_dy_unaccelerated(event); + + valuator_mask_set_unaccelerated(mask, 0, x, ux); + valuator_mask_set_unaccelerated(mask, 1, y, uy); + } +#else valuator_mask_set_double(mask, 0, x); valuator_mask_set_double(mask, 1, y); - +#endif xf86PostMotionEventM(dev, Relative, mask); } @@ -709,6 +733,13 @@ ValuatorMask *mask = driver_data->valuators; double x, y; + if (!driver_data->has_abs) { + xf86IDrvMsg(pInfo, X_ERROR, + "Discarding absolute event from relative device. " + "Please file a bug\n"); + return; + } + x = libinput_event_pointer_get_absolute_x_transformed(event, TOUCH_AXIS_MAX); y = libinput_event_pointer_get_absolute_y_transformed(event, TOUCH_AXIS_MAX); @@ -1351,6 +1382,10 @@ if (!driver_data->valuators) goto fail; + driver_data->valuators_unaccelerated = valuator_mask_new(2); + if (!driver_data->valuators_unaccelerated) + goto fail; + driver_data->scroll.vdist = 15; driver_data->scroll.hdist = 15; @@ -1422,6 +1457,8 @@ fd_pop(&driver_context, pInfo->fd); if (driver_data->valuators) valuator_mask_free(&driver_data->valuators); + if (driver_data->valuators_unaccelerated) + valuator_mask_free(&driver_data->valuators_unaccelerated); free(path); free(driver_data); return BadValue; @@ -2205,9 +2242,6 @@ return; scroll_methods = libinput_device_config_scroll_get_default_method(device); - if (scroll_methods == LIBINPUT_CONFIG_SCROLL_NO_SCROLL) - return; - if (scroll_methods & LIBINPUT_CONFIG_SCROLL_2FG) methods[0] = TRUE; if (scroll_methods & LIBINPUT_CONFIG_SCROLL_EDGE)