Hello community, here is the log from the commit of package xf86-input-evdev for openSUSE:Factory checked in at 2017-01-23 11:22:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xf86-input-evdev (Old) and /work/SRC/openSUSE:Factory/.xf86-input-evdev.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-input-evdev" Changes: -------- --- /work/SRC/openSUSE:Factory/xf86-input-evdev/xf86-input-evdev.changes 2016-10-06 12:29:31.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xf86-input-evdev.new/xf86-input-evdev.changes 2017-01-23 11:22:06.623877778 +0100 @@ -1,0 +2,9 @@ +Thu Jan 19 13:09:53 UTC 2017 - sndir...@suse.com + +- update to version 2.10.5 + * Two fixes, one new feature for the evdev driver. The new + feature is the ability to change the emulated middle button + number (e.g. useful on devices with physical middle button + as well). + +------------------------------------------------------------------- Old: ---- xf86-input-evdev-2.10.4.tar.bz2 xf86-input-evdev-2.10.4.tar.bz2.sig New: ---- xf86-input-evdev-2.10.5.tar.bz2 xf86-input-evdev-2.10.5.tar.bz2.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xf86-input-evdev.spec ++++++ --- /var/tmp/diff_new_pack.7DOmnK/_old 2017-01-23 11:22:07.079813050 +0100 +++ /var/tmp/diff_new_pack.7DOmnK/_new 2017-01-23 11:22:07.083812482 +0100 @@ -1,7 +1,7 @@ # # spec file for package xf86-input-evdev # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: xf86-input-evdev -Version: 2.10.4 +Version: 2.10.5 Release: 0 Summary: Generic Linux input driver for the Xorg X server License: MIT ++++++ xf86-input-evdev-2.10.4.tar.bz2 -> xf86-input-evdev-2.10.5.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/ChangeLog new/xf86-input-evdev-2.10.5/ChangeLog --- old/xf86-input-evdev-2.10.4/ChangeLog 2016-10-01 09:54:15.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/ChangeLog 2017-01-18 04:15:33.000000000 +0100 @@ -1,3 +1,66 @@ +commit 1dd61111adea1d137877ca1a9642e1552a152355 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Jan 18 13:14:29 2017 +1000 + + evdev 2.10.5 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 231061d004ee4e924bb736adc428287367d2001c +Author: Alexander Volkov <a.vol...@rusbitech.ru> +Date: Mon Dec 26 17:39:32 2016 +0300 + + Don't send pointer events in addition to touch events + + Updating abs_vals for touch events since d24431a1863c49aa9edcabf535ffa64bfa87053c + leads to posting Motion events with updated coordinates to the X server, + which in turn resends them to clients. + + Don't queue Motion events for touch events, the X server should + synthesize them itself. + + Signed-off-by: Alexander Volkov <a.vol...@rusbitech.ru> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 425ed6017a42937f69c1e8450ea8f3c6c6c20928 +Author: David Strobach <laloc...@gmail.com> +Date: Thu Nov 17 20:47:31 2016 +0100 + + Middle emulation - make the emulated button number configurable + + Sometimes it may be desirable to remap physical middle button + to something else and use emulation instead. The emulation is + however hardcoded to emulate physical button 2, so the emulated + button gets remapped together with the physical one. This patch + adds the Emulate3Button configuration option to allow for user + selection of the emulated button number and a configuration + like this: + + Section "InputClass" + Identifier "Middle button emulation config" + MatchProduct ".... some device ..." + MatchDriver "evdev" + Option "Emulate3Buttons" "on" + Option "Emulate3Button" "9" + EndSection + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 7251e42dfbac11eb1619b0a3881ee463b6d76c95 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Fri Oct 21 09:42:23 2016 +1000 + + Fix off-by-one error counting axes + + We stopped counting one too early, but still initialized that axis later, + leading to a bug macro to trigger. + + https://bugs.freedesktop.org/show_bug.cgi?id=97956 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Hans de Goede <hdego...@redhat.com> + commit 551db5b86e2a19e027e57571b8e5405dacb8bd67 Author: Peter Hutterer <peter.hutte...@who-t.net> Date: Sat Oct 1 17:48:30 2016 +1000 @@ -1390,25 +1453,25 @@ (1000, 1000). The third touch begins after the first two end, and is at (500, 500). - ABS_MT_SLOT 0 /* Set touch slot */ - ABS_MT_TRACKING_ID 0 /* New touch with ID 0 in slot 0 */ - ABS_MT_POSITION_X 500 /* Initial X position */ - ABS_MT_POSITION_Y 500 /* Initial Y position */ - ABS_MT_SLOT 1 /* Set touch slot */ - ABS_MT_TRACKING_ID 1 /* New touch with ID 1 in slot 1 */ - ABS_MT_POSITION_X 1000 /* Initial X position */ - ABS_MT_POSITION_Y 1000 /* Initial Y position */ - SYNC /* End of frame */ - ABS_MT_SLOT 0 /* Go back to slot 0 */ - ABS_MT_TRACKING_ID -1 /* Touch in slot 0 ended */ - ABS_MT_SLOT 1 /* Go to slot 1 */ - ABS_MT_TRACKING_ID -1 /* Touch in slot 1 ended */ - SYNC /* End of frame */ - ABS_MT_SLOT 0 /* Go back to slot 0 */ - ABS_MT_TRACKING_ID 2 /* New touch in slot 0 with ID 2 */ - SYNC /* End of frame */ - ABS_MT_TRACKING_ID -1 /* Touch in last slot (0) ended */ - SYNC /* End of frame */ + ABS_MT_SLOT 0 /* Set touch slot */ + ABS_MT_TRACKING_ID 0 /* New touch with ID 0 in slot 0 */ + ABS_MT_POSITION_X 500 /* Initial X position */ + ABS_MT_POSITION_Y 500 /* Initial Y position */ + ABS_MT_SLOT 1 /* Set touch slot */ + ABS_MT_TRACKING_ID 1 /* New touch with ID 1 in slot 1 */ + ABS_MT_POSITION_X 1000 /* Initial X position */ + ABS_MT_POSITION_Y 1000 /* Initial Y position */ + SYNC /* End of frame */ + ABS_MT_SLOT 0 /* Go back to slot 0 */ + ABS_MT_TRACKING_ID -1 /* Touch in slot 0 ended */ + ABS_MT_SLOT 1 /* Go to slot 1 */ + ABS_MT_TRACKING_ID -1 /* Touch in slot 1 ended */ + SYNC /* End of frame */ + ABS_MT_SLOT 0 /* Go back to slot 0 */ + ABS_MT_TRACKING_ID 2 /* New touch in slot 0 with ID 2 */ + SYNC /* End of frame */ + ABS_MT_TRACKING_ID -1 /* Touch in last slot (0) ended */ + SYNC /* End of frame */ Note that touch 2 has the same X and Y position as touch 0. This is implied because no new value was emitted for slot 0. In fact, Linux will @@ -1890,7 +1953,7 @@ Merge branch 'smooth-scrolling' Conflicts: - src/evdev.c + src/evdev.c Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> @@ -4042,7 +4105,7 @@ Coverity Prevent: NO_EFFECT in EvdevWheelEmuSetProperty: Event unsigned_compare: Comparing unsigned less than zero is never true. "pEvdev->emulateWheel.timeout < 0UL" - 342 if (pEvdev->emulateWheel.timeout < 0) + 342 if (pEvdev->emulateWheel.timeout < 0) Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> @@ -6459,7 +6522,7 @@ Conflicts: - src/evdev.h + src/evdev.h commit 294355842ba9fb3cb3bbd7bfd60c9ca3ce704475 Author: Zephaniah E. Hull <warp@agamemnon.b5> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/Makefile.in new/xf86-input-evdev-2.10.5/Makefile.in --- old/xf86-input-evdev-2.10.4/Makefile.in 2016-10-01 09:49:20.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/Makefile.in 2017-01-18 04:15:30.000000000 +0100 @@ -210,8 +210,7 @@ DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/xorg-evdev.pc.in COPYING ChangeLog INSTALL README \ - compile config.guess config.sub depcomp install-sh ltmain.sh \ - missing + compile config.guess config.sub install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -691,7 +690,7 @@ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 @@ -716,7 +715,7 @@ @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -734,7 +733,7 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -744,7 +743,7 @@ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/aclocal.m4 new/xf86-input-evdev-2.10.5/aclocal.m4 --- old/xf86-input-evdev-2.10.4/aclocal.m4 2016-10-01 09:49:19.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/aclocal.m4 2017-01-18 04:15:29.000000000 +0100 @@ -9053,7 +9053,7 @@ m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -dnl serial 11 (pkg-config-0.29) +dnl serial 11 (pkg-config-0.29.1) dnl dnl Copyright © 2004 Scott James Remnant <sc...@netsplit.com>. dnl Copyright © 2012-2015 Dan Nicholson <dbn.li...@gmail.com> @@ -9095,7 +9095,7 @@ dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29]) +[m4_define([PKG_MACROS_VERSION], [0.29.1]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/compile new/xf86-input-evdev-2.10.5/compile --- old/xf86-input-evdev-2.10.4/compile 2014-11-26 00:23:52.000000000 +0100 +++ new/xf86-input-evdev-2.10.5/compile 2017-01-18 04:15:30.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/config.guess new/xf86-input-evdev-2.10.5/config.guess --- old/xf86-input-evdev-2.10.4/config.guess 2014-11-26 00:23:52.000000000 +0100 +++ new/xf86-input-evdev-2.10.5/config.guess 2017-01-18 04:15:30.000000000 +0100 @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2015-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,12 +24,12 @@ # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # -# Originally written by Per Bothner. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # -# Please send patches with a ChangeLog entry to config-patc...@gnu.org. +# Please send patches to <config-patc...@gnu.org>. me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -579,8 +579,9 @@ else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/config.sub new/xf86-input-evdev-2.10.5/config.sub --- old/xf86-input-evdev-2.10.4/config.sub 2014-11-26 00:23:52.000000000 +0100 +++ new/xf86-input-evdev-2.10.5/config.sub 2017-01-18 04:15:30.000000000 +0100 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2014-07-28' +timestamp='2015-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patc...@gnu.org. +# Please send patches to <config-patc...@gnu.org>. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -68,7 +68,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -260,7 +260,7 @@ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ - | fido | fr30 | frv \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ @@ -302,6 +302,7 @@ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ + | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ @@ -312,6 +313,7 @@ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -326,6 +328,9 @@ c6x) basic_machine=tic6x-unknown ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none @@ -436,6 +441,7 @@ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ + | visium-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -773,6 +779,9 @@ basic_machine=m68k-isi os=-sysv ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; m68knommu) basic_machine=m68k-unknown os=-linux diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/configure new/xf86-input-evdev-2.10.5/configure --- old/xf86-input-evdev-2.10.4/configure 2016-10-01 09:49:20.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/configure 2017-01-18 04:15:30.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xf86-input-evdev 2.10.4. +# Generated by GNU Autoconf 2.69 for xf86-input-evdev 2.10.5. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # @@ -591,8 +591,8 @@ # Identity of this package. PACKAGE_NAME='xf86-input-evdev' PACKAGE_TARNAME='xf86-input-evdev' -PACKAGE_VERSION='2.10.4' -PACKAGE_STRING='xf86-input-evdev 2.10.4' +PACKAGE_VERSION='2.10.5' +PACKAGE_STRING='xf86-input-evdev 2.10.5' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -1364,7 +1364,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-evdev 2.10.4 to adapt to many kinds of systems. +\`configure' configures xf86-input-evdev 2.10.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1435,7 +1435,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-input-evdev 2.10.4:";; + short | recursive ) echo "Configuration of xf86-input-evdev 2.10.5:";; esac cat <<\_ACEOF @@ -1574,7 +1574,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xf86-input-evdev configure 2.10.4 +xf86-input-evdev configure 2.10.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1898,7 +1898,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-evdev $as_me 2.10.4, which was +It was created by xf86-input-evdev $as_me 2.10.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2766,7 +2766,7 @@ # Define the identity of the package. PACKAGE='xf86-input-evdev' - VERSION='2.10.4' + VERSION='2.10.5' cat >>confdefs.h <<_ACEOF @@ -19227,7 +19227,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-evdev $as_me 2.10.4, which was +This file was extended by xf86-input-evdev $as_me 2.10.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19293,7 +19293,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-evdev config.status 2.10.4 +xf86-input-evdev config.status 2.10.5 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-evdev-2.10.4/configure.ac new/xf86-input-evdev-2.10.5/configure.ac --- old/xf86-input-evdev-2.10.4/configure.ac 2016-10-01 09:49:07.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/configure.ac 2017-01-18 04:14:01.000000000 +0100 @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-input-evdev], - [2.10.4], + [2.10.5], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-input-evdev]) AC_CONFIG_SRCDIR([Makefile.am]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/depcomp new/xf86-input-evdev-2.10.5/depcomp --- old/xf86-input-evdev-2.10.4/depcomp 2014-11-26 00:23:52.000000000 +0100 +++ new/xf86-input-evdev-2.10.5/depcomp 2017-01-18 04:15:31.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/include/evdev-properties.h new/xf86-input-evdev-2.10.5/include/evdev-properties.h --- old/xf86-input-evdev-2.10.4/include/evdev-properties.h 2016-01-13 07:44:52.000000000 +0100 +++ new/xf86-input-evdev-2.10.5/include/evdev-properties.h 2016-11-21 05:59:44.000000000 +0100 @@ -33,6 +33,8 @@ #define EVDEV_PROP_MIDBUTTON "Evdev Middle Button Emulation" /* CARD32 */ #define EVDEV_PROP_MIDBUTTON_TIMEOUT "Evdev Middle Button Timeout" +/* CARD8 */ +#define EVDEV_PROP_MIDBUTTON_BUTTON "Evdev Middle Button Button" /* Wheel emulation */ /* BOOL */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/install-sh new/xf86-input-evdev-2.10.5/install-sh --- old/xf86-input-evdev-2.10.4/install-sh 2014-11-26 00:23:52.000000000 +0100 +++ new/xf86-input-evdev-2.10.5/install-sh 2017-01-18 04:15:30.000000000 +0100 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-11-20.07; # UTC +scriptversion=2013-12-25.23; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -41,19 +41,15 @@ # This script is compatible with the BSD install script, but was written # from scratch. +tab=' ' nl=' ' -IFS=" "" $nl" +IFS=" $tab$nl" -# set DOITPROG to echo to test this script +# Set DOITPROG to "echo" to test this script. -# Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi +doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. @@ -68,17 +64,6 @@ rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - posix_mkdir= # Desired mode of installed file. @@ -97,7 +82,7 @@ dst_arg= copy_on_change=false -no_target_directory= +is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE @@ -137,46 +122,57 @@ -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" - shift;; + shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift;; + shift;; -s) stripcmd=$stripprog;; - -t) dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; - -T) no_target_directory=true;; + -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; - --) shift - break;; + --) shift + break;; - -*) echo "$0: invalid option: $1" >&2 - exit 1;; + -*) echo "$0: invalid option: $1" >&2 + exit 1;; *) break;; esac shift done +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. @@ -208,6 +204,15 @@ fi if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 @@ -223,16 +228,16 @@ *[0-7]) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw='% 200' + u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw=,u+rw + u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac @@ -269,41 +274,15 @@ # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - + dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi @@ -314,74 +293,74 @@ if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; esac if $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else @@ -391,53 +370,51 @@ # directory the slow way, step by step, checking for races as we go. case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; esac - eval "$initialize_posix_glob" - oIFS=$IFS IFS=/ - $posix_glob set -f + set -f set fnord $dstdir shift - $posix_glob set +f + set +f IFS=$oIFS prefixes= for d do - test X"$d" = X && continue + test X"$d" = X && continue - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ done if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true fi fi fi @@ -472,15 +449,12 @@ # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - + set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then @@ -493,24 +467,24 @@ # to itself, or perhaps because mv is so ancient that it does not # support -f. { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/man/evdev.man new/xf86-input-evdev-2.10.5/man/evdev.man --- old/xf86-input-evdev-2.10.4/man/evdev.man 2016-05-12 07:28:14.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/man/evdev.man 2016-11-21 05:59:44.000000000 +0100 @@ -94,6 +94,11 @@ if two buttons where pressed "simultaneously" when 3 button emulation is enabled. Default: 50. Property: "Evdev Middle Button Timeout". .TP 7 +.BI "Option \*qEmulate3Button\*q \*q" integer \*q +Specifies the physical button number to be emitted if middle button emulation +is triggered. +Default: 2. Property: "Evdev Middle Button Button". +.TP 7 .BI "Option \*qEmulateWheel\*q \*q" boolean \*q Enable/disable "wheel" emulation. Wheel emulation means emulating button press/release events when the mouse is moved while a specific real button @@ -283,6 +288,9 @@ .BI "Evdev Middle Button Timeout" 1 16-bit positive value. .TP 7 +.BI "Evdev Middle Button Button" +1 8-bit value, allowed range 0-32, 0 disables the button. +.TP 7 .BI "Evdev Wheel Emulation" 1 boolean value (8 bit, 0 or 1). .TP 7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/missing new/xf86-input-evdev-2.10.5/missing --- old/xf86-input-evdev-2.10.4/missing 2014-11-26 00:23:52.000000000 +0100 +++ new/xf86-input-evdev-2.10.5/missing 2017-01-18 04:15:30.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/src/emuMB.c new/xf86-input-evdev-2.10.5/src/emuMB.c --- old/xf86-input-evdev-2.10.4/src/emuMB.c 2016-09-06 05:51:21.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/src/emuMB.c 2016-11-21 05:59:44.000000000 +0100 @@ -45,6 +45,7 @@ static Atom prop_mbemu = 0; /* Middle button emulation on/off property */ static Atom prop_mbtimeout = 0; /* Middle button timeout property */ +static Atom prop_mbbuton = 0; /* Middle button target button property */ /* * Lets create a simple finite-state machine for 3 button emulation: * @@ -185,6 +186,7 @@ { EvdevPtr pEvdev = pInfo->private; int id; + int mapped_id; #if HAVE_THREADED_INPUT input_lock(); @@ -194,7 +196,10 @@ pEvdev->emulateMB.pending = FALSE; if ((id = stateTab[pEvdev->emulateMB.state][4][0]) != 0) { - EvdevPostButtonEvent(pInfo, abs(id), + mapped_id = abs(id); + if (mapped_id == 2) + mapped_id = pEvdev->emulateMB.button; + EvdevPostButtonEvent(pInfo, mapped_id, (id >= 0) ? BUTTON_PRESS : BUTTON_RELEASE); pEvdev->emulateMB.state = stateTab[pEvdev->emulateMB.state][4][2]; @@ -226,6 +231,7 @@ { EvdevPtr pEvdev = pInfo->private; int id; + int mapped_id; int *btstate; int ret = FALSE; @@ -244,7 +250,10 @@ if ((id = stateTab[pEvdev->emulateMB.state][*btstate][0]) != 0) { - EvdevQueueButtonEvent(pInfo, abs(id), (id >= 0)); + mapped_id = abs(id); + if (mapped_id == 2) + mapped_id = pEvdev->emulateMB.button; + EvdevQueueButtonEvent(pInfo, mapped_id, (id >= 0)); ret = TRUE; } if ((id = stateTab[pEvdev->emulateMB.state][*btstate][1]) != 0) @@ -301,12 +310,23 @@ EvdevMBEmuPreInit(InputInfoPtr pInfo) { EvdevPtr pEvdev = (EvdevPtr)pInfo->private; + int bt; pEvdev->emulateMB.enabled = xf86SetBoolOption(pInfo->options, "Emulate3Buttons", FALSE); pEvdev->emulateMB.timeout = xf86SetIntOption(pInfo->options, "Emulate3Timeout", 50); + bt = xf86SetIntOption(pInfo->options, "Emulate3Button", 2); + if (bt < 0 || bt > EVDEV_MAXBUTTONS) { + xf86IDrvMsg(pInfo, X_WARNING, "Invalid Emulate3Button value: %d\n", + bt); + xf86IDrvMsg(pInfo, X_WARNING, "Middle button emulation disabled.\n"); + + pEvdev->emulateMB.enabled = FALSE; + } + + pEvdev->emulateMB.button = bt; } void @@ -338,6 +358,7 @@ { InputInfoPtr pInfo = dev->public.devicePrivate; EvdevPtr pEvdev = pInfo->private; + int bt; if (atom == prop_mbemu) { @@ -353,6 +374,18 @@ if (!checkonly) pEvdev->emulateMB.timeout = *((CARD32*)val->data); + } else if (atom == prop_mbbuton) + { + if (val->format != 8 || val->size != 1 || val->type != XA_INTEGER) + return BadMatch; + + bt = *((CARD8*)val->data); + + if (bt < 0 || bt > EVDEV_MAXBUTTONS) + return BadValue; + + if (!checkonly) + pEvdev->emulateMB.button = bt; } return Success; @@ -390,5 +423,15 @@ return; XISetDevicePropertyDeletable(dev, prop_mbtimeout, FALSE); + prop_mbbuton = MakeAtom(EVDEV_PROP_MIDBUTTON_BUTTON, + strlen(EVDEV_PROP_MIDBUTTON_BUTTON), + TRUE); + rc = XIChangeDeviceProperty(dev, prop_mbbuton, XA_INTEGER, 8, PropModeReplace, 1, + &pEvdev->emulateMB.button, FALSE); + + if (rc != Success) + return; + XISetDevicePropertyDeletable(dev, prop_mbbuton, FALSE); + XIRegisterPropertyHandler(dev, EvdevMBEmuSetProperty, NULL, NULL); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/src/evdev.c new/xf86-input-evdev-2.10.5/src/evdev.c --- old/xf86-input-evdev-2.10.4/src/evdev.c 2016-06-02 01:41:25.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/src/evdev.c 2017-01-03 02:26:00.000000000 +0100 @@ -784,7 +784,6 @@ if (ev->code >= ABS_MT_SLOT) { EvdevProcessTouchEvent(pInfo, ev); - pEvdev->abs_queued = 1; } else if (!pEvdev->mt_mask) { map = pEvdev->abs_axis_map[ev->code]; @@ -1238,7 +1237,7 @@ return; /* Absolute multitouch axes: adjust mapping and axes counts. */ - for (axis = ABS_MT_SLOT; axis < ABS_MAX; axis++) + for (axis = ABS_MT_SLOT; axis <= ABS_MAX; axis++) { int j; Bool skip = FALSE; @@ -1288,7 +1287,7 @@ goto out; /* Find number of absolute axis, including MT ones, will decrease later. */ - for (i = 0; i < ABS_MAX; i++) + for (i = 0; i <= ABS_MAX; i++) if (libevdev_has_event_code(pEvdev->dev, EV_ABS, i)) num_axes++; @@ -1456,7 +1455,7 @@ } for (i = 0; i < num_touches; i++) { - for (axis = ABS_MT_TOUCH_MAJOR; axis < ABS_MAX; axis++) { + for (axis = ABS_MT_TOUCH_MAJOR; axis <= ABS_MAX; axis++) { if (pEvdev->abs_axis_map[axis] >= 0) { int val = pEvdev->mtdev ? 0 : libevdev_get_current_slot(pEvdev->dev); /* XXX: read initial values from mtdev when it adds support @@ -1669,7 +1668,7 @@ if (!libevdev_has_event_type(pEvdev->dev, EV_REL)) goto out; - for (i = 0; i < REL_MAX; i++) { + for (i = 0; i <= REL_MAX; i++) { if (i == REL_WHEEL || i == REL_HWHEEL || i == REL_DIAL) continue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-input-evdev-2.10.4/src/evdev.h new/xf86-input-evdev-2.10.5/src/evdev.h --- old/xf86-input-evdev-2.10.4/src/evdev.h 2016-09-06 05:51:21.000000000 +0200 +++ new/xf86-input-evdev-2.10.5/src/evdev.h 2016-11-21 05:59:44.000000000 +0100 @@ -196,6 +196,7 @@ int state; /* state machine (see bt3emu.c) */ Time expires; /* time of expiry */ Time timeout; + uint8_t button; /* phys button to emit */ } emulateMB; /* Third mouse button emulation */ struct emulate3B {