Hello community,
here is the log from the commit of package xorg-x11-driver-input for openSUSE:Factory
checked in at Fri Sep 3 14:59:07 CEST 2010.
--------
--- xorg-x11-driver-input/xorg-x11-driver-input.changes 2010-08-23 20:13:36.000000000 +0200
+++ /mounts/work_src_done/STABLE/xorg-x11-driver-input/xorg-x11-driver-input.changes 2010-09-01 18:00:25.000000000 +0200
@@ -1,0 +2,79 @@
+Wed Sep 1 17:58:21 CEST 2010 - tiwai@suse.de
+
+- revived synaptics clickpad and LED patches
+- fix / improve synaptics clickpad device handling (bnc#620000)
+- fix right/middle-button capabilities for synaptics (bnc#620328)
+- fix 64bit incompatibility in synaptics
+- refreshed patches in synaptics
+- disable unnecessary serial-retry patch for synaptics; this can
+ be rather problematic on some machines
+- add filter-bogus-packet patch to make clickpad on some laptops
+ somehow usable (still pretty bad performance without the pending
+ multi-touch patch!) (bnc#624356)
+
+-------------------------------------------------------------------
+Wed Sep 1 08:03:00 CEST 2010 - sndirsch@suse.de
+
+- xf86-input-synaptics 1.3.0
+ * Just one more patch on top of the RC, a man page correction
+ that I should have pushed earlier. Other than that, the driver
+ looks reasonably stable and good enough to be pushed out.
+
+-------------------------------------------------------------------
+Sun Aug 29 16:36:39 CEST 2010 - sndirsch@suse.de
+
+- xf86-input-synaptics-xorg.conf.d_snippet.diff
+ * obsoletes 20-synaptics.conf
+
+-------------------------------------------------------------------
+Sun Aug 29 09:03:13 CEST 2010 - sndirsch@suse.de
+
+- xf86-input-aiptek 1.3.1
+- xf86-input-elographics 1.2.4
+ * A long overdue update of the elographics drivers that includes
+ the build fixes for the new input APIs in use since server 1.7.
+ These fixes have been on the master branch for quite a while,
+ but no release has followed them.
+- xf86-input-evdev 2.5.0
+ * No particularly exciting commits went in since the 2.4.0, evdev
+ is quite stable and boring - as it should be. So we have a few
+ memory leak fixes, man page updates, build system fixes and
+ other misc stuff. The only really new behaviour: middle mouse
+ button emulation is off by default.
+- xf86-input-synaptics 1.2.99.901
+ * We've seen a lot of autotool cleanups and they constitute a
+ large part of the changes. This also means we require
+ util-macros 1.8. Some general fixes, the most important of
+ which have found their way into the 1.2.x stable releases.
+ * The most visible feature change is the new pointer accel
+ mechanism. Since the server got its new accel methods,
+ synaptics was accelerated twice - once in the driver, once
+ in the server. This lead to a really fast and sometimes
+ confusing pointer behaviour. This is fixed now but it does
+ lead to a slower pointer. We'll be trying to find some middle
+ ground there, possibly following the motto of "one size
+ doesn't quite fit anyone".
+ * The driver installs the xorg.conf.d snippet as well, assigning
+ itself to all touchpads by default. At this point I'd like to
+ point out again that "synaptics" is merely a historical name.
+ Under Linux, this is the generic touchpad driver for all
+ touchpads that are supported by the kernel.
+ * the default speed has been increased again after quite a few
+ complaints that the speed was too slow.
+ * the driver now defaults to two-finger emulation on if a valid
+ width is reported by the kernel.
+ * coasting is now enabled by default, using a friction parameter
+ to stop coasting after a bit.
+- xf86-input-vmmouse 12.6.10
+- obsoletes patches
+ * xf86-input-elographics.diff
+- adjusted patches
+ * xf86-input-synaptics-retry-serial-open.diff
+ * xf86-input-synaptics-settings.diff
+ * xf86-input-synaptics-wait.diff
+- disabled clickpad patches for now
+ * xf86-input-synaptics-add-clickpad-support
+ * xf86-input-synaptics-add-led-support
+ * xf86-input-synaptics-clickpad_blacklist_appletouch
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
20-synaptics.conf
xf86-input-aiptek-1.3.0.tar.bz2
xf86-input-elographics-1.2.3.tar.bz2
xf86-input-elographics.diff
xf86-input-evdev-2.4.0.tar.bz2
xf86-input-synaptics-1.2.2.tar.bz2
xf86-input-synaptics-add-clickpad-support
xf86-input-synaptics-add-led-support
xf86-input-synaptics-clickpad_blacklist_appletouch
xf86-input-synaptics-retry-serial-open.diff
xf86-input-vmmouse-12.6.9.tar.bz2
New:
----
xf86-input-aiptek-1.3.1.tar.bz2
xf86-input-elographics-1.2.4.tar.bz2
xf86-input-evdev-2.5.0.tar.bz2
xf86-input-synaptics-1.3.0.tar.bz2
xf86-input-synaptics-64bit-fix.diff
xf86-input-synaptics-add-clickpad-support.diff
xf86-input-synaptics-add-led-support.diff
xf86-input-synaptics-clickpad-doc-update.diff
xf86-input-synaptics-clickpad-threshold.diff
xf86-input-synaptics-filter-bogus-coord.diff
xf86-input-synaptics-fix-clickpad-capabilities.diff
xf86-input-synaptics-led-double-tap.diff
xf86-input-synaptics-move-threshold.diff
xf86-input-synaptics-xorg.conf.d_snippet.diff
xf86-input-vmmouse-12.6.10.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-input.spec ++++++
--- /var/tmp/diff_new_pack.YY6jJD/_old 2010-09-03 14:34:44.000000000 +0200
+++ /var/tmp/diff_new_pack.YY6jJD/_new 2010-09-03 14:34:44.000000000 +0200
@@ -23,7 +23,7 @@
BuildRequires: Mesa-devel pkgconfig udev xorg-x11-proto-devel xorg-x11-server-sdk
Url: http://xorg.freedesktop.org/
Version: 7.5
-Release: 12
+Release: 13
License: MIT License (or similar)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -35,8 +35,8 @@
Summary: X.Org input drivers
ExcludeArch: s390 s390x
Source0: xf86-input-acecad-1.4.0.tar.bz2
-Source1: xf86-input-aiptek-1.3.0.tar.bz2
-Source8: xf86-input-elographics-1.2.3.tar.bz2
+Source1: xf86-input-aiptek-1.3.1.tar.bz2
+Source8: xf86-input-elographics-1.2.4.tar.bz2
Source10: xf86-input-fpit-1.3.0.tar.bz2
Source11: xf86-input-hyperpen-1.3.0.tar.bz2
Source12: xf86-input-jamstudio-1.2.0.tar.bz2
@@ -45,26 +45,30 @@
Source18: xf86-input-mouse-1.5.0.tar.bz2
Source19: xf86-input-mutouch-1.2.1.tar.bz2
Source21: xf86-input-penmount-1.4.1.tar.bz2
-Source26: xf86-input-vmmouse-12.6.9.tar.bz2
+Source26: xf86-input-vmmouse-12.6.10.tar.bz2
Source27: xf86-input-void-1.3.0.tar.bz2
-Source29: xf86-input-synaptics-1.2.2.tar.bz2
-Source30: xf86-input-evdev-2.4.0.tar.bz2
+Source29: xf86-input-synaptics-1.3.0.tar.bz2
+Source30: xf86-input-evdev-2.5.0.tar.bz2
Source33: xf86-input-wacom-0.10.8.tar.bz2
Source42: 11-mouse.conf
-Source43: 20-synaptics.conf
Source45: 65-xorg-wacom.rules
Patch2: xf86-input-jamstudio.diff
Patch23: xf86-input-synaptics-wait.diff
Patch24: xf86-input-synaptics-settings.diff
-Patch38: xf86-input-elographics.diff
Patch39: xf86-input-fpit.diff
Patch40: xf86-input-hyperpen.diff
Patch41: xf86-input-mutouch.diff
-Patch43: xf86-input-synaptics-retry-serial-open.diff
-Patch44: xf86-input-synaptics-add-clickpad-support
-Patch45: xf86-input-synaptics-add-led-support
-Patch46: xf86-input-synaptics-clickpad_blacklist_appletouch
Patch47: xf86-input-vmmouse-iopl.diff
+Patch48: xf86-input-synaptics-xorg.conf.d_snippet.diff
+Patch49: xf86-input-synaptics-add-clickpad-support.diff
+Patch50: xf86-input-synaptics-clickpad-doc-update.diff
+Patch51: xf86-input-synaptics-add-led-support.diff
+Patch52: xf86-input-synaptics-led-double-tap.diff
+Patch53: xf86-input-synaptics-64bit-fix.diff
+Patch54: xf86-input-synaptics-fix-clickpad-capabilities.diff
+Patch55: xf86-input-synaptics-clickpad-threshold.diff
+Patch56: xf86-input-synaptics-move-threshold.diff
+Patch57: xf86-input-synaptics-filter-bogus-coord.diff
%description
This package contains X.Org input drivers.
@@ -80,13 +84,16 @@
pushd xf86-input-synaptics-*
%patch23 -p0
%patch24 -p0
-%patch43 -p1
-%patch44 -p1
-%patch45 -p1
-%patch46 -p1
-popd
-pushd xf86-input-elographics-*
-%patch38 -p1
+%patch48 -p0
+%patch49 -p1
+%patch50 -p1
+%patch51 -p1
+%patch52 -p1
+%patch53 -p1
+%patch54 -p1
+%patch55 -p1
+%patch56 -p1
+%patch57 -p1
popd
pushd xf86-input-fpit-*
%patch39 -p1
@@ -121,7 +128,7 @@
rm -f $RPM_BUILD_ROOT/usr/share/hal/fdi/policy/20thirdparty/11-x11-vmmouse.fdi
rm -f $RPM_BUILD_ROOT/usr/%{_lib}/hal/hal-probe-vmmouse
mkdir -p $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
-install -m 644 %{S:42} %{S:43} xf86-input-wacom-*/conf/50-wacom.conf \
+install -m 644 %{S:42} xf86-input-wacom-*/conf/50-wacom.conf \
$RPM_BUILD_ROOT/etc/X11/xorg.conf.d
mkdir -p $RPM_BUILD_ROOT/lib/udev/rules.d/
install -m 644 %{S:45} $RPM_BUILD_ROOT/lib/udev/rules.d/
++++++ xf86-input-aiptek-1.3.0.tar.bz2 -> xf86-input-aiptek-1.3.1.tar.bz2 ++++++
++++ 7377 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-aiptek-1.3.0/ChangeLog new/xf86-input-aiptek-1.3.1/ChangeLog
--- old/xf86-input-aiptek-1.3.0/ChangeLog 2009-09-11 04:05:26.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/ChangeLog 2010-08-10 16:27:36.000000000 +0200
@@ -1,3 +1,276 @@
+commit 209b9147799079981db4abebdbac093dec59d5a5
+Author: Gaetan Nadon
+Date: Thu May 27 19:35:46 2010 -0400
+
+ config: use AC_PROG_INSTALL now supplied by XORG_DEFAULT_OPTIONS
+
+ It depends on util-macros 1.8
+ The existing statement can now be removed from the configuration file.
+
+ Signed-off-by: Gaetan Nadon
+
+commit 7a08e526ad7ebe2702269d5a0a048f62b1bfbca1
+Author: Gaetan Nadon
+Date: Thu May 27 19:34:40 2010 -0400
+
+ config: upgrade to util-macros 1.8 for additional man page support
+
+ Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
+ The value of MAN_SUBST is the same for all X.Org packages.
+
+ Use AC_PROG_SED now supplied by XORG_DEFAULT_OPTIONS
+
+ Signed-off-by: Gaetan Nadon
+
+commit e4976108867158f0c90cd1023595f858bea1ea56
+Author: Gaetan Nadon
+Date: Sat Apr 17 18:52:54 2010 -0400
+
+ man: Use Autoconf provided $(AM_V_GEN)$(SED)
+
+ Enables silent rule and use platform appropriate version of sed.
+
+ Signed-off-by: Gaetan Nadon
+
+commit 39f1c78b01fb8f2c0450f02c8f5a6329dff6dd04
+Author: Gaetan Nadon
+Date: Thu Apr 15 10:46:42 2010 -0400
+
+ config: fix warnings, m4 quoting and layout
+
+ Fix some m4 quoting
+ Fix some autoconf warnings
+ Regroup statements per section
+ Add comments
+ Upgrade X.Org macros to 1.4 for INSTALL file copying
+
+ Signed-off-by: Gaetan Nadon
+
+commit 43cdbc01fb1f7197134434b7db00705e4e6c8d56
+Author: Gaetan Nadon
+Date: Thu Apr 15 10:24:16 2010 -0400
+
+ config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
+
+ XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
+ AC_PROG_C_C99. This sets gcc with -std=gnu99.
+ If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
+
+ Signed-off-by: Gaetan Nadon
+
+commit e97e0199a722bdfa30ef0ba070f421e01987ce25
+Author: Gaetan Nadon
+Date: Thu Apr 15 10:22:35 2010 -0400
+
+ config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
+
+ Regroup AC statements at the top.
+
+ Signed-off-by: Gaetan Nadon
+
+commit a4da6aa6996c7030b48b39eafbadeed8e512010e
+Author: Gaetan Nadon
+Date: Thu Apr 15 10:20:43 2010 -0400
+
+ config: update AC_PREREQ statement to 2.60
+
+ Unrelated to the previous patches, the new value simply reflects
+ the reality that the minimum level for autoconf to configure
+ all x.org modules is 2.60 dated June 2006.
+
+ ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
+
+ Signed-off-by: Gaetan Nadon
+
+commit c0aa30c9d92617d0febe521780588e095569216a
+Author: Gaetan Nadon
+Date: Sun Apr 11 14:04:39 2010 -0400
+
+ config: use AC_CHECK_LIB to verify library and add -lm to LIBS
+
+ Ensures library is present and contains the desired symbol.
+
+ Signed-off-by: Gaetan Nadon
+
+commit 0d88d9fb6f1200126212dd45cbddc08f3b75ebfb
+Author: Gaetan Nadon
+Date: Sun Apr 11 10:59:21 2010 -0400
+
+ config: replace hard-coded -DLINUX_INPUT with proper AC_CHECK_HEADERS
+
+ Not all platforms have Linux kernel input subsystem.
+ Automake AC_CHECK_HEADERS is designed for that purpose.
+
+ Signed-off-by: Gaetan Nadon
+
+commit 2996458c2fc88671ba8626de984b2f082042dc62
+Author: Gaetan Nadon
+Date: Sun Apr 11 10:21:40 2010 -0400
+
+ config: remove AH_TOP autoheader statement
+
+ The generated config.h does not need to include xorg-server.h
+ for the content it provides.
+ Add #include in .[hc] files as needed.
+
+ Signed-off-by: Gaetan Nadon
+
+commit be8297b5edd06e8cbf41b06da4588d5f548e627b
+Author: Gaetan Nadon
+Date: Sat Jun 12 09:41:05 2010 -0400
+
+ COPYING: replace stub file with Copyright notices
+
+ Copyright 2003 by Bryan W. Headley
+
+ Signed-off-by: Gaetan Nadon
+
+commit d87747df73114953ac39f3d77ca146adc3b80088
+Author: Olivier Samyn
+Date: Wed Feb 24 00:24:02 2010 +0100
+
+ aiptek: Add keyboard feedback struct initialization.
+
+ Without a call to InitKbdFeedbackClassDeviceStruct, no keyboard events
+ are seen by xev. This adds the call and required callback functions.
+
+ Signed-off-by: Olivier Samyn
+
+ [This patch only fixes the case for X server 1.6 and earlier.]
+ Signed-off-by: Peter Hutterer
+
+commit deb7cb9c89c64f61c870b5eaf8029a600077aecc
+Author: Olivier Samyn
+Date: Wed Feb 24 00:12:42 2010 +0100
+
+ aiptek: Initialize the keymap with 256 items.
+
+ X.Org keymap requires at least 256 defined entries. This patch
+ initialize the keymap with the required entries count.
+
+ Signed-off-by: Olivier Samyn
+ Signed-off-by: Peter Hutterer
+
+commit 01d39e1efea68797b27231fecc8535b440e87ae4
+Author: Olivier Samyn
+Date: Sun Feb 21 00:22:28 2010 +0100
+
+ aiptek: Change index offset for generated key events.
+
+ Since the first 8 elements in the xorg key map are NoSymbol, and the first
+ linux kernel element index is 0, the first keysym is at offset 8 and not 7.
+
+ Signed-off-by: Olivier Samyn
+ Signed-off-by: Peter Hutterer
+
+commit 823d606ca716253ac55ed46ee1559fd17adc0988
+Author: Olivier Samyn
+Date: Sun Feb 21 00:17:57 2010 +0100
+
+ aiptek: Correct linux keymap to keysym index loop.
+
+ Makes the loop iterate over all elements of the linux key map, and if the
+ current macroKey matches, generate a key event.
+
+ Signed-off-by: Olivier Samyn
+ Signed-off-by: Peter Hutterer
+
+commit 8b2eb587cc2ec96e54c28def4fa9388d7bd49c91
+Author: Olivier Samyn
+Date: Wed Feb 17 21:35:11 2010 +0100
+
+ aiptek: Uses event->code instead of event->value
+
+ From the Linux input documentation, on a key press or release event,
+ the actual key code is contained in the event->code field.
+
+ Signed-off-by: Olivier Samyn
+ Reviewed-by: Peter Hutterer
+ Signed-off-by: Peter Hutterer
+
+commit a7460d35743b7343a6dcce13f14cfd28428385bf
+Author: Gaetan Nadon
+Date: Thu Feb 11 10:08:07 2010 -0500
+
+ config: move CWARNFLAGS from configure.ac to Makefile.am
+
+ Compiler warning flags should be explicitly set in the makefile
+ rather than being merged with other packages compiler flags.
+
+ Signed-off-by: Gaetan Nadon
+
+commit 2701762143f7ccdfb95e2b19f963b80d011a3f72
+Author: Alan Coopersmith
+Date: Fri Jan 15 15:05:05 2010 -0800
+
+ Update Sun license notices to current X.Org standard form
+
+ Signed-off-by: Alan Coopersmith
+
+commit 77d46f0a4527ba7919c58b13934a7b9a07a7a810
+Author: Gaetan Nadon
+Date: Tue Dec 15 22:01:02 2009 -0500
+
+ configure.ac: remove unused sdkdir=$(pkg-config...) statement
+
+ The sdkdir variable isn't use, so remove the statement.
+
+ Acked-by: Dan Nicholson
+
+ Signed-off-by: Gaetan Nadon
+
+commit 7de1580b327e2395ae1e393c59c2e6900680981b
+Author: Gaetan Nadon
+Date: Mon Nov 23 09:25:05 2009 -0500
+
+ Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES
+
+ Now that the INSTALL file is generated.
+ Allows running make maintainer-clean.
+
+commit 4c6d7d9a91d35473de9fe8a2aac93747c0d794d1
+Author: Gaetan Nadon
+Date: Wed Oct 28 14:41:40 2009 -0400
+
+ INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206
+
+ Automake 'foreign' option is specified in configure.ac.
+ Remove from Makefile.am
+
+commit 80327029754b63738ee21709b3847681df6278c5
+Author: Gaetan Nadon
+Date: Wed Oct 28 14:09:09 2009 -0400
+
+ INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206
+
+ Add missing INSTALL file. Use standard GNU file on building tarball
+ README may have been updated
+ Remove AUTHORS file as it is empty and no content available yet.
+ Remove NEWS file as it is empty and no content available yet.
+
+commit 59bc379e87489f95f89851e2b5b27bdc680c656f
+Author: Gaetan Nadon
+Date: Mon Oct 26 12:54:20 2009 -0400
+
+ Several driver modules do not have a ChangeLog target in Makefile.am #23814
+
+ The git generated ChangeLog replaces the hand written one.
+ Update configure.ac to xorg-macros level 1.3.
+ Use XORG_DEFAULT_OPTIONS which replaces four XORG_* macros
+ Update Makefile.am to add ChangeLog target if missing
+ Remove ChangeLog from EXTRA_DIST or *CLEAN variables
+ This is a pre-req for the INSTALL_CMD
+
+commit 7e2a262db906b8ac2d59c4ce3ba24312f3b5259f
+Author: Gaetan Nadon
+Date: Thu Oct 22 12:34:16 2009 -0400
+
+ .gitignore: use common defaults with custom section # 24239
+
+ Using common defaults will reduce errors and maintenance.
+ Only the very small or inexistent custom section need periodic maintenance
+ when the structure of the component changes. Do not edit defaults.
+
commit 19ab688471916b0b4ab780ea39b60f2199234f54
Author: Peter Hutterer
Date: Fri Sep 11 12:04:00 2009 +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-aiptek-1.3.0/config.h.in new/xf86-input-aiptek-1.3.1/config.h.in
--- old/xf86-input-aiptek-1.3.0/config.h.in 2009-09-11 04:05:23.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/config.h.in 2010-08-10 16:27:29.000000000 +0200
@@ -1,13 +1,17 @@
/* config.h.in. Generated from configure.ac by autoheader. */
-#include "xorg-server.h"
-
/* Define to 1 if you have the header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the `m' library (-lm). */
+#undef HAVE_LIBM
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_LINUX_INPUT_H
+
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
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-aiptek-1.3.0/configure.ac new/xf86-input-aiptek-1.3.1/configure.ac
--- old/xf86-input-aiptek-1.3.0/configure.ac 2009-09-11 04:03:56.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/configure.ac 2010-08-10 16:26:26.000000000 +0200
@@ -20,54 +20,55 @@
#
# Process this file with autoconf to produce a configure script
-AC_PREREQ(2.57)
+AC_PREREQ([2.60])
AC_INIT([xf86-input-aiptek],
- 1.3.0,
+ [1.3.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
- xf86-input-aiptek)
-
+ [xf86-input-aiptek])
AC_CONFIG_SRCDIR([Makefile.am])
+AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE([dist-bzip2])
+# Initialize Automake
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
-# Require xorg-macros: XORG_DEFAULT_OPTIONS
-m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])])
-XORG_MACROS_VERSION(1.3)
-AM_CONFIG_HEADER([config.h])
-
-# Checks for programs.
+# Initialize libtool
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
-AC_PROG_CC
+
+# Initialize X.Org macros
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS
-AH_TOP([#include "xorg-server.h"])
+# Checks for libraries.
+AC_CHECK_LIB([m],[sqrt])
-AC_ARG_WITH(xorg-module-dir,
- AC_HELP_STRING([--with-xorg-module-dir=DIR],
- [Default xorg module directory [[default=$libdir/xorg/modules]]]),
- [moduledir="$withval"],
- [moduledir="$libdir/xorg/modules"])
-inputdir=${moduledir}/input
-AC_SUBST(inputdir)
+# Checks for header files.
+AC_CHECK_HEADERS([linux/input.h])
-# Checks for extensions
+# Store the list of server defined extensions in REQUIRED_MODULES
XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
XORG_DRIVER_CHECK_EXT(XINPUT, inputproto)
-# Checks for pkg-config packages
+# Obtain compiler/linker options from server and required extensions
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto $REQUIRED_MODULES)
-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
-XORG_CFLAGS="$CWARNFLAGS $XORG_CFLAGS"
-
-# Checks for libraries.
-# Checks for header files.
-AC_HEADER_STDC
+# Define a configure option for an alternate input module directory
+AC_ARG_WITH(xorg-module-dir,
+ AS_HELP_STRING([--with-xorg-module-dir=DIR],
+ [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+ [moduledir="$withval"],
+ [moduledir="$libdir/xorg/modules"])
+inputdir=${moduledir}/input
+AC_SUBST(inputdir)
DRIVER_NAME=aiptek
AC_SUBST([DRIVER_NAME])
-AC_OUTPUT([Makefile src/Makefile man/Makefile])
+AC_CONFIG_FILES([Makefile
+ man/Makefile
+ src/Makefile])
+AC_OUTPUT
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-aiptek-1.3.0/COPYING new/xf86-input-aiptek-1.3.1/COPYING
--- old/xf86-input-aiptek-1.3.0/COPYING 2009-07-30 01:08:33.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/COPYING 2010-08-10 16:25:45.000000000 +0200
@@ -1,12 +1,29 @@
-This is a stub file. This package has not yet had its complete licensing
-information compiled. Please see the individual source files for details on
-your rights to use and modify this software.
+Copyright 2003 by Bryan W. Headley.
-Please submit updated COPYING files to the Xorg bugzilla:
+Lineage: This driver is based on both the xf86HyperPen and xf86Wacom tablet
+ drivers.
-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+ xf86HyperPen -- modified from xf86Summa (c) 1996 Steven Lang
+ (c) 2000 Roland Jansen
+ (c) 2000 Christian Herzog (button & 19200 baud support)
-All licensing questions regarding this software should be directed at the
-Xorg mailing list:
+ xf86Wacom -- (c) 1995-2001 Frederic Lepied
-http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Bryan W. Headley not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Bryan W. Headley makes no
+representations about the suitability of this software for any purpose.
+It is provided "as is" without express or implied warranty.
+ *
+BRYAN W. HEADLEY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL BRYAN W. HEADLEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTIONS, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
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-aiptek-1.3.0/Makefile.am new/xf86-input-aiptek-1.3.1/Makefile.am
--- old/xf86-input-aiptek-1.3.0/Makefile.am 2009-07-30 01:08:33.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/Makefile.am 2010-08-10 16:25:45.000000000 +0200
@@ -18,14 +18,15 @@
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-AUTOMAKE_OPTIONS = foreign
SUBDIRS = src man
-EXTRA_DIST = ChangeLog
-MAINTAINERCLEANFILES = ChangeLog
+MAINTAINERCLEANFILES = ChangeLog INSTALL
-.PHONY: ChangeLog
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
ChangeLog:
$(CHANGELOG_CMD)
-dist-hook: ChangeLog
+dist-hook: ChangeLog INSTALL
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-aiptek-1.3.0/man/Makefile.am new/xf86-input-aiptek-1.3.1/man/Makefile.am
--- old/xf86-input-aiptek-1.3.0/man/Makefile.am 2009-07-30 01:08:33.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/man/Makefile.am 2010-08-10 16:25:45.000000000 +0200
@@ -1,28 +1,25 @@
# $Id$
#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation.
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the copyright holders shall
-# not be used in advertising or otherwise to promote the sale, use or
-# other dealings in this Software without prior written authorization
-# from the copyright holders.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
#
drivermandir = $(DRIVER_MAN_DIR)
@@ -35,25 +32,7 @@
CLEANFILES = $(driverman_DATA)
-SED = sed
-
-# Strings to replace in man pages
-XORGRELSTRING = @PACKAGE_STRING@
- XORGMANNAME = X Version 11
-
-MAN_SUBSTS = \
- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
- -e 's|__xservername__|Xorg|g' \
- -e 's|__xconfigfile__|xorg.conf|g' \
- -e 's|__projectroot__|$(prefix)|g' \
- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
-
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
.man.$(DRIVER_MAN_SUFFIX):
- sed $(MAN_SUBSTS) < $< > $@
+ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
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-aiptek-1.3.0/src/Makefile.am new/xf86-input-aiptek-1.3.1/src/Makefile.am
--- old/xf86-input-aiptek-1.3.0/src/Makefile.am 2009-07-30 01:08:33.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/src/Makefile.am 2010-08-10 16:25:45.000000000 +0200
@@ -24,11 +24,11 @@
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
# _ladir passes a dummy rpath to libtool so the thing will actually link
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
-AM_CFLAGS = $(XORG_CFLAGS) -DLINUX_INPUT
+
+AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS)
@DRIVER_NAME@_drv_la_LTLIBRARIES = @DRIVER_NAME@_drv.la
@DRIVER_NAME@_drv_la_LDFLAGS = -module -avoid-version
@DRIVER_NAME@_drv_ladir = @inputdir@
-@DRIVER_NAME@_drv_la_LIBADD = -lm
@DRIVER_NAME@_drv_la_SOURCES = xf86Aiptek.c xf86Aiptek.h
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-aiptek-1.3.0/src/xf86Aiptek.c new/xf86-input-aiptek-1.3.1/src/xf86Aiptek.c
--- old/xf86-input-aiptek-1.3.0/src/xf86Aiptek.c 2009-08-25 13:13:05.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/src/xf86Aiptek.c 2010-08-10 16:25:45.000000000 +0200
@@ -117,10 +117,6 @@
*
*/
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
#include "xf86Aiptek.h"
#include
#include
@@ -174,7 +170,7 @@
*
* This is a list of X keystrokes the macro keys can send.
*/
-static KeySym aiptek_map[] =
+static KeySym aiptek_map[256] =
{
/* 0x00 .. 0x07 */
NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,NoSymbol,
@@ -192,7 +188,7 @@
static KeySymsRec keysyms =
{
/* map minKeyCode maxKC width */
- aiptek_map, 8, 0x27, 1
+ aiptek_map, 8, 0xff, 1
};
#endif
@@ -452,26 +448,26 @@
sizeof(linux_inputDevice_keyMap[0]);
++i)
{
- if (linux_inputDevice_keyMap[0]==common->currentValues.macroKey)
+ if (linux_inputDevice_keyMap[i]==common->currentValues.macroKey)
{
+ /* First available Keycode begins at 8 => macro+8.
+ * It's pervasive throughout the Xinput drivers, and
+ * no, I don't know why they purposively waste the first 8
+ * positions of the KeySym map...
+ */
+
+ /* Keyboard 'make' (press) event */
+ xf86PostKeyEvent(local->dev, i+8, TRUE,
+ bAbsolute, 0, 5,
+ x, y, common->currentValues.button, xTilt, yTilt);
+ /* Keyboard 'break' (depress) event */
+ xf86PostKeyEvent(local->dev, i+8, FALSE,
+ bAbsolute, 0, 5,
+ x, y, common->currentValues.button, xTilt, yTilt);
break;
}
}
- /* First available Keycode begins at 8 => macro+7.
- * It's pervasive throughout the Xinput drivers, and
- * no, I don't know why they purposively waste the first 8
- * positions of the KeySym map...
- */
-
- /* Keyboard 'make' (press) event */
- xf86PostKeyEvent(local->dev, i+7, TRUE,
- bAbsolute, 0, 5,
- x, y, common->currentValues.button, xTilt, yTilt);
- /* Keyboard 'break' (depress) event */
- xf86PostKeyEvent(local->dev, i+7, FALSE,
- bAbsolute, 0, 5,
- x, y, common->currentValues.button, xTilt, yTilt);
}
/* As the coordinates are ready, we can send events to X */
@@ -866,7 +862,7 @@
default:
{
++eventsInMessage;
- common->currentValues.macroKey = event->value;
+ common->currentValues.macroKey = event->code;
}
break;
}
@@ -1569,6 +1565,23 @@
}
/*
+ * xf86AiptekBellCallback
+ */
+static void
+xf86AiptekBellCallback(int pct, DeviceIntPtr di, pointer ctrl, int x)
+{
+}
+
+/*
+ * xf86AiptekKbdCtrlCallback
+ */
+static void
+xf86AiptekKbdCtrlCallback(DeviceIntPtr di, KeybdCtrl* ctrl)
+{
+}
+
+
+/*
* xf86AiptekProc
*
* Call dispatcher for this driver.
@@ -1648,6 +1661,15 @@
ErrorF("Unable to init Key Class Device\n");
return !Success;
}
+
+ if(InitKbdFeedbackClassDeviceStruct(pAiptek,
+ xf86AiptekBellCallback,
+ xf86AiptekKbdCtrlCallback) == FALSE)
+ {
+ ErrorF("Unable to init Keyboard Feedback Class Device\n");
+ return !Success;
+ }
+
#endif
/* we don't label the axes here, done later in
@@ -2238,7 +2260,7 @@
xf86Msg(X_CONFIG, "%s is in %s mode\n", local->name,
(device->flags & ABSOLUTE_FLAG) ? "absolute" : "relative");
-#ifdef LINUX_INPUT
+#ifdef HAVE_LINUX_INPUT_H
/* The define-name is accurate; the XFree86 keyword is not. We are
* reading from a Linux kernel "Input" device. The Input device
* layer generally supports mice, joysticks, and keyboards. As
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-aiptek-1.3.0/src/xf86Aiptek.h new/xf86-input-aiptek-1.3.1/src/xf86Aiptek.h
--- old/xf86-input-aiptek-1.3.0/src/xf86Aiptek.h 2009-07-30 01:08:33.000000000 +0200
+++ new/xf86-input-aiptek-1.3.1/src/xf86Aiptek.h 2010-08-10 16:25:45.000000000 +0200
@@ -40,8 +40,11 @@
#ifndef _AIPTEK_H_
#define _AIPTEK_H_
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
-#ifdef LINUX_INPUT
+#ifdef HAVE_LINUX_INPUT_H
# include
# include
# ifndef EV_MSC
@@ -56,6 +59,7 @@
# endif
#endif
+#include
#include
#ifndef XFree86LOADER
++++++ xf86-input-elographics-1.2.3.tar.bz2 -> xf86-input-elographics-1.2.4.tar.bz2 ++++++
++++ 61410 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-elographics-1.2.3/ChangeLog new/xf86-input-elographics-1.2.4/ChangeLog
--- old/xf86-input-elographics-1.2.3/ChangeLog 2008-10-21 07:09:40.000000000 +0200
+++ new/xf86-input-elographics-1.2.4/ChangeLog 2010-06-09 04:19:23.000000000 +0200
@@ -1,3 +1,111 @@
+commit 607aed76023e71509b260dc23da7c150c1eff825
+Author: Peter Hutterer
+Date: Wed Jun 9 12:18:14 2010 +1000
+
+ elographics 1.2.4
+
+ Signed-off-by: Peter Hutterer
+
+commit ac31d3e2d16f2b037d1c4e42aef76ddbd2fa1d20
+Author: Peter Hutterer
+Date: Wed Jun 9 12:17:16 2010 +1000
+
+ Remove libcwrappers for malloc and free.
+
+ Signed-off-by: Peter Hutterer
+
+commit ac5366d6e1f26e6ceef3d062ab7df301d623cf54
+Author: Peter Hutterer
+Date: Fri Dec 18 08:42:26 2009 +1000
+
+ Added support for GeneralTouch serial touchscreens.
+
+ Signed-off-by: Ivan Afonichev
+ Signed-off-by: Peter Hutterer
+
+commit b9531248d1b5d00b2ba941f576fc160ea5e1444b
+Author: Michael Smith
+Date: Tue Dec 15 15:01:29 2009 -0500
+
+ xf86EloReadInput(): fix xserver unresponsiveness during touch
+
+ The fix for bug #14109 ensures all bytes are emptied from the OS buffer
+ by looping until xf86WaitForInput returns 0. This patch just changes
+ the timeout from 1 millisecond to 0: we don't want the X server to block
+ if there's no more serial data.
+
+ It also removes the Vmin and Vtime options, which were making the calls
+ to read() block until a complete 10-byte packet buffer could be filled.
+ At 9600 bps, this could pause the X server for up to 9 ms. The code can
+ already handle partial buffers, so all we have to do is get rid of the
+ Vmin.
+
+ Also, if xf86EloGetPacket() returns !Success, we should continue rather
+ than break so the xf86WaitForInput call can decide whether to exit, in
+ case there's more data in the buffer.
+
+ Before the fix, glxgears was giving me about 390 FPS normally and down
+ to 140 FPS when dragging an empty area of the touchscreen. Now it's
+ basically unchanged when the touchscreen is in use (390 -> 385 FPS).
+
+ X.Org Bug 14109 https://bugs.freedesktop.org/show_bug.cgi?id=14109
+
+ Signed-off-by: Michael Smith
+ Signed-off-by: Peter Hutterer
+
+commit 60927fee86100e803f438036daeb94ba0b8e5db7
+Author: Peter Hutterer
+Date: Fri Nov 20 09:12:22 2009 +1000
+
+ Remove unused bits from configure.ac
+
+ Signed-off-by: Peter Hutterer
+
+commit 36d6b8efe232cc20afb74799f013c03cbb79a68b
+Author: Peter Hutterer
+Date: Tue Aug 18 15:36:07 2009 +1000
+
+ Reset local->private to NULL to avoid double-frees. (#23239)
+
+ X.Org Bug 23239 http://bugs.freedesktop.org/show_bug.cgi?id=23239
+
+ Signed-off-by: Peter Hutterer
+
+commit a18af14b1df5271fbe3100df3fcb3a8811981ddf
+Author: Peter Hutterer
+Date: Fri Jul 17 14:44:55 2009 +1000
+
+ Cope with XINPUT ABI 7.
+
+ Signed-off-by: Peter Hutterer
+
+commit c97c9f470636e6caf4374a6930e5fe380f58b8bb
+Author: Paulo Cesar Pereira de Andrade
+Date: Mon Feb 2 19:06:55 2009 -0200
+
+ Janitor: make distcheck, .gitignore.
+
+commit 8230f8bb1f51adc038451fc124394ac72279b5ff
+Author: Alan Coopersmith
+Date: Fri Jan 30 20:18:17 2009 -0800
+
+ Add README with pointers to mailing list, bugzilla & git repos
+
+commit e98045e8101b13720690352b757cdcc3bc806b02
+Author: Matthieu Herrb
+Date: Thu Jan 29 17:19:42 2009 +0100
+
+ Fix InputDriverRec allocation and freeing.
+
+ This caused X server to access free()'d memory on exit path.
+ Thanks to msys.ch for providing a test machine.
+
+commit 6f3ca866c821b8fa49e2278cc1538352a95bb2a9
+Author: Alan Coopersmith
+Date: Fri Jan 9 16:12:34 2009 -0800
+
+ Remove xorgconfig & xorgcfg from See Also list in man page
+
commit 37cd09e99c7f5fa4ce7511b8ed171a3ae130300f
Author: Peter Hutterer
Date: Tue Oct 21 15:33:43 2008 +1030
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-elographics-1.2.3/config.h.in new/xf86-input-elographics-1.2.4/config.h.in
--- old/xf86-input-elographics-1.2.3/config.h.in 2008-10-21 07:09:36.000000000 +0200
+++ new/xf86-input-elographics-1.2.4/config.h.in 2010-06-09 04:18:56.000000000 +0200
@@ -32,6 +32,10 @@
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
/* Name of package */
#undef PACKAGE
@@ -47,6 +51,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
/* Define to the version of this package. */
#undef PACKAGE_VERSION
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-elographics-1.2.3/configure.ac new/xf86-input-elographics-1.2.4/configure.ac
--- old/xf86-input-elographics-1.2.3/configure.ac 2008-10-21 07:03:37.000000000 +0200
+++ new/xf86-input-elographics-1.2.4/configure.ac 2010-06-09 04:18:06.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-input-elographics],
- 1.2.3,
+ 1.2.4,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-input-elographics)
@@ -32,36 +32,19 @@
AM_MAINTAINER_MODE
-DRIVER_NAME=elographics
-AC_SUBST([DRIVER_NAME])
-
+# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG
+m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.2)
AM_CONFIG_HEADER([config.h])
# Checks for programs.
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
AC_PROG_CC
+XORG_CWARNFLAGS
AH_TOP([#include "xorg-server.h"])
-#AC_DEFINE(XFree86LOADER,1,[Stub define for loadable drivers])
-#
-#AC_ARG_ENABLE(XINPUT, AS_HELP_STRING([--enable-xinput],
-# [Build XInput support (default: yes)]),
-# [XINPUT=$enableval],[XINPUT=yes])
-#AM_CONDITIONAL(XINPUT, test "x$XINPUT" = "xyes")
-#if test "x$XINPUT" = "xyes" ; then
-# AC_DEFINE(XINPUT,1,[Enable XInput support])
-#fi
-#
-#AC_ARG_ENABLE(XKB, AS_HELP_STRING([--enable-xkb],
-# [Build XKB support (default: yes)]),
-# [XKB=$enableval],[XKB=yes])
-#AM_CONDITIONAL(XKB, test "x$XKB" = "xyes")
-#if test "x$XKB" = "xyes" ; then
-# AC_DEFINE(XKB,1,[Enable XKB support])
-#fi
-
AC_ARG_WITH(xorg-module-dir,
AC_HELP_STRING([--with-xorg-module-dir=DIR],
[Default xorg module directory [[default=$libdir/xorg/modules]]]),
@@ -77,16 +60,18 @@
# Checks for pkg-config packages
PKG_CHECK_MODULES(XORG, xorg-server xproto $REQUIRED_MODULES)
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
-
-CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src'
-AC_SUBST([CFLAGS])
+XORG_CFLAGS="$CWARNFLAGS $XORG_CFLAGS"
# Checks for libraries.
# Checks for header files.
AC_HEADER_STDC
+DRIVER_NAME=elographics
+AC_SUBST([DRIVER_NAME])
+
XORG_MANPAGE_SECTIONS
XORG_RELEASE_VERSION
+XORG_CHANGELOG
AC_OUTPUT([Makefile src/Makefile man/Makefile])
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-elographics-1.2.3/Makefile.am new/xf86-input-elographics-1.2.4/Makefile.am
--- old/xf86-input-elographics-1.2.3/Makefile.am 2008-06-17 06:38:30.000000000 +0200
+++ new/xf86-input-elographics-1.2.4/Makefile.am 2009-11-20 00:11:42.000000000 +0100
@@ -28,8 +28,7 @@
.PHONY: ChangeLog
ChangeLog:
- (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || \
- (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+ $(CHANGELOG_CMD)
dist-hook: ChangeLog
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-elographics-1.2.3/man/elographics.man new/xf86-input-elographics-1.2.4/man/elographics.man
--- old/xf86-input-elographics-1.2.3/man/elographics.man 2008-10-14 01:47:31.000000000 +0200
+++ new/xf86-input-elographics-1.2.4/man/elographics.man 2009-11-20 00:11:42.000000000 +0100
@@ -75,7 +75,7 @@
.BI "Option \*qModel\*q \*q" string \*q
The touchscreen model. Default: unset. Supported models: "Sunit dSeries".
.SH "SEE ALSO"
-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__).
+__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__).
.SH AUTHORS
Authors include:
Patrick Lecoanet
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-elographics-1.2.3/missing new/xf86-input-elographics-1.2.4/missing
--- old/xf86-input-elographics-1.2.3/missing 2008-04-16 08:21:58.000000000 +0200
+++ new/xf86-input-elographics-1.2.4/missing 2009-12-15 23:54:51.000000000 +0100
@@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2006-05-10.23
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
@@ -18,9 +18,7 @@
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see http://www.gnu.org/licenses/.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -89,6 +87,9 @@
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
Send bug reports to ."
exit $?
;;
@@ -106,15 +107,22 @@
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).
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
case $1 in
- lex|yacc)
+ lex*|yacc*)
# Not GNU programs, they don't have --version.
;;
- tar)
+ tar*)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
@@ -138,7 +146,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case $1 in
+case $program in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -148,7 +156,7 @@
touch aclocal.m4
;;
- autoconf)
+ autoconf*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
@@ -157,7 +165,7 @@
touch configure
;;
- autoheader)
+ autoheader*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
@@ -187,7 +195,7 @@
while read f; do touch "$f"; done
;;
- autom4te)
+ autom4te*)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
@@ -210,7 +218,7 @@
fi
;;
- bison|yacc)
+ 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
@@ -240,7 +248,7 @@
fi
;;
- lex|flex)
+ 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
@@ -263,7 +271,7 @@
fi
;;
- help2man)
+ 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
@@ -277,11 +285,11 @@
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
- exit 1
+ exit $?
fi
;;
- makeinfo)
+ 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
@@ -310,7 +318,7 @@
touch $file
;;
- tar)
+ tar*)
shift
# We have already tried tar in the generic part.
@@ -363,5 +371,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
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-elographics-1.2.3/README new/xf86-input-elographics-1.2.4/README
--- old/xf86-input-elographics-1.2.3/README 1970-01-01 01:00:00.000000000 +0100
+++ new/xf86-input-elographics-1.2.4/README 2009-11-20 00:11:42.000000000 +0100
@@ -0,0 +1,20 @@
+xf86-input-elographics - Elographics input driver for the Xorg X server
+
+Please submit bugs & patches to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/driver/xf86-input-elographics
+
+ http://cgit.freedesktop.org/xorg/driver/xf86-input-elographics
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
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-elographics-1.2.3/src/Makefile.am new/xf86-input-elographics-1.2.4/src/Makefile.am
--- old/xf86-input-elographics-1.2.3/src/Makefile.am 2008-04-16 08:21:52.000000000 +0200
+++ new/xf86-input-elographics-1.2.4/src/Makefile.am 2010-05-04 06:20:57.000000000 +0200
@@ -24,6 +24,8 @@
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
# _ladir passes a dummy rpath to libtool so the thing will actually link
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
+AM_CFLAGS = $(XORG_CFLAGS)
+
@DRIVER_NAME@_drv_la_LTLIBRARIES = @DRIVER_NAME@_drv.la
@DRIVER_NAME@_drv_la_LDFLAGS = -module -avoid-version
@DRIVER_NAME@_drv_ladir = @inputdir@
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-elographics-1.2.3/src/xf86Elo.c new/xf86-input-elographics-1.2.4/src/xf86Elo.c
--- old/xf86-input-elographics-1.2.3/src/xf86Elo.c 2008-10-14 01:52:10.000000000 +0200
+++ new/xf86-input-elographics-1.2.4/src/xf86Elo.c 2010-06-09 04:17:12.000000000 +0200
@@ -421,15 +421,17 @@
#endif
DBG(4, ErrorF("Entering ReadInput\n"));
+
/*
- * Try to get a packet.
+ * Read bytes until there's no data left. We may have more or less than
+ * one packet worth of data in the OS buffer.
*/
- while (xf86WaitForInput(local->fd, ELO_MAX_WAIT/100) > 0) {
+ do {
if(xf86EloGetPacket(priv->packet_buf,
&priv->packet_buf_p,
&priv->checksum,
local->fd) != Success)
- break;
+ continue;
/*
* Process only ELO_TOUCHs here.
@@ -488,6 +490,7 @@
(state == ELO_PRESS) ? "Press" : ((state == ELO_RELEASE) ? "Release" : "Stream")));
}
}
+ while (xf86WaitForInput(local->fd, 0) > 0); /* don't wait, just check */
}
@@ -780,6 +783,10 @@
unsigned char map[] = { 0, 1 };
unsigned char req[ELO_PACKET_SIZE];
unsigned char reply[ELO_PACKET_SIZE];
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ Atom btn_label;
+ Atom axis_labels[2] = { 0, 0 };
+#endif
switch(mode) {
@@ -797,7 +804,11 @@
/*
* Device reports button press for up to 1 button.
*/
- if (InitButtonClassDeviceStruct(dev, 1, map) == FALSE) {
+ if (InitButtonClassDeviceStruct(dev, 1,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ &btn_label,
+#endif
+ map) == FALSE) {
ErrorF("Unable to allocate Elographics touchscreen ButtonClassDeviceStruct\n");
return !Success;
}
@@ -818,6 +829,9 @@
* screen to fit one meter.
*/
if (InitValuatorClassDeviceStruct(dev, 2,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ axis_labels,
+#endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3
xf86GetMotionEvents,
#endif
@@ -827,11 +841,19 @@
}
else {
/* I will map coordinates myself */
- InitValuatorAxisStruct(dev, 0, -1, -1,
+ InitValuatorAxisStruct(dev, 0,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ axis_labels[0],
+#endif
+ -1, -1,
9500,
0 /* min_res */,
9500 /* max_res */);
- InitValuatorAxisStruct(dev, 1, -1, -1,
+ InitValuatorAxisStruct(dev, 1,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ axis_labels[1],
+#endif
+ -1, -1,
10500,
0 /* min_res */,
10500 /* max_res */);
@@ -885,8 +907,7 @@
xf86EloPrintIdent(reply, priv);
}
else {
- ErrorF("Unable to ask Elographics touchscreen identification\n");
- goto not_success;
+ DBG(2, ErrorF("Unable to ask Elographics touchscreen identification... Maybe it's GeneralTouch touchscreen...\n"));
}
/*
@@ -898,8 +919,7 @@
req[3] = ELO_TOUCH_MODE | ELO_STREAM_MODE | ELO_UNTOUCH_MODE;
req[4] = ELO_TRACKING_MODE;
if (xf86EloSendControl(req, local->fd) != Success) {
- ErrorF("Unable to change Elographics touchscreen operating mode\n");
- goto not_success;
+ DBG(2, ErrorF("Unable to change Elographics touchscreen operating mode... Maybe it's GeneralTouch touchscreen...\n"));
}
/*
@@ -910,12 +930,7 @@
req[2] = priv->untouch_delay;
req[3] = priv->report_delay;
if (xf86EloSendControl(req, local->fd) != Success) {
- ErrorF("Unable to change Elographics touchscreen reports timings\n");
-
-not_success:
- SYSCALL(close(local->fd));
- local->fd = -1;
- return !Success;
+ DBG(2, ErrorF("Unable to change Elographics touchscreen reports timings... Maybe it's GeneralTouch touchscreen...\n"));
}
}
xf86AddEnabledDevice(local);
@@ -970,19 +985,19 @@
***************************************************************************
*/
static LocalDevicePtr
-xf86EloAllocate(InputDriverPtr drv)
+xf86EloAllocate(InputDriverPtr drv, IDevPtr dev)
{
LocalDevicePtr local;
EloPrivatePtr priv;
- priv = xalloc(sizeof(EloPrivateRec));
+ priv = malloc(sizeof(EloPrivateRec));
if (!priv)
return NULL;
local = xf86AllocateInput(drv, 0);
if (!local) {
- xfree(priv);
+ free(priv);
return NULL;
}
@@ -1002,7 +1017,7 @@
priv->packet_buf_p = 0;
priv->swap_axes = 0;
- local->name = XI_TOUCHSCREEN;
+ local->name = xstrdup(dev->identifier);
local->flags = 0 /* XI86_NO_OPEN_ON_INIT */;
local->device_control = xf86EloControl;
local->read_input = xf86EloReadInput;
@@ -1029,13 +1044,9 @@
{
EloPrivatePtr priv = (EloPrivatePtr) local->private;
- xf86EloControl(local->dev, DEVICE_OFF);
-
- xfree(priv->input_dev);
- xfree(priv);
- xfree(local->name);
- xfree(local);
-
+ free(priv->input_dev);
+ free(priv);
+ local->private = NULL;
xf86DeleteInput(local, 0);
}
@@ -1044,8 +1055,6 @@
"StopBits", "1",
"DataBits", "8",
"Parity", "None",
- "Vmin", "10",
- "Vtime", "1",
"FlowControl", "None",
NULL
};
@@ -1064,7 +1073,7 @@
Model* model;
- local = xf86EloAllocate(drv);
+ local = xf86EloAllocate(drv, dev);
if (!local) {
return NULL;
}
@@ -1081,9 +1090,9 @@
dev->identifier);
if (priv) {
if (priv->input_dev) {
- xfree(priv->input_dev);
+ free(priv->input_dev);
}
- xfree(priv);
+ free(priv);
}
return local;
}
++++++ xf86-input-evdev-2.4.0.tar.bz2 -> xf86-input-evdev-2.5.0.tar.bz2 ++++++
++++ 17594 lines of diff (skipped)
++++++ xf86-input-synaptics-1.2.2.tar.bz2 -> xf86-input-synaptics-1.3.0.tar.bz2 ++++++
++++ 32931 lines of diff (skipped)
++++++ xf86-input-synaptics-64bit-fix.diff ++++++
From 88dad10aa422da6b715582a2c6c087592145f53b Mon Sep 17 00:00:00 2001
From: Takashi Iwai
Date: Thu, 17 Jun 2010 20:07:17 +0200
Subject: [PATCH 7/7] Fix 64bit arch issue in synaptics eventcomm.c
Signed-off-by: Takashi Iwai
---
src/eventcomm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -49,7 +49,7 @@
#define NBITS(x) (((x) + LONG_BITS - 1) / LONG_BITS)
#define OFF(x) ((x) % LONG_BITS)
#define LONG(x) ((x) / LONG_BITS)
-#define TEST_BIT(bit, array) (array[LONG(bit)] & (1 << OFF(bit)))
+#define TEST_BIT(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
#define SYNAPTICS_LED_SYS_FILE "/sys/class/leds/psmouse::synaptics/brightness"
++++++ xf86-input-synaptics-add-clickpad-support.diff ++++++
From 40041cd6ece0a73ac2c4ab99c14a79500089dd64 Mon Sep 17 00:00:00 2001
From: Takashi Iwai
Date: Tue, 13 Apr 2010 17:25:23 +0200
Subject: [PATCH 1/7] Add Clickpad support
This patch adds the support for Synaptics Clickpad devices.
It requires the change in Linux kernel synaptics input driver, found in
https://patchwork.kernel.org/patch/92435/
The kernel patch is already included in linux 2.6.34.
When the kernel driver sets only the left-button bit evbit and no
multi-finger is possible, Clickpad mode is activated. In this mode,
the bottom touch area is used as button emulations. Clicking at the
bottom-left, bottom-center and bottom-right zone corresponds to a left,
center and right click.
Signed-off-by: Takashi Iwai
---
src/eventcomm.c | 6 +++++
src/synaptics.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/synapticsstr.h | 2 +
3 files changed, 66 insertions(+)
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -269,6 +269,12 @@
}
xf86Msg(X_PROBED, "%s: buttons:%s\n", local->name, buf);
+
+ /* clickpad device reports only the single left button mask */
+ if (priv->has_left && !priv->has_right && !priv->has_middle && !priv->has_double) {
+ priv->is_clickpad = TRUE;
+ xf86Msg(X_PROBED, "%s: is Clickpad device\n", local->name);
+ }
}
}
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -510,6 +510,18 @@
vertResolution = priv->resy;
}
+ /* Clickpad mode -- bottom area is used as buttons */
+ if (priv->is_clickpad) {
+ int button_bottom;
+ /* Clickpad devices usually the button area at the bottom, and
+ * its size seems ca. 20% of the touchpad height no matter how
+ * large the pad is.
+ */
+ button_bottom = priv->maxy - (abs(priv->maxy - priv->miny) * 20) / 100;
+ if (button_bottom < b && button_bottom >= t)
+ b = button_bottom;
+ }
+
/* set the parameters */
pars->left_edge = xf86SetIntOption(opts, "LeftEdge", l);
pars->right_edge = xf86SetIntOption(opts, "RightEdge", r);
@@ -518,6 +530,10 @@
pars->area_top_edge = set_percent_option(opts, "AreaTopEdge", height, priv->miny);
pars->area_bottom_edge = set_percent_option(opts, "AreaBottomEdge", height, priv->miny);
+ /* in clickpad mode, we don't want to sense the button area as default */
+ if (pars->area_bottom_edge == 0 && priv->is_clickpad)
+ pars->area_bottom_edge = b;
+
pars->area_left_edge = set_percent_option(opts, "AreaLeftEdge", width, priv->minx);
pars->area_right_edge = set_percent_option(opts, "AreaRightEdge", width, priv->minx);
@@ -1064,6 +1080,44 @@
return Success;
}
+/* clickpad event handling */
+static void
+handle_clickpad(LocalDevicePtr local, struct SynapticsHwState *hw)
+{
+ SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
+ SynapticsParameters *para = &priv->synpara;
+
+ if (hw->left) { /* clicked? */
+ if (hw->y > para->bottom_edge) {
+ /* button area */
+ int width = priv->maxx - priv->minx;
+ int left_button_x, right_button_x;
+
+ /* left and right clickpad button ranges;
+ * the gap between them is interpreted as a middle-button click
+ */
+ left_button_x = width * 2 / 5 + priv->minx;
+ right_button_x = width * 3 / 5 + priv->minx;
+
+ /* clickpad reports only one button, and we need
+ * to fake left/right buttons depending on the touch position
+ */
+ hw->left = 0;
+ if (hw->x < left_button_x)
+ hw->left = 1;
+ else if (hw->x > right_button_x)
+ hw->right = 1;
+ else
+ hw->middle = 1;
+ } else {
+ /* dragging */
+ hw->left = priv->prev_hw.left;
+ hw->right = priv->prev_hw.right;
+ hw->middle = priv->prev_hw.middle;
+ }
+ }
+ priv->prev_hw = *hw;
+}
/*
* Convert from absolute X/Y coordinates to a coordinate system where
@@ -2230,6 +2284,10 @@
SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
SynapticsParameters *para = &priv->synpara;
+ /* Clickpad handling for button area */
+ if (priv->is_clickpad)
+ handle_clickpad(local, hw);
+
/* Treat the first two multi buttons as up/down for now. */
hw->up |= hw->multi[0];
hw->down |= hw->multi[1];
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -235,6 +235,8 @@
Bool has_pressure; /* device reports pressure */
Bool has_width; /* device reports finger width */
Bool has_scrollbuttons; /* device has physical scrollbuttons */
+ Bool is_clickpad; /* is Clickpad device (one-button) */
+ struct SynapticsHwState prev_hw; /* previous h/w state (for clickpad) */
enum TouchpadModel model; /* The detected model */
} SynapticsPrivate;
++++++ xf86-input-synaptics-add-led-support.diff ++++++
From f8d9dd1c9710f99d3c402517782ae7ba5ef208eb Mon Sep 17 00:00:00 2001
From: Takashi Iwai
Date: Mon, 10 May 2010 18:15:48 +0200
Subject: [PATCH 3/7] Add the embedded LED support
This patch adds the control of the embedded LED on the top-left corner
of new Synaptics devices. For LED control, it requires the patch to
Linux synaptics input driver,
https://patchwork.kernel.org/patch/92434/
When a sysfs file /sys/class/leds/psmouse::synaptics exists, the driver
assumes it supports the embeded LED control.
The LED can be controlled via new properties, "Synaptics LED" and
"Synaptics LED Status".
Signed-off-by: Takashi Iwai
---
include/synaptics-properties.h | 6 ++++++
man/synaptics.man | 9 +++++++++
src/eventcomm.c | 32 +++++++++++++++++++++++++++++++-
src/properties.c | 15 +++++++++++++++
src/synapticsstr.h | 2 ++
src/synproto.h | 1 +
tools/synclient.c | 1 +
7 files changed, 65 insertions(+), 1 deletion(-)
--- a/include/synaptics-properties.h
+++ b/include/synaptics-properties.h
@@ -155,4 +155,10 @@
/* 32 bit, 4 values, left, right, top, bottom */
#define SYNAPTICS_PROP_AREA "Synaptics Area"
+/* 8 bit (BOOL, read-only), has_led */
+#define SYNAPTICS_PROP_LED "Synaptics LED"
+
+/* 8 bit (BOOL), led_status (on/off) */
+#define SYNAPTICS_PROP_LED_STATUS "Synaptics LED Status"
+
#endif /* _SYNAPTICS_PROPERTIES_H_ */
--- a/man/synaptics.man
+++ b/man/synaptics.man
@@ -909,6 +909,15 @@
.BI "Synaptics Pad Resolution"
32 bit unsigned, 2 values (read-only), vertical, horizontal in units/millimeter.
+.TP 7
+.BI "Synaptics LED"
+8 bit (BOOL, read-only), indicating whether the device has an embedded
+LED support or not.
+
+.TP 7
+.BI "Synaptics LED Status"
+8 bit (BOOL), the light status of the embedded LED.
+
.SH "NOTES"
There is an example hal policy file in
.I ${sourcecode}/fdi/11-x11-synaptics.fdi
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -51,6 +51,8 @@
#define LONG(x) ((x) / LONG_BITS)
#define TEST_BIT(bit, array) (array[LONG(bit)] & (1 << OFF(bit)))
+#define SYNAPTICS_LED_SYS_FILE "/sys/class/leds/psmouse::synaptics/brightness"
+
/*****************************************************************************
* Function Definitions
****************************************************************************/
@@ -166,6 +168,32 @@
}
}
+static void
+event_query_led(LocalDevicePtr local)
+{
+ SynapticsPrivate *priv = (SynapticsPrivate *)local->private;
+
+ priv->synpara.has_led = !access(SYNAPTICS_LED_SYS_FILE, W_OK);
+}
+
+static void EventUpdateLED(LocalDevicePtr local)
+{
+ SynapticsPrivate *priv = (SynapticsPrivate *)local->private;
+
+ if (priv->synpara.has_led) {
+ char *val = priv->synpara.led_status ? "255" : "0";
+ int fd = open(SYNAPTICS_LED_SYS_FILE, O_WRONLY);
+ int err;
+
+ if (fd < 0)
+ return;
+ err = write(fd, val, strlen(val));
+ close(fd);
+ if (err < 0)
+ xf86Msg(X_WARNING, "%s can't write LED value %s\n", local->name, val);
+ }
+}
+
/* Query device for axis ranges */
static void
event_query_axis_ranges(LocalDevicePtr local)
@@ -434,6 +462,7 @@
if (event_query_is_touchpad(local->fd, (need_grab) ? *need_grab : TRUE))
event_query_axis_ranges(local);
event_query_info(local);
+ event_query_led(local);
}
static Bool
@@ -503,5 +532,6 @@
EventQueryHardware,
EventReadHwState,
EventAutoDevProbe,
- EventReadDevDimensions
+ EventReadDevDimensions,
+ EventUpdateLED,
};
--- a/src/properties.c
+++ b/src/properties.c
@@ -82,6 +82,8 @@
Atom prop_capabilities = 0;
Atom prop_resolution = 0;
Atom prop_area = 0;
+Atom prop_led = 0;
+Atom prop_led_status = 0;
static Atom
InitAtom(DeviceIntPtr dev, char *name, int format, int nvalues, int *values)
@@ -278,6 +280,9 @@
values[2] = para->area_top_edge;
values[3] = para->area_bottom_edge;
prop_area = InitAtom(local->dev, SYNAPTICS_PROP_AREA, 32, 4, values);
+
+ prop_led = InitAtom(local->dev, SYNAPTICS_PROP_LED, 8, 1, ¶->has_led);
+ prop_led_status = InitAtom(local->dev, SYNAPTICS_PROP_LED_STATUS, 8, 1, ¶->led_status);
}
int
@@ -649,6 +654,16 @@
para->area_right_edge = area[1];
para->area_top_edge = area[2];
para->area_bottom_edge = area[3];
+ } else if (property == prop_led_status)
+ {
+ if (prop->size != 1 || prop->format != 8 || prop->type != XA_INTEGER)
+ return BadMatch;
+
+ if (para->has_led) {
+ para->led_status = *(BOOL*)prop->data;
+ if (priv->proto_ops && priv->proto_ops->UpdateLED)
+ priv->proto_ops->UpdateLED(local);
+ }
}
return Success;
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -160,6 +160,8 @@
unsigned int resolution_horiz; /* horizontal resolution of touchpad in units/mm */
unsigned int resolution_vert; /* vertical resolution of touchpad in units/mm */
int area_left_edge, area_right_edge, area_top_edge, area_bottom_edge; /* area coordinates absolute */
+ Bool has_led; /* has an embedded LED */
+ Bool led_status; /* Current status of LED (1=on) */
} SynapticsParameters;
--- a/src/synproto.h
+++ b/src/synproto.h
@@ -91,6 +91,7 @@
struct CommData *comm, struct SynapticsHwState *hwRet);
Bool (*AutoDevProbe)(LocalDevicePtr local);
void (*ReadDevDimensions)(LocalDevicePtr local);
+ void (*UpdateLED)(LocalDevicePtr local);
};
extern struct SynapticsProtocolOperations psaux_proto_operations;
--- a/tools/synclient.c
+++ b/tools/synclient.c
@@ -143,6 +143,7 @@
{"AreaRightEdge", PT_INT, 0, 10000, SYNAPTICS_PROP_AREA, 32, 1},
{"AreaTopEdge", PT_INT, 0, 10000, SYNAPTICS_PROP_AREA, 32, 2},
{"AreaBottomEdge", PT_INT, 0, 10000, SYNAPTICS_PROP_AREA, 32, 3},
+ {"LEDStatus", PT_BOOL, 0, 1, SYNAPTICS_PROP_LED_STATUS, 8, 0},
{ NULL, 0, 0, 0, 0 }
};
++++++ xf86-input-synaptics-clickpad-doc-update.diff ++++++
From 71d474096f94da71815a1a9713c73d81d7ebf43f Mon Sep 17 00:00:00 2001
From: Takashi Iwai
Date: Fri, 7 May 2010 16:58:35 +0200
Subject: [PATCH 2/7] Add a brief description of Clickpad to man page
Signed-off-by: Takashi Iwai
---
man/synaptics.man | 9 +++++++++
1 file changed, 9 insertions(+)
--- a/man/synaptics.man
+++ b/man/synaptics.man
@@ -726,6 +726,15 @@
Trackstick mode is exited when the finger pressure drops below
FingerLow or when the finger is moved further than MaxTapMove away
from the initial position.
+.
+When the input device reports a device with a single left button
+and without multi-fingers, the driver assumes it's a Synaptics
+Clickpad device and handles it in ClickZone mode. In this mode,
+a left/right/middle button event is generated according to the
+position you click. When Clickpad is enabled, the touchpad area
+is shrunk as default in 20% and the bottom area is used as the
+click-button area. The area can be configurable via options or
+properties below.
.SH "DEVICE PROPERTIES"
Synaptics 1.0 and higher support input device properties if the driver is
++++++ xf86-input-synaptics-clickpad-threshold.diff ++++++
---
include/synaptics-properties.h | 6 +
man/synaptics.man | 30 ++++++-
src/properties.c | 15 +++
src/synaptics.c | 156 ++++++++++++++++++++++++++++++-----------
src/synapticsstr.h | 5 +
tools/synclient.c | 2
6 files changed, 169 insertions(+), 45 deletions(-)
--- a/include/synaptics-properties.h
+++ b/include/synaptics-properties.h
@@ -155,6 +155,12 @@
/* 32 bit, 4 values, left, right, top, bottom */
#define SYNAPTICS_PROP_AREA "Synaptics Area"
+/* 32bit */
+#define SYNAPTICS_PROP_TOUCH_BUTTON_AREA "Synaptics Touch Button Area"
+
+/* 32bit */
+#define SYNAPTICS_PROP_TOUCH_BUTTON_STICKY "Synapyics Touch Button Sticky"
+
/* 8 bit (BOOL, read-only), has_led */
#define SYNAPTICS_PROP_LED "Synaptics LED"
--- a/src/properties.c
+++ b/src/properties.c
@@ -82,6 +82,8 @@
Atom prop_capabilities = 0;
Atom prop_resolution = 0;
Atom prop_area = 0;
+Atom prop_touch_button_area = 0;
+Atom prop_touch_button_sticky = 0;
Atom prop_led = 0;
Atom prop_led_status = 0;
Atom prop_led_double_tap = 0;
@@ -282,6 +284,9 @@
values[3] = para->area_bottom_edge;
prop_area = InitAtom(local->dev, SYNAPTICS_PROP_AREA, 32, 4, values);
+ prop_touch_button_area = InitAtom(local->dev, SYNAPTICS_PROP_TOUCH_BUTTON_AREA, 32, 1, ¶->touch_button_area);
+ prop_touch_button_sticky = InitAtom(local->dev, SYNAPTICS_PROP_TOUCH_BUTTON_STICKY, 32, 1, ¶->touch_button_sticky);
+
prop_led = InitAtom(local->dev, SYNAPTICS_PROP_LED, 8, 1, ¶->has_led);
prop_led_status = InitAtom(local->dev, SYNAPTICS_PROP_LED_STATUS, 8, 1, ¶->led_status);
@@ -671,6 +676,16 @@
para->area_right_edge = area[1];
para->area_top_edge = area[2];
para->area_bottom_edge = area[3];
+ } else if (property == prop_touch_button_area) {
+ if (prop->size != 1 || prop->format != 32 || prop->type != XA_INTEGER)
+ return BadMatch;
+
+ para->touch_button_area = *(INT32*)prop->data;
+ } else if (property == prop_touch_button_sticky) {
+ if (prop->size != 1 || prop->format != 32 || prop->type != XA_INTEGER)
+ return BadMatch;
+
+ para->touch_button_sticky = *(INT32*)prop->data;
} else if (property == prop_led_status)
{
if (prop->size != 1 || prop->format != 8 || prop->type != XA_INTEGER)
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -511,18 +511,6 @@
vertResolution = priv->resy;
}
- /* Clickpad mode -- bottom area is used as buttons */
- if (priv->is_clickpad) {
- int button_bottom;
- /* Clickpad devices usually the button area at the bottom, and
- * its size seems ca. 20% of the touchpad height no matter how
- * large the pad is.
- */
- button_bottom = priv->maxy - (abs(priv->maxy - priv->miny) * 20) / 100;
- if (button_bottom < b && button_bottom >= t)
- b = button_bottom;
- }
-
/* set the parameters */
pars->left_edge = xf86SetIntOption(opts, "LeftEdge", l);
pars->right_edge = xf86SetIntOption(opts, "RightEdge", r);
@@ -531,10 +519,6 @@
pars->area_top_edge = set_percent_option(opts, "AreaTopEdge", height, priv->miny);
pars->area_bottom_edge = set_percent_option(opts, "AreaBottomEdge", height, priv->miny);
- /* in clickpad mode, we don't want to sense the button area as default */
- if (pars->area_bottom_edge == 0 && priv->is_clickpad)
- pars->area_bottom_edge = b;
-
pars->area_left_edge = set_percent_option(opts, "AreaLeftEdge", width, priv->minx);
pars->area_right_edge = set_percent_option(opts, "AreaRightEdge", width, priv->minx);
@@ -604,6 +588,8 @@
pars->tap_and_drag_gesture = xf86SetBoolOption(opts, "TapAndDragGesture", TRUE);
pars->resolution_horiz = xf86SetIntOption(opts, "HorizResolution", horizResolution);
pars->resolution_vert = xf86SetIntOption(opts, "VertResolution", vertResolution);
+ pars->touch_button_area = xf86SetIntOption(opts, "TouchButtonArea", 20);
+ pars->touch_button_sticky = xf86SetIntOption(opts, "TouchButtonSticky", 64);
pars->led_double_tap = xf86SetBoolOption(opts, "LEDDoubleTap", TRUE);
/* Warn about (and fix) incorrectly configured TopEdge/BottomEdge parameters */
@@ -1086,6 +1072,11 @@
return Success;
}
+static void
+SetTapState(SynapticsPrivate *priv, enum TapState tap_state, int millis);
+static void
+SetMovingState(SynapticsPrivate *priv, enum MovingState moving_state, int millis);
+
#define LED_TOGGLE_X_AREA 0.10
#define LED_TOGGLE_Y_AREA 0.08
@@ -1152,45 +1143,118 @@
return 0; /* already processed; ignore this finger event */
}
+static void
+get_clickpad_button(SynapticsPrivate *priv, struct SynapticsHwState *hw,
+ int button_x)
+{
+ int width = priv->maxx - priv->minx;
+ int left_button_x, right_button_x;
+
+ /* left and right clickpad button ranges;
+ * the gap between them is interpreted as a middle-button click
+ */
+ left_button_x = width * 2 / 5 + priv->minx;
+ right_button_x = width * 3 / 5 + priv->minx;
+
+ /* clickpad reports only one button, and we need
+ * to fake left/right buttons depending on the touch position
+ */
+ if (button_x < left_button_x)
+ hw->left = 1;
+ else if (button_x > right_button_x)
+ hw->right = 1;
+ else
+ hw->middle = 1;
+}
+
+static inline int get_touch_button_area(SynapticsPrivate *priv)
+{
+ SynapticsParameters *para = &priv->synpara;
+ return priv->maxy - (priv->maxy - priv->miny) * para->touch_button_area / 100;
+}
+
+#define is_main_bottom_edge(hw, priv) \
+ ((hw)->y >= get_touch_button_area(priv))
+
+static void reset_state_as_moving(SynapticsPrivate *priv, struct SynapticsHwState *hw)
+{
+ SynapticsParameters *para = &priv->synpara;
+
+ if (hw->z >= para->finger_low) {
+ SetMovingState(priv, MS_TOUCHPAD_RELATIVE, hw->millis);
+ SetTapState(priv, TS_MOVE, hw->millis);
+ priv->touch_on.x = hw->x;
+ priv->touch_on.y = hw->y;
+ priv->touch_on.millis = hw->millis;
+ }
+ priv->tap_button = 0;
+}
+
/* clickpad event handling */
static void
handle_clickpad(LocalDevicePtr local, struct SynapticsHwState *hw)
{
SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
SynapticsParameters *para = &priv->synpara;
+ int in_main_button;
+
+ in_main_button = is_main_bottom_edge(hw, priv);
+ if (in_main_button) {
+ if (hw->left) {
+ /* when button is pressed solely, don't move and ignore tapping */
+ hw->z = 0;
+ priv->count_packet_finger = 0;
+ priv->ignore_tapping = TRUE;
+ SetMovingState(priv, MS_FALSE, hw->millis);
+ SetTapState(priv, TS_START, hw->millis);
+ priv->tap_button = 0;
+ } else if (hw->z < para->finger_low) {
+ priv->ignore_tapping = FALSE;
+ }
+ } else {
+ priv->ignore_tapping = FALSE;
+ }
if (hw->left) { /* clicked? */
- if (hw->y > para->bottom_edge) {
- /* button area */
- int width = priv->maxx - priv->minx;
- int left_button_x, right_button_x;
-
- /* left and right clickpad button ranges;
- * the gap between them is interpreted as a middle-button click
- */
- left_button_x = width * 2 / 5 + priv->minx;
- right_button_x = width * 3 / 5 + priv->minx;
-
- /* clickpad reports only one button, and we need
- * to fake left/right buttons depending on the touch position
- */
- hw->left = 0;
- if (hw->x < left_button_x)
- hw->left = 1;
- else if (hw->x > right_button_x)
- hw->right = 1;
- else
- hw->middle = 1;
- } else {
- /* dragging */
+ if (priv->prev_hw.left || priv->prev_hw.right || priv->prev_hw.middle) {
+ /* already dragging, just copy the previous button state */
hw->left = priv->prev_hw.left;
hw->right = priv->prev_hw.right;
hw->middle = priv->prev_hw.middle;
+ } else if (in_main_button) {
+ /* start dragging */
+ hw->left = 0;
+ if (in_main_button)
+ get_clickpad_button(priv, hw, hw->x);
}
+ } else {
+ /* button being released, reset dragging if necessary */
+ if (priv->prev_hw.left || priv->prev_hw.right || priv->prev_hw.middle) {
+ priv->count_packet_finger = 0;
+ reset_state_as_moving(priv, hw);
+ }
+ hw->left = hw->right = hw->middle = 0;
+ }
+
+ if (in_main_button && para->touch_button_sticky > 0) {
+ if (!priv->count_packet_finger) {
+ /* if the primary track point is in the button area, be sticky */
+ priv->clickpad_threshold = para->touch_button_sticky;
+ priv->clickpad_dx = priv->clickpad_dy = 0;
+ }
+ } else {
+ /* outside the button area, clear stickiness */
+ priv->clickpad_threshold = 0;
}
priv->prev_hw = *hw;
}
+static int
+move_distance(int dx, int dy)
+{
+ return sqrt(SQR(dx) + SQR(dy));
+}
+
/*
* Convert from absolute X/Y coordinates to a coordinate system where
* -1 corresponds to the left/upper edge and +1 corresponds to the
@@ -1667,7 +1731,7 @@
int timeleft, timeout;
int delay = 1000000000;
- if (priv->palm)
+ if (priv->palm || priv->ignore_tapping)
return delay;
touch = finger && !priv->finger_state;
@@ -2372,6 +2436,8 @@
if (para->touchpad_off != 1 && priv->is_clickpad)
handle_clickpad(local, hw);
+ priv->prev_hw = *hw;
+
/* Treat the first two multi buttons as up/down for now. */
hw->up |= hw->multi[0];
hw->down |= hw->multi[1];
@@ -2554,6 +2620,14 @@
}
timeleft = ComputeDeltas(priv, hw, edge, &dx, &dy, inside_active_area);
+ if (priv->clickpad_threshold > 0) {
+ priv->clickpad_dx += dx;
+ priv->clickpad_dy += dy;
+ if (move_distance(priv->clickpad_dx, priv->clickpad_dy) > priv->clickpad_threshold)
+ priv->clickpad_threshold = 0;
+ else
+ dx = dy = 0;
+ }
delay = MIN(delay, timeleft);
@@ -2565,7 +2639,7 @@
(hw->multi[2] ? 0x20 : 0) |
(hw->multi[3] ? 0x40 : 0));
- if (priv->tap_button > 0) {
+ if (priv->tap_button > 0 && !priv->ignore_tapping) {
int tap_mask = 1 << (priv->tap_button - 1);
if (priv->tap_button_state == TBS_BUTTON_DOWN_UP) {
if (tap_mask != (priv->lastButtons & tap_mask)) {
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -160,6 +160,8 @@
unsigned int resolution_horiz; /* horizontal resolution of touchpad in units/mm */
unsigned int resolution_vert; /* vertical resolution of touchpad in units/mm */
int area_left_edge, area_right_edge, area_top_edge, area_bottom_edge; /* area coordinates absolute */
+ int touch_button_area; /* clickpad button area */
+ int touch_button_sticky; /* pointer stickiness in button area */
Bool has_led; /* has an embedded LED */
Bool led_status; /* Current status of LED (1=on) */
Bool led_double_tap; /* double-tap period in ms for touchpad LED control */
@@ -239,6 +241,9 @@
Bool has_width; /* device reports finger width */
Bool has_scrollbuttons; /* device has physical scrollbuttons */
Bool is_clickpad; /* is Clickpad device (one-button) */
+ Bool ignore_tapping;
+ unsigned int clickpad_threshold;
+ int clickpad_dx, clickpad_dy;
struct SynapticsHwState prev_hw; /* previous h/w state (for clickpad) */
int prop_change_pending;
Bool led_touch_state;
--- a/tools/synclient.c
+++ b/tools/synclient.c
@@ -143,6 +143,8 @@
{"AreaRightEdge", PT_INT, 0, 10000, SYNAPTICS_PROP_AREA, 32, 1},
{"AreaTopEdge", PT_INT, 0, 10000, SYNAPTICS_PROP_AREA, 32, 2},
{"AreaBottomEdge", PT_INT, 0, 10000, SYNAPTICS_PROP_AREA, 32, 3},
+ {"TouchButtonArea", PT_INT, 0, 100, SYNAPTICS_PROP_TOUCH_BUTTON_AREA, 32, 0},
+ {"TouchButtonSticky", PT_INT, 0, 1000, SYNAPTICS_PROP_TOUCH_BUTTON_STICKY, 32, 0},
{"LEDStatus", PT_BOOL, 0, 1, SYNAPTICS_PROP_LED_STATUS, 8, 0},
{"LEDDoubleTap", PT_BOOL, 0, 1, SYNAPTICS_PROP_LED_DOUBLE_TAP, 8, 0},
{ NULL, 0, 0, 0, 0 }
--- a/man/synaptics.man
+++ b/man/synaptics.man
@@ -554,6 +554,21 @@
"untouch" event happens when the Z value goes below FingerLow.
.
.TP
+.BI "Option \*qTouchButtonArea\*q \*q" integer \*q
+.
+Provides the size of the click-button area for ClickPad devices in
+percent. As default, it's 20.
+Property: "Synaptics Touch Button Area"
+.
+.TP
+.BI "Option \*qTouchButtonSticky\*q \*q" integer \*q
+.
+Provides the threshold to start moving in the click-button area. The
+higher value is set, the pointer becomes sticky in the click-button
+area. The default value is 64.
+Property: "Synaptics Touch Button Sticky"
+.
+.TP
.BI "Option \*qLEDDoubleTap\*q \*q" boolean \*q
.
Enables/disables the touchpad-control by double-tapping on the top-left
@@ -744,10 +759,9 @@
and without multi-fingers, the driver assumes it's a Synaptics
Clickpad device and handles it in ClickZone mode. In this mode,
a left/right/middle button event is generated according to the
-position you click. When Clickpad is enabled, the touchpad area
-is shrunk as default in 20% and the bottom area is used as the
-click-button area. The area can be configurable via options or
-properties below.
+position you click. When Clickpad is enabled, the bottom area (as
+default 20%) is used as the click-button area. The size of the area
+is configurable via options or properties below.
.SH "DEVICE PROPERTIES"
Synaptics 1.0 and higher support input device properties if the driver is
@@ -923,6 +937,14 @@
32 bit unsigned, 2 values (read-only), vertical, horizontal in units/millimeter.
.TP 7
+.BI "Synaptics Touch Button Area"
+32 bit.
+
+.TP 7
+.BI "Synaptics Touch Button Sticky"
+32 bit.
+
+.TP 7
.BI "Synaptics LED"
8 bit (BOOL, read-only), indicating whether the device has an embedded
LED support or not.
++++++ xf86-input-synaptics-filter-bogus-coord.diff ++++++
---
src/eventcomm.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -363,6 +363,21 @@
struct SynapticsHwState *hw = &(comm->hwState);
SynapticsPrivate *priv = (SynapticsPrivate *)local->private;
SynapticsParameters *para = &priv->synpara;
+ int minx, miny, maxx, maxy, x;
+
+ /* range to filger out; a bit wider range is allowed since some devices
+ * are too fuzzy and give slightly shifted positions
+ */
+ minx = priv->minx;
+ maxx = priv->maxx;
+ x = (maxx - minx) / 5;
+ minx -= (minx > x) ? x : minx;
+ maxx += x;
+ miny = priv->miny;
+ maxy = priv->maxy;
+ x = (maxy - miny) / 5;
+ maxy += miny;
+ miny -= (miny > x) ? x : miny;
while (SynapticsReadEvent(local, &ev)) {
switch (ev.type) {
@@ -377,6 +392,9 @@
hw->numFingers = 3;
else
hw->numFingers = 0;
+ /* if the coord is out of range, we filter it out */
+ if (priv->is_clickpad && hw->z > 0 && (hw->x < minx || hw->x > maxx || hw->y < miny || hw->y > maxy))
+ return FALSE;
*hwRet = *hw;
return TRUE;
}
++++++ xf86-input-synaptics-fix-clickpad-capabilities.diff ++++++
---
src/eventcomm.c | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -169,6 +169,25 @@
}
static void
+event_query_clickpad(LocalDevicePtr local)
+{
+ SynapticsPrivate *priv = (SynapticsPrivate *)local->private;
+
+ /* clickpad device reports only the single left button mask */
+ if (priv->has_left && !priv->has_right && !priv->has_middle &&
+ !priv->has_double &&
+ priv->model == MODEL_SYNAPTICS) {
+ priv->is_clickpad = TRUE;
+ /* enable right/middle button caps; otherwise gnome-settings-daemon
+ * will ignore this device for left/right-hand setup because of a
+ * single-button
+ */
+ priv->has_right = priv->has_middle = TRUE;
+ xf86Msg(X_INFO, "%s: is Clickpad device\n", local->name);
+ }
+}
+
+static void
event_query_led(LocalDevicePtr local)
{
SynapticsPrivate *priv = (SynapticsPrivate *)local->private;
@@ -297,12 +316,6 @@
}
xf86Msg(X_PROBED, "%s: buttons:%s\n", local->name, buf);
-
- /* clickpad device reports only the single left button mask */
- if (priv->has_left && !priv->has_right && !priv->has_middle && !priv->has_double) {
- priv->is_clickpad = TRUE;
- xf86Msg(X_PROBED, "%s: is Clickpad device\n", local->name);
- }
}
}
@@ -462,6 +475,7 @@
if (event_query_is_touchpad(local->fd, (need_grab) ? *need_grab : TRUE))
event_query_axis_ranges(local);
event_query_info(local);
+ event_query_clickpad(local);
event_query_led(local);
}
++++++ xf86-input-synaptics-led-double-tap.diff ++++++
From 72867306cc91d02e282c942ca93fa45f03440335 Mon Sep 17 00:00:00 2001
From: Takashi Iwai
Date: Tue, 15 Jun 2010 16:54:07 +0200
Subject: [PATCH 4/7] Add tap-on-LED feature support
Signed-off-by: Takashi Iwai
---
include/synaptics-properties.h | 3 +
man/synaptics.man | 17 +++++++
src/properties.c | 27 +++++++++++
src/synaptics.c | 97 ++++++++++++++++++++++++++++++++++++++++-
src/synapticsstr.h | 6 ++
tools/synclient.c | 1
6 files changed, 149 insertions(+), 2 deletions(-)
--- a/include/synaptics-properties.h
+++ b/include/synaptics-properties.h
@@ -161,4 +161,7 @@
/* 8 bit (BOOL), led_status (on/off) */
#define SYNAPTICS_PROP_LED_STATUS "Synaptics LED Status"
+/* 8 bit (BOOL), double-tap action on LED corner (on/off) */
+#define SYNAPTICS_PROP_LED_DOUBLE_TAP "Synaptics LED Dobule Tap"
+
#endif /* _SYNAPTICS_PROPERTIES_H_ */
--- a/man/synaptics.man
+++ b/man/synaptics.man
@@ -553,6 +553,19 @@
A "touch" event happens when the Z value goes above FingerHigh, and an
"untouch" event happens when the Z value goes below FingerLow.
.
+.TP
+.BI "Option \*qLEDDoubleTap\*q \*q" boolean \*q
+.
+Enables/disables the touchpad-control by double-tapping on the top-left
+corner LED.
+.
+Some devices have an LED on the top-left corner to indicate the
+touchpad state. User can double-tap on the LED to toggle the touchpad
+state. This option controls whether this action is enabled or not.
+The double-tap size is same as specified in MaxDoubleTapTime.
+The default value is ON.
+Property: "Synaptics LED Double Tap"
+.
.LP
The MaxDoubleTapTime parameter has the same function as the MaxTapTime
parameter, but for the second, third, etc tap in a tap sequence.
@@ -918,6 +931,10 @@
.BI "Synaptics LED Status"
8 bit (BOOL), the light status of the embedded LED.
+.TP 7
+.BI "Synaptics LED Double Tap"
+8 bit (BOOL), enable/disable the double-tap on LED.
+
.SH "NOTES"
There is an example hal policy file in
.I ${sourcecode}/fdi/11-x11-synaptics.fdi
--- a/src/properties.c
+++ b/src/properties.c
@@ -84,6 +84,7 @@
Atom prop_area = 0;
Atom prop_led = 0;
Atom prop_led_status = 0;
+Atom prop_led_double_tap = 0;
static Atom
InitAtom(DeviceIntPtr dev, char *name, int format, int nvalues, int *values)
@@ -283,6 +284,9 @@
prop_led = InitAtom(local->dev, SYNAPTICS_PROP_LED, 8, 1, ¶->has_led);
prop_led_status = InitAtom(local->dev, SYNAPTICS_PROP_LED_STATUS, 8, 1, ¶->led_status);
+
+ prop_led_double_tap = InitAtom(local->dev, SYNAPTICS_PROP_LED_DOUBLE_TAP, 8, 1, ¶->led_double_tap);
+
}
int
@@ -508,6 +512,19 @@
return BadValue;
para->touchpad_off = off;
+ if (!checkonly && para->has_led &&
+ para->led_status != para->touchpad_off) {
+ para->led_status = para->touchpad_off;
+ if (priv->proto_ops && priv->proto_ops->UpdateLED)
+ priv->proto_ops->UpdateLED(local);
+ }
+ } else if (property == prop_led_double_tap)
+ {
+ if (prop->size != 1 || prop->format != 8 || prop->type != XA_INTEGER)
+ return BadMatch;
+
+ para->led_double_tap = *(CARD8*)prop->data;
+
} else if (property == prop_gestures)
{
BOOL *gestures;
@@ -669,3 +686,13 @@
return Success;
}
+void SynapticsToggleOffProperty(DeviceIntPtr dev, Bool off)
+{
+ uint8_t val;
+
+ if (!prop_off)
+ return;
+ val = off;
+ XIChangeDeviceProperty(dev, prop_off, XA_INTEGER, 8,
+ PropModeReplace, 1, &val, FALSE);
+}
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -132,6 +132,7 @@
void InitDeviceProperties(LocalDevicePtr local);
int SetProperty(DeviceIntPtr dev, Atom property, XIPropertyValuePtr prop,
BOOL checkonly);
+void SynapticsToggleOffProperty(DeviceIntPtr dev, Bool off);
InputDriverRec SYNAPTICS = {
1,
@@ -603,6 +604,7 @@
pars->tap_and_drag_gesture = xf86SetBoolOption(opts, "TapAndDragGesture", TRUE);
pars->resolution_horiz = xf86SetIntOption(opts, "HorizResolution", horizResolution);
pars->resolution_vert = xf86SetIntOption(opts, "VertResolution", vertResolution);
+ pars->led_double_tap = xf86SetBoolOption(opts, "LEDDoubleTap", TRUE);
/* Warn about (and fix) incorrectly configured TopEdge/BottomEdge parameters */
if (pars->top_edge > pars->bottom_edge) {
@@ -873,6 +875,10 @@
xf86AddEnabledDevice(local);
dev->public.on = TRUE;
+ /* update LED */
+ if (priv->proto_ops && priv->proto_ops->UpdateLED)
+ priv->proto_ops->UpdateLED(local);
+
return Success;
}
@@ -1080,6 +1086,72 @@
return Success;
}
+#define LED_TOGGLE_X_AREA 0.10
+#define LED_TOGGLE_Y_AREA 0.08
+
+static int
+in_led_toggle_area(LocalDevicePtr local, struct SynapticsHwState *hw)
+{
+ SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
+ int click_led_x, click_led_y;
+
+ click_led_x = (priv->maxx - priv->minx) * LED_TOGGLE_X_AREA + priv->minx;
+ click_led_y = (priv->maxy - priv->miny) * LED_TOGGLE_Y_AREA + priv->miny;
+ return (hw->x < click_led_x && hw->y < click_led_y);
+}
+
+/* clicpad button toggle point:
+ * some devices have a LED at the upper-left corner, and double-tapping it
+ * toggles the touchpad enable/disable
+ */
+static int
+handle_toggle_led(LocalDevicePtr local, struct SynapticsHwState *hw, int finger)
+{
+ SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
+ SynapticsParameters *para = &priv->synpara;
+ int diff;
+
+ if (finger) {
+ if (!in_led_toggle_area(local, hw)) {
+ /* outside the toggle area */
+ priv->led_touch_state = FALSE;
+ priv->led_tapped = FALSE;
+ return finger;
+ }
+ if (!priv->led_touch_state) {
+ /* touch start */
+ priv->led_touch_millis = hw->millis;
+ priv->led_touch_state = TRUE;
+ }
+ return 0; /* already processed; ignore this finger event */
+ }
+
+ if (!priv->led_touch_state)
+ return finger; /* nothing happened */
+
+ /* touch-released */
+ priv->led_touch_state = FALSE;
+ diff = TIME_DIFF(priv->led_touch_millis + para->tap_time, hw->millis);
+ if (diff < 0) { /* non-tap? */
+ priv->led_tapped = FALSE;
+ return finger;
+ }
+ if (priv->led_tapped) {
+ /* double-tapped? */
+ diff = TIME_DIFF(priv->led_tap_millis + para->tap_time_2, hw->millis);
+ if (diff >= 0) {
+ para->touchpad_off = !para->touchpad_off;
+ if (priv->proto_ops && priv->proto_ops->UpdateLED)
+ priv->proto_ops->UpdateLED(local);
+ priv->prop_change_pending = 1;
+ priv->led_tapped = FALSE;
+ }
+ } else
+ priv->led_tapped = TRUE;
+ priv->led_tap_millis = hw->millis;
+ return 0; /* already processed; ignore this finger event */
+}
+
/* clickpad event handling */
static void
handle_clickpad(LocalDevicePtr local, struct SynapticsHwState *hw)
@@ -1240,6 +1312,7 @@
{
LocalDevicePtr local = (LocalDevicePtr) (arg);
SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
+ SynapticsParameters *para = &priv->synpara;
struct SynapticsHwState hw;
int delay;
int sigstate;
@@ -1251,6 +1324,13 @@
hw.millis = now;
delay = HandleState(local, &hw);
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 3
+ if (priv->prop_change_pending & 1) {
+ SynapticsToggleOffProperty(local->dev, para->touchpad_off);
+ priv->prop_change_pending = 0;
+ }
+#endif
+
/*
* Workaround for wraparound bug in the TimerSet function. This bug is already
* fixed in CVS, but this driver needs to work with XFree86 versions 4.2.x and
@@ -1301,6 +1381,10 @@
hw.millis = GetTimeInMillis();
priv->hwState = hw;
delay = HandleState(local, &hw);
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 3
+ if (priv->prop_change_pending)
+ delay = MIN(10, delay);
+#endif
newDelay = TRUE;
}
@@ -2285,7 +2369,7 @@
SynapticsParameters *para = &priv->synpara;
/* Clickpad handling for button area */
- if (priv->is_clickpad)
+ if (para->touchpad_off != 1 && priv->is_clickpad)
handle_clickpad(local, hw);
/* Treat the first two multi buttons as up/down for now. */
@@ -2403,7 +2487,7 @@
update_shm(local, hw);
/* If touchpad is switched off, we skip the whole thing and return delay */
- if (para->touchpad_off == 1)
+ if (para->touchpad_off == 1 && !(para->has_led && para->led_double_tap))
return delay;
inside_active_area = is_inside_active_area(priv, hw->x, hw->y);
@@ -2439,6 +2523,15 @@
finger = SynapticsDetectFinger(priv, hw);
}
+ if (para->has_led && para->led_double_tap) {
+ if (inside_active_area)
+ finger = handle_toggle_led(local, hw, finger);
+ if (para->touchpad_off == 1) {
+ priv->finger_state = finger;
+ return delay;
+ }
+ }
+
/* tap and drag detection. Needs to be performed even if the finger is in
* the dead area to reset the state. */
timeleft = HandleTapProcessing(priv, hw, edge, finger, inside_active_area);
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -162,6 +162,7 @@
int area_left_edge, area_right_edge, area_top_edge, area_bottom_edge; /* area coordinates absolute */
Bool has_led; /* has an embedded LED */
Bool led_status; /* Current status of LED (1=on) */
+ Bool led_double_tap; /* double-tap period in ms for touchpad LED control */
} SynapticsParameters;
@@ -239,6 +240,11 @@
Bool has_scrollbuttons; /* device has physical scrollbuttons */
Bool is_clickpad; /* is Clickpad device (one-button) */
struct SynapticsHwState prev_hw; /* previous h/w state (for clickpad) */
+ int prop_change_pending;
+ Bool led_touch_state;
+ Bool led_tapped;
+ int led_touch_millis;
+ int led_tap_millis;
enum TouchpadModel model; /* The detected model */
} SynapticsPrivate;
--- a/tools/synclient.c
+++ b/tools/synclient.c
@@ -144,6 +144,7 @@
{"AreaTopEdge", PT_INT, 0, 10000, SYNAPTICS_PROP_AREA, 32, 2},
{"AreaBottomEdge", PT_INT, 0, 10000, SYNAPTICS_PROP_AREA, 32, 3},
{"LEDStatus", PT_BOOL, 0, 1, SYNAPTICS_PROP_LED_STATUS, 8, 0},
+ {"LEDDoubleTap", PT_BOOL, 0, 1, SYNAPTICS_PROP_LED_DOUBLE_TAP, 8, 0},
{ NULL, 0, 0, 0, 0 }
};
++++++ xf86-input-synaptics-move-threshold.diff ++++++
---
src/synaptics.c | 10 ++++++++++
src/synapticsstr.h | 1 +
2 files changed, 11 insertions(+)
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -458,6 +458,8 @@
edgeMotionMaxSpeed = diag * .080;
accelFactor = 200.0 / diag; /* trial-and-error */
+ priv->move_ptr_threshold = width / 5;
+
range = priv->maxp - priv->minp;
/* scaling based on defaults and a pressure of 256 */
@@ -1923,6 +1925,14 @@
break;
}
}
+
+ if (moving_state && priv->count_packet_finger > 0 &&
+ priv->move_ptr_threshold > 0 ) {
+ int d = move_distance(HIST(0).x - hw->x, HIST(0).y - hw->y);
+ if (d > priv->move_ptr_threshold)
+ priv->count_packet_finger = 0; /* to avoid unexpected jumps */
+ }
+
if (inside_area && moving_state && !priv->palm &&
!priv->vert_scroll_edge_on && !priv->horiz_scroll_edge_on &&
!priv->vert_scroll_twofinger_on && !priv->horiz_scroll_twofinger_on &&
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -245,6 +245,7 @@
unsigned int clickpad_threshold;
int clickpad_dx, clickpad_dy;
struct SynapticsHwState prev_hw; /* previous h/w state (for clickpad) */
+ int move_ptr_threshold;
int prop_change_pending;
Bool led_touch_state;
Bool led_tapped;
++++++ xf86-input-synaptics-settings.diff ++++++
--- /var/tmp/diff_new_pack.YY6jJD/_old 2010-09-03 14:34:46.000000000 +0200
+++ /var/tmp/diff_new_pack.YY6jJD/_new 2010-09-03 14:34:46.000000000 +0200
@@ -1,8 +1,8 @@
--- src/synaptics.c.orig 2009-08-03 01:05:26.000000000 +0000
+++ src/synaptics.c 2009-11-14 01:55:58.000000000 +0000
@@ -424,8 +430,12 @@ static void set_default_parameters(Local
- clickFinger2 = priv->has_right ? 1 : 3;
- clickFinger3 = priv->has_middle ? 1 : 2;
+ clickFinger2 = (priv->has_right || priv->has_middle) ? 1 : 3;
+ clickFinger3 = (priv->has_right || priv->has_middle) ? 1 : 2;
+#if 0
/* Enable vert edge scroll if we can't detect doubletap */
++++++ xf86-input-synaptics-wait.diff ++++++
--- /var/tmp/diff_new_pack.YY6jJD/_old 2010-09-03 14:34:46.000000000 +0200
+++ /var/tmp/diff_new_pack.YY6jJD/_new 2010-09-03 14:34:46.000000000 +0200
@@ -10,7 +10,7 @@
+ while (wait <= max_wait && !touchpad_found) {
i = scandir(DEV_INPUT_EVENT, &namelist, EventDevOnly, alphasort);
if (i < 0) {
- ErrorF("Couldn't open %s\n", DEV_INPUT_EVENT);
+ xf86Msg(X_ERROR, "Couldn't open %s\n", DEV_INPUT_EVENT);
@@ -429,8 +432,8 @@ EventAutoDevProbe(LocalDevicePtr local)
if (event_query_is_touchpad(fd, TRUE)) {
++++++ xf86-input-synaptics-xorg.conf.d_snippet.diff ++++++
--- conf/50-synaptics.conf.orig 2010-08-29 16:31:57.000000000 +0200
+++ conf/50-synaptics.conf 2010-08-29 16:32:08.000000000 +0200
@@ -2,4 +2,6 @@
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
+ MatchDevicePath "/dev/input/event*"
+ Option "HorizScrollDelta" "0"
EndSection
++++++ xf86-input-vmmouse-12.6.9.tar.bz2 -> xf86-input-vmmouse-12.6.10.tar.bz2 ++++++
++++ 6223 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-vmmouse-12.6.9/ChangeLog new/xf86-input-vmmouse-12.6.10/ChangeLog
--- old/xf86-input-vmmouse-12.6.9/ChangeLog 2010-04-09 00:42:55.000000000 +0200
+++ new/xf86-input-vmmouse-12.6.10/ChangeLog 2010-08-10 16:35:59.000000000 +0200
@@ -1,3 +1,74 @@
+commit 61608b87c01ce87bd29869c1554a2ade5998782c
+Author: Alan Coopersmith
+Date: Fri Jul 9 20:45:53 2010 -0700
+
+ Improve Solaris compatibility of hal-probe-vmmouse generation rule
+
+ Use $(SED) from AC_PROG_SED to ensure a good version of sed is found
+ Use explicit input file name instead of $< to workaround Solaris make
+ issue with $< in explicit rules.
+
+ Signed-off-by: Alan Coopersmith
+
+commit d7700bed84f6632913a6590cc9cc9d10b815a08c
+Author: Fernando Carrijo
+Date: Thu Jul 1 07:14:14 2010 -0300
+
+ Purge macro NEED_EVENTS
+
+ Signed-off-by: Fernando Carrijo
+ Acked-by: Tiago Vignatti
+ Reviewed-by: Alan Coopersmith
+
+commit 4e3bf19d2637cb034e31611ef184348f12677e81
+Author: Gaetan Nadon
+Date: Sat Jun 12 10:09:48 2010 -0400
+
+ COPYING: update and refactor Copyright notices
+
+ Signed-off-by: Gaetan Nadon
+
+commit 833698b3b9857fda176c91a0dbb128275a174624
+Author: Gaetan Nadon
+Date: Sun Apr 25 19:36:19 2010 -0400
+
+ config: git ignore recently added 69-xorg-vmmouse.rules
+
+ Was added in 1d1c0514158abb66388ee4eb44764d201203a863
+
+ Signed-off-by: Gaetan Nadon
+
+commit 1d1c0514158abb66388ee4eb44764d201203a863
+Author: Jakob Bornecrantz
+Date: Mon Apr 19 15:29:41 2010 +0100
+
+ Only match against event[0-9] in udev rules
+
+ It looks like the udev rule was matched against two devices which caused
+ the driver to be loaded twice. We shouldn't match against the other
+ device because it will very seldom send bogus events. Some of the bug
+ this caused was buttons getting stuck.
+
+commit b22d830a4e1c609a709e71c306a3b3a8ff8a6078
+Author: Julien Cristau
+Date: Sat Apr 17 01:39:23 2010 +0200
+
+ Don't clobber CFLAGS
+
+ CFLAGS is a user variable, don't set it from configure.
+
+commit 1cba87aab183eb3846757a0ee0828e3eb119a6e6
+Author: Julien Cristau
+Date: Sat Apr 17 01:30:15 2010 +0200
+
+ Include exevents.h for XIGetKnownProperty
+
+ Fixes this compiler warning:
+ vmmouse.c: In function ‘VMMouseDeviceControl’:
+ vmmouse.c:734: warning: implicit declaration of function ‘XIGetKnownProperty’
+
+ Signed-off-by: Julien Cristau
+
commit 01f03ca8fbca96957d6c2718f4279e31cb406c2f
Author: Peter Hutterer
Date: Fri Apr 9 08:30:26 2010 +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-vmmouse-12.6.9/configure.ac new/xf86-input-vmmouse-12.6.10/configure.ac
--- old/xf86-input-vmmouse-12.6.9/configure.ac 2010-04-09 00:30:17.000000000 +0200
+++ new/xf86-input-vmmouse-12.6.10/configure.ac 2010-08-10 16:30:29.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-input-vmmouse],
- 12.6.9,
+ 12.6.10,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-input-vmmouse)
@@ -138,9 +138,6 @@
[AC_DEFINE([NO_MOUSE_MODULE], 1,
[Do not include built-in mouse module fallback])])
-CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src'
-AC_SUBST([CFLAGS])
-
# Checks for libraries.
# Checks for header files.
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-vmmouse-12.6.9/COPYING new/xf86-input-vmmouse-12.6.10/COPYING
--- old/xf86-input-vmmouse-12.6.9/COPYING 2009-06-06 05:57:04.000000000 +0200
+++ new/xf86-input-vmmouse-12.6.10/COPYING 2010-08-10 16:29:40.000000000 +0200
@@ -1,23 +1,51 @@
-Copyright (c) 2006 VMware, Inc.
+Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
+Copyright 1993 by David Dawes
+Copyright 2002 by SuSE Linux AG, Author: Egbert Eich
+Copyright 1994-2002 by The XFree86 Project, Inc.
+Copyright 2002 by Paul Elliott
+Copyright 2002-2006 by VMware, Inc.
-Permission is hereby granted, free of charge, to any person obtaining a copy of this
-software and associated documentation files (the "Software"), to deal in the Software
-without restriction, including without limitation the rights to use, copy, modify, merge,
-publish, distribute, sublicense, and/or sell copies of the Software, and to permit
-persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or
-substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
-FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of the copyright holder(s) and author(s)
-shall not be used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the copyright holder(s) and
-author(s).
-
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of copyright holders not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission. The copyright holders
+make no representations about the suitability of this
+software for any purpose. It is provided "as is" without express or
+implied warranty.
+
+THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1999-2003 by The XFree86 Project, Inc.
+Copyright 2002-2006 by VMware, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the copyright holder(s)
+and author(s) shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Software without prior written
+authorization from the copyright holder(s) and author(s).
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-vmmouse-12.6.9/INSTALL new/xf86-input-vmmouse-12.6.10/INSTALL
--- old/xf86-input-vmmouse-12.6.9/INSTALL 2010-04-09 00:42:55.000000000 +0200
+++ new/xf86-input-vmmouse-12.6.10/INSTALL 2010-08-10 16:35:59.000000000 +0200
@@ -1,291 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008 Free Software Foundation, Inc.
-
- This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
- Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package. The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system.
-
- Running `configure' might take a while. While running, it prints
- some messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
- 6. Often, you can also type `make uninstall' to remove the installed
- files again.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. Run `./configure --help'
-for details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you can use GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory. After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
- On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor. Like
-this:
-
- ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
- CPP="gcc -E" CXXCPP="g++ -E"
-
- This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
- By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc. You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Particular systems
-==================
-
- On HP-UX, the default C compiler is not ANSI C compatible. If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
- ./configure CC="cc -Ae"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
- On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `' header file. The option `-nodtk' can be used as
-a workaround. If GNU CC is not installed, it is therefore recommended
-to try
-
- ./configure CC="cc"
-
-and if that doesn't work, try
-
- ./configure CC="cc -nodtk"
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on. Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
- Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug. Until the bug is fixed you can use this workaround:
-
- CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
- Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
- Print a summary of the options unique to this package's
- `configure', and exit. The `short' variant lists options used
- only in the top level, while the `recursive' variant lists options
- also present in any nested packages.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--prefix=DIR'
- Use DIR as the installation prefix. *Note Installation Names::
- for more details, including other options available for fine-tuning
- the installation locations.
-
-`--no-create'
-`-n'
- Run the configure checks, but stop before creating any output
- files.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
-
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-vmmouse-12.6.9/shared/Makefile.am new/xf86-input-vmmouse-12.6.10/shared/Makefile.am
--- old/xf86-input-vmmouse-12.6.9/shared/Makefile.am 2010-03-21 23:57:25.000000000 +0100
+++ new/xf86-input-vmmouse-12.6.10/shared/Makefile.am 2010-08-10 16:29:40.000000000 +0200
@@ -23,5 +23,5 @@
@DRIVER_NAME@_client.c @DRIVER_NAME@_client.h \
@DRIVER_NAME@_proto.c @DRIVER_NAME@_proto.h
-
+AM_CPPFLAGS = $(XORG_CFLAGS)
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-vmmouse-12.6.9/src/Makefile.am new/xf86-input-vmmouse-12.6.10/src/Makefile.am
--- old/xf86-input-vmmouse-12.6.9/src/Makefile.am 2009-06-06 05:57:04.000000000 +0200
+++ new/xf86-input-vmmouse-12.6.10/src/Makefile.am 2010-08-10 16:29:40.000000000 +0200
@@ -23,7 +23,7 @@
@DRIVER_NAME@_drv_la_LIBADD = $(top_builddir)/shared/lib@DRIVER_NAME@.la
@DRIVER_NAME@_drv_ladir = @inputdir@
-INCLUDES = -I$(top_srcdir)/shared
+AM_CPPFLAGS = -I$(top_srcdir)/shared $(XORG_CFLAGS)
@DRIVER_NAME@_drv_la_SOURCES = @DRIVER_NAME@.c xf86OSmouse.h
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-vmmouse-12.6.9/src/vmmouse.c new/xf86-input-vmmouse-12.6.10/src/vmmouse.c
--- old/xf86-input-vmmouse-12.6.9/src/vmmouse.c 2010-04-09 00:22:47.000000000 +0200
+++ new/xf86-input-vmmouse-12.6.10/src/vmmouse.c 2010-08-10 16:29:40.000000000 +0200
@@ -48,7 +48,6 @@
#endif
#include
-#define NEED_EVENTS
#include
#include
@@ -70,6 +69,7 @@
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
#include
+#include "exevents.h"
#endif
#include "xisb.h"
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-vmmouse-12.6.9/tools/69-xorg-vmmouse.rules.in new/xf86-input-vmmouse-12.6.10/tools/69-xorg-vmmouse.rules.in
--- old/xf86-input-vmmouse-12.6.9/tools/69-xorg-vmmouse.rules.in 2010-04-08 23:47:04.000000000 +0200
+++ new/xf86-input-vmmouse-12.6.10/tools/69-xorg-vmmouse.rules.in 2010-08-10 16:29:40.000000000 +0200
@@ -1 +1 @@
-ACTION=="add|change", ENV{ID_INPUT_MOUSE}=="?*", ATTRS{description}=="i8042 AUX port", PROGRAM="__BIN_PREFIX__/vmmouse_detect", ENV{ID_INPUT.tags}="vmmouse"
+ACTION=="add|change", ENV{ID_INPUT_MOUSE}=="?*", ATTRS{description}=="i8042 AUX port", KERNEL=="event[0-9]*", PROGRAM="__BIN_PREFIX__/vmmouse_detect", ENV{ID_INPUT.tags}="vmmouse"
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-vmmouse-12.6.9/tools/Makefile.am new/xf86-input-vmmouse-12.6.10/tools/Makefile.am
--- old/xf86-input-vmmouse-12.6.9/tools/Makefile.am 2010-04-08 23:47:04.000000000 +0200
+++ new/xf86-input-vmmouse-12.6.10/tools/Makefile.am 2010-08-10 16:35:43.000000000 +0200
@@ -20,7 +20,7 @@
bin_PROGRAMS = @DRIVER_NAME@_detect
-INCLUDES = -I$(top_srcdir)/shared
+AM_CPPFLAGS = -I$(top_srcdir)/shared $(XORG_CFLAGS)
@DRIVER_NAME@_detect_SOURCES = vmmouse_detect.c
@DRIVER_NAME@_detect_LDADD = $(top_builddir)/shared/lib@DRIVER_NAME@.la
@@ -29,7 +29,7 @@
callouts_SCRIPTS = hal-probe-vmmouse
hal-probe-vmmouse: hal-probe-vmmouse.in
- sed -e 's|__BIN_PREFIX__|$(bindir)|g' \
+ $(AM_V_GEN)$(SED) -e 's|__BIN_PREFIX__|$(bindir)|g' \
-e 's|__HAL_BIN_PREFIX__|$(HAL_BIN_DIR)|g' \
< $< > $@
@@ -52,7 +52,8 @@
$(udev_DATA): $(udev_DATA).in
sed -e 's|__BIN_PREFIX__|$(bindir)|g' < $< > $@
-EXTRA_DIST += $(udev_DATA).in
CLEANFILES += $(udev_DATA)
endif # HAS_UDEV_RULES_DIR
+
+EXTRA_DIST = $(udev_DATA).in hal-probe-vmmouse.in
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org