Hello community, here is the log from the commit of package xf86-input-evdev for openSUSE:Factory checked in at 2013-07-12 20:59:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2013-04-02 13:31:20.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xf86-input-evdev.new/xf86-input-evdev.changes 2013-07-12 20:59:12.000000000 +0200 @@ -1,0 +2,11 @@ +Thu Jul 11 19:25:10 UTC 2013 - [email protected] + +- Update to version 2.8.1: + A new option was added, "TypeName" defines the + XI device type provided in the XListInputDevices() reply. + Two fixes, one for a set of MT devices without legacy axes, one for a + misconfiguration (inertia of 0 should be no inertia). + Switch default model to pc104, but the switch to pc104 has no effect, + it's merely to make it more explicit. + +------------------------------------------------------------------- Old: ---- xf86-input-evdev-2.8.0.tar.bz2 New: ---- xf86-input-evdev-2.8.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xf86-input-evdev.spec ++++++ --- /var/tmp/diff_new_pack.R4A6Nf/_old 2013-07-12 20:59:13.000000000 +0200 +++ /var/tmp/diff_new_pack.R4A6Nf/_new 2013-07-12 20:59:13.000000000 +0200 @@ -17,7 +17,7 @@ Name: xf86-input-evdev -Version: 2.8.0 +Version: 2.8.1 Release: 0 Summary: Generic Linux input driver for the Xorg X server License: MIT ++++++ xf86-input-evdev-2.8.0.tar.bz2 -> xf86-input-evdev-2.8.1.tar.bz2 ++++++ ++++ 3504 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-evdev-2.8.0/ChangeLog new/xf86-input-evdev-2.8.1/ChangeLog --- old/xf86-input-evdev-2.8.0/ChangeLog 2013-03-26 07:03:59.000000000 +0100 +++ new/xf86-input-evdev-2.8.1/ChangeLog 2013-07-11 03:19:30.000000000 +0200 @@ -1,3 +1,97 @@ +commit 8a9b1ec6b58a36910a03f3e8b1f9bc8d91f87204 +Author: Peter Hutterer <[email protected]> +Date: Thu Jul 11 11:09:24 2013 +1000 + + evdev 2.8.1 + + Signed-off-by: Peter Hutterer <[email protected]> + +commit 356565111a6bb98f15fbaaf4f527aed8c87b477b +Author: Peter Hutterer <[email protected]> +Date: Thu Jun 27 05:47:38 2013 +1000 + + Don't allow a wheel emulation inertia of 0 (#66125) + + Inertia of 0 results in an infinite loop of events being sent to the server. + + X.Org Bug 66125 <http://bugs.freedesktop.org/show_bug.cgi?id=66125> + + Signed-off-by: Peter Hutterer <[email protected]> + +commit fff3a60fbf5c81b337ae4eaf160feacdfc8c2465 +Author: Peter Hutterer <[email protected]> +Date: Wed May 29 13:26:57 2013 +1000 + + Use EvdevBitIsSet, not the server's BitIsOn + + Signed-off-by: Peter Hutterer <[email protected]> + +commit 8f209ac60d10ba61aa6ea2bec02dbfa54ebe8f17 +Author: Peter Hutterer <[email protected]> +Date: Wed May 29 07:18:19 2013 +1000 + + Drop cached name and led_bitmask - nothing reads this + + Both fields are write-only as of xf86-input-evdev-2.5.99.902-1-g1ced7ec + + Signed-off-by: Peter Hutterer <[email protected]> + +commit a0d41af8969b91ec51ebdfb966ccc47e5c40329a +Author: Peter Hutterer <[email protected]> +Date: Mon May 27 10:19:15 2013 +1000 + + Switch default model to pc104. + + As of xkeyboard-config 1.9, the evdev model is hidden (c887d2876) + The server switched to pc105 with version 1.8 (1df4bd601). + + The evdev model resolves to pc104 anyway, so this commit has no real effect + other than to switch from a catch-all rule to explicit. + Use pc104 so this is easy to find for those investigating the code and + wondering why. pc104 is the 'correct' geometry for the us layout, which is + the default after all. Switching to pc105 would show keys missing if no + model is set (e.g. on uk/de layouts) but it would be the wrong layout for + the default. + + Signed-off-by: Peter Hutterer <[email protected]> + Acked-by: Daniel Stone <[email protected]> + +commit dea1d1a3906b98b491e9760b3304f881c6afec5e +Author: Peter Hutterer <[email protected]> +Date: Mon Apr 29 11:48:12 2013 +1000 + + Fail to set up axes for devices that only have MT axes but no ABS_X/Y equivalents (#64029) + + The kernel should give us ABS_X/Y for backwards compat but some devices + don't. For now, ignore these devices as evdev is not suited to handle this + yet and will crash if a device is set up without axes (i.e. + pEvdev->vals == NULL) and later receives an event from an MT axis. + + X.Org Bug 64029 <http://bugs.freedesktop.org/show_bug.cgi?id=64029> + + Signed-off-by: Peter Hutterer <[email protected]> + Reviewed-by: Benjamin Tissoires <[email protected]> + +commit b59a1a25dad4437e013ce8d3d65d4591c6f4ee4a +Author: Peter Hutterer <[email protected]> +Date: Tue Apr 2 14:12:26 2013 +1000 + + Add option TypeName (#62831) + + evdev tries to assign the right XI 1.x type-name based on various device + capabilities. In some cases, that fails. e.g. the Mionix Naos 5000 mouse + looks like a keyboard. And we assign a keyboard type in that case since + there are plenty of keyboards that also advertise some axes or others. + + Add a new option TypeName to allow for system-wide configuration of such + devices in a quirks file. + + This can also be used to address #55867 + + X.Org Bug 62831 <http://bugs.freedesktop.org/show_bug.cgi?id=62831> + + Signed-off-by: Peter Hutterer <[email protected]> + commit 5138cd2ff47a1a28db82688b932cb1ecd618778f Author: Peter Hutterer <[email protected]> Date: Tue Mar 26 16:01:39 2013 +1000 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-evdev-2.8.0/configure.ac new/xf86-input-evdev-2.8.1/configure.ac --- old/xf86-input-evdev-2.8.0/configure.ac 2013-03-26 07:01:19.000000000 +0100 +++ new/xf86-input-evdev-2.8.1/configure.ac 2013-07-11 03:09:15.000000000 +0200 @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-input-evdev], - [2.8.0], + [2.8.1], [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' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-evdev-2.8.0/man/evdev.man new/xf86-input-evdev-2.8.1/man/evdev.man --- old/xf86-input-evdev-2.8.0/man/evdev.man 2012-10-03 05:07:10.000000000 +0200 +++ new/xf86-input-evdev-2.8.1/man/evdev.man 2013-04-16 02:25:02.000000000 +0200 @@ -220,6 +220,12 @@ .I N2 is mapped to the positive Y axis motion. Default: "4 5". Property: "Evdev Wheel Emulation Axes". +.TP 7 +.BI "Option \*qTypeName\*q \*q"type"\*q +Specify the X Input 1.x type (see XListInputDevices(__libmansuffix__)). +There is rarely a need to use this option, evdev will guess the device type +based on the device's capabilities. This option is provided for devices that +need quirks. .SH SUPPORTED PROPERTIES The following properties are provided by the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-evdev-2.8.0/missing new/xf86-input-evdev-2.8.1/missing --- old/xf86-input-evdev-2.8.0/missing 2013-01-21 01:52:02.000000000 +0100 +++ new/xf86-input-evdev-2.8.1/missing 2013-06-06 02:10:33.000000000 +0200 @@ -1,10 +1,10 @@ #! /bin/sh -# Common stub for a few missing GNU programs while installing. +# Common wrapper for a few potentially missing GNU programs. -scriptversion=2012-01-06.18; # UTC +scriptversion=2012-06-26.16; # UTC -# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <[email protected]>, 1996. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <[email protected]>, 1996. # 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 @@ -29,61 +29,33 @@ exit 1 fi -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, 'missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi +case $1 in -msg="missing on your system" + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file 'aclocal.m4' - autoconf touch file 'configure' - autoheader touch file 'config.h.in' - autom4te touch the output file, or create a stub one - automake touch all 'Makefile.in' files - bison create 'y.tab.[ch]', if possible, from existing .[ch] - flex create 'lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create 'lex.yy.c', if possible, from existing .c - makeinfo touch the output file - yacc create 'y.tab.[ch]', if possible, from existing .[ch] + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. @@ -98,228 +70,141 @@ ;; -*) - echo 1>&2 "$0: Unknown '$1' option" + echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; +# Run the given program, remember its exit status. +"$@"; st=$? - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running '$TOOL --version' or '$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'acinclude.m4' or '${configure_ac}'. You might want - to install the Automake and Perl packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified '${configure_ac}'. You might want to install the - Autoconf and GNU m4 packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'acconfig.h' or '${configure_ac}'. You might want - to install the Autoconf and GNU m4 packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; +# If it succeeded, we are done. +test $st -eq 0 && exit 0 - automake*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. - You might want to install the Automake and Perl packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: '$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get '$1' as part of Autoconf from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: '$1' $msg. You should only need it if - you modified a '.y' file. You may need the Bison package - in order for those modifications to take effect. You can get - Bison from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a '.l' file. You may need the Flex package - in order for those modifications to take effect. You can get - Flex from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - Help2man package in order for those modifications to take - effect. You can get Help2man from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a '.texi' or '.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy 'make' (AIX, - DU, IRIX). You might want to install the Texinfo package or - the GNU make package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - *) - echo 1>&2 "\ -WARNING: '$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the 'README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing '$1' program." - exit 1 - ;; -esac +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi -exit 0 +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'automa4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-evdev-2.8.0/src/emuWheel.c new/xf86-input-evdev-2.8.1/src/emuWheel.c --- old/xf86-input-evdev-2.8.0/src/emuWheel.c 2013-02-05 11:03:41.000000000 +0100 +++ new/xf86-input-evdev-2.8.1/src/emuWheel.c 2013-07-11 03:08:37.000000000 +0200 @@ -392,7 +392,7 @@ inertia = *((CARD16*)val->data); - if (inertia < 0) + if (inertia <= 0) return BadValue; if (!checkonly) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-evdev-2.8.0/src/evdev.c new/xf86-input-evdev-2.8.1/src/evdev.c --- old/xf86-input-evdev-2.8.0/src/evdev.c 2013-02-12 04:19:49.000000000 +0100 +++ new/xf86-input-evdev-2.8.1/src/evdev.c 2013-07-11 03:08:37.000000000 +0200 @@ -96,7 +96,7 @@ static const char *evdevDefaults[] = { "XkbRules", "evdev", - "XkbModel", "evdev", + "XkbModel", "pc104", /* the right model for 'us' */ "XkbLayout", "us", NULL }; @@ -1267,7 +1267,7 @@ for (j = 0; j < ArrayLength(mt_axis_mappings); j++) { if (mt_axis_mappings[j].mt_code == axis && - BitIsOn(pEvdev->abs_bitmask, mt_axis_mappings[j].code)) + EvdevBitIsSet(pEvdev->abs_bitmask, mt_axis_mappings[j].code)) { mt_axis_mappings[j].needs_mapping = TRUE; skip = TRUE; @@ -1283,6 +1283,15 @@ num_axes--; } } + + /* device only has mt-axes. the kernel should give us ABS_X etc for + backwards compat but some devices don't have it. */ + if (num_axes == 0 && num_mt_axes > 0) { + xf86IDrvMsg(pInfo, X_ERROR, + "found only multitouch-axes. That shouldn't happen.\n"); + goto out; + } + #endif #ifdef HAVE_SMOOTH_SCROLLING @@ -1974,12 +1983,10 @@ int i, len; struct input_id id; - char name[1024] = {0}; unsigned long bitmask[NLONGS(EV_CNT)] = {0}; unsigned long key_bitmask[NLONGS(KEY_CNT)] = {0}; unsigned long rel_bitmask[NLONGS(REL_CNT)] = {0}; unsigned long abs_bitmask[NLONGS(ABS_CNT)] = {0}; - unsigned long led_bitmask[NLONGS(LED_CNT)] = {0}; if (ioctl(pInfo->fd, EVIOCGID, &id) < 0) @@ -1991,13 +1998,6 @@ pEvdev->id_vendor = id.vendor; pEvdev->id_product = id.product; - if (ioctl(pInfo->fd, EVIOCGNAME(sizeof(name) - 1), name) < 0) { - xf86IDrvMsg(pInfo, X_ERROR, "ioctl EVIOCGNAME failed: %s\n", strerror(errno)); - goto error; - } - - strcpy(pEvdev->name, name); - len = ioctl(pInfo->fd, EVIOCGBIT(0, sizeof(bitmask)), bitmask); if (len < 0) { xf86IDrvMsg(pInfo, X_ERROR, "ioctl EVIOCGBIT for bitmask failed: %s\n", @@ -2025,15 +2025,6 @@ memcpy(pEvdev->abs_bitmask, abs_bitmask, len); - len = ioctl(pInfo->fd, EVIOCGBIT(EV_LED, sizeof(led_bitmask)), led_bitmask); - if (len < 0) { - xf86IDrvMsg(pInfo, X_ERROR, "ioctl EVIOCGBIT for EV_LED failed: %s\n", - strerror(errno)); - goto error; - } - - memcpy(pEvdev->led_bitmask, led_bitmask, len); - /* * Do not try to validate absinfo data since it is not expected * to be static, always refresh it in evdev structure. @@ -2548,6 +2539,9 @@ /* Release string allocated in EvdevOpenDevice. */ free(pEvdev->device); pEvdev->device = NULL; + + free(pEvdev->type_name); + pEvdev->type_name = NULL; } xf86DeleteInput(pInfo, flags); } @@ -2579,6 +2573,8 @@ pEvdev->rel_axis_map[0] = 0; pEvdev->rel_axis_map[1] = 1; + pEvdev->type_name = NULL; + return pEvdev; } @@ -2623,6 +2619,14 @@ goto error; } + /* Overwrite type_name with custom-defined one (#62831). + Note: pInfo->type_name isn't freed so we need to manually do this + */ + pEvdev->type_name = xf86SetStrOption(pInfo->options, + "TypeName", + pInfo->type_name); + pInfo->type_name = pEvdev->type_name; + EvdevAddDevice(pInfo); if (pEvdev->flags & EVDEV_BUTTON_EVENTS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-evdev-2.8.0/src/evdev.h new/xf86-input-evdev-2.8.1/src/evdev.h --- old/xf86-input-evdev-2.8.0/src/evdev.h 2013-02-05 11:03:41.000000000 +0100 +++ new/xf86-input-evdev-2.8.1/src/evdev.h 2013-07-11 03:08:37.000000000 +0200 @@ -235,12 +235,10 @@ OsTimerPtr reopen_timer; /* Cached info from device. */ - char name[1024]; unsigned long bitmask[NLONGS(EV_CNT)]; unsigned long key_bitmask[NLONGS(KEY_CNT)]; unsigned long rel_bitmask[NLONGS(REL_CNT)]; unsigned long abs_bitmask[NLONGS(ABS_CNT)]; - unsigned long led_bitmask[NLONGS(LED_CNT)]; struct input_absinfo absinfo[ABS_CNT]; /* minor/major number */ @@ -251,6 +249,8 @@ EventQueueRec queue[EVDEV_MAXQUEUE]; enum fkeymode fkeymode; + + char *type_name; } EvdevRec, *EvdevPtr; /* Event posting functions */ -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
