xserver-xorg-input-synaptics: Changes to 'debian-unstable'
FILES | 2 -
INSTALL | 40 +++++++++++++++++--------------
Makefile | 7 +----
README.alps | 20 ++++++++++-----
alpscomm.c | 2 -
debian/changelog | 8 ++++++
debian/control | 4 +--
debian/xsfbs/xsfbs.mk | 27 ++++++++++++++-------
debian/xsfbs/xsfbs.sh | 7 -----
eventcomm.c | 2 -
manpages/synaptics.5 | 42 ++++++++++++++++++++++++++-------
synaptics.c | 63 ++++++++++++++++++++++++++++++++++++++++----------
synaptics.h | 1
synclient.c | 13 +++++-----
14 files changed, 161 insertions(+), 77 deletions(-)
New commits:
commit 9c63eb6a2782b7326b13502c1ef15a4f0188cdbe
Author: Mattia Dongili <malattia@linux.it>
Date: Mon Sep 17 16:14:37 2007 +0900
Revert "use [ ! -f Makefile ] || $(MAKE) distclean"
This reverts commit 8f5fea137197c561a9a515959f369fb238a6d824.
... unfortunately the synaptics driver doesn't use the autoconf stuff
so Makefile is always there
diff --git a/debian/rules b/debian/rules
index 6d49e1b..728920c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -32,7 +32,7 @@ clean: xsfclean
rm -f build-stamp configure-stamp
# clean up:
- [ ! -f Makefile ] || $(MAKE) distclean
+ -$(MAKE) clean
dh_clean
commit 048cd47c7bb5681776982123a36ac7c0ee4217fe
Author: Mattia Dongili <malattia@linux.it>
Date: Mon Sep 17 16:12:09 2007 +0900
/bin/arch is missing in current util-linux, replace it with uname -m
Signed-off-by: Mattia Dongili <malattia@linux.it>
diff --git a/Makefile b/Makefile
index 7ca251a..f79f242 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,7 @@ BINDIR = $(DESTDIR)$(PREFIX)/bin
MANDIR = $(DESTDIR)$(PREFIX)/share/man
ifeq ($(ARCH),)
- ARCH = $(shell /bin/arch)
+ ARCH = $(shell /bin/uname -m)
endif
ifeq ($(ARCH),amd64)
ARCH = x86_64
commit 8f5fea137197c561a9a515959f369fb238a6d824
Author: Mattia Dongili <malattia@linux.it>
Date: Mon Sep 17 16:05:42 2007 +0900
use [ ! -f Makefile ] || $(MAKE) distclean
and make lintian happy
Signed-off-by: Mattia Dongili <malattia@linux.it>
diff --git a/debian/rules b/debian/rules
index 728920c..6d49e1b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -32,7 +32,7 @@ clean: xsfclean
rm -f build-stamp configure-stamp
# clean up:
- -$(MAKE) clean
+ [ ! -f Makefile ] || $(MAKE) distclean
dh_clean
commit cf9700dc323dd01111a82ada8acd531e6a3d3e76
Author: Mattia Dongili <malattia@linux.it>
Date: Mon Sep 17 16:03:43 2007 +0900
Use pkg-config to get xorg cflags
Signed-off-by: Mattia Dongili <malattia@linux.it>
diff --git a/Makefile b/Makefile
index f953ed8..7ca251a 100644
--- a/Makefile
+++ b/Makefile
@@ -34,10 +34,7 @@ ifeq ($(BUILD_MODULAR),y)
LDCOMBINEFLAGS = -shared -lc
PICFLAG = $(call check_gcc,-fPIC,)
X_INCLUDES_ROOT = $(INSTALLED_X)
- SDKDIR = $(shell pkg-config xorg-server --variable=sdkdir)
- ALLINCLUDES = -I. -I$(INSTALLED_X)/include/X11 \
- -I$(INSTALLED_X)/include/X11/extensions \
- -I$(SDKDIR)
+ ALLINCLUDES = $(shell pkg-config --cflags xorg-server)
else
INSTALLED_X = /usr/X11R6
INPUT_MODULE_DIR = $(DESTDIR)/$(INSTALLED_X)/$(LIBDIR)/modules/input
commit 817de3f10a2d00b1a18d3a9273ddec5ea1b9e423
Author: Mattia Dongili <malattia@linux.it>
Date: Mon Sep 17 15:30:53 2007 +0900
Update for xserver-xorg-core 1.4
Signed-off-by: Mattia Dongili <malattia@linux.it>
diff --git a/debian/changelog b/debian/changelog
index fee93d1..a780b5f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xfree86-driver-synaptics (0.14.7~git20070706-1) unstable; urgency=low
+
+ * build with xserver-xorg-core 1.4 (Closes: #442314)
+ * update to current git
+ * update xsfbs
+
+ -- Mattia Dongili <malattia@debian.org> Mon, 17 Sep 2007 15:25:56 +0900
+
xfree86-driver-synaptics (0.14.7~git20070517-2) unstable; urgency=low
* use xsfbs to build the driver and automagically get xserver-xorg deps
diff --git a/debian/control b/debian/control
index d5a1691..161eb6a 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: x11
Priority: optional
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Mattia Dongili <malattia@debian.org>
-Build-Depends: debhelper (>= 4.0.0), libx11-dev, libxext-dev, libxi-dev, x11proto-core-dev, xserver-xorg-dev (>= 2:1.2.99.902), pkg-config
+Build-Depends: debhelper (>= 4.0.0), libx11-dev, libxext-dev, libxi-dev, x11proto-core-dev, xserver-xorg-dev (>= 2:1.4), pkg-config
Standards-Version: 3.7.2
XS-Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-synaptics
XS-Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-input-synaptics.git
@@ -21,7 +21,7 @@ Architecture: alpha amd64 arm hppa i386 ia64 m68k mips mipsel powerpc sparc
Depends: ${shlibs:Depends}, ${xserver:Depends}, libxi6
Conflicts: xfree86-driver-synaptics (<< 0.14.4-2), xorg-driver-synaptics
Replaces: xfree86-driver-synaptics (<< 0.14.4-2), xorg-driver-synaptics
-Provides: xserver-xorg-input, xfree86-driver-synaptics, xorg-driver-synaptics
+Provides: ${xinpdriver:Provides}, xfree86-driver-synaptics, xorg-driver-synaptics
Suggests: gsynaptics | ksynaptics | qsynaptics
Description: Synaptics TouchPad driver for X.Org/XFree86 server
This package provides an input driver for the X.Org/XFree86 X server to enable
commit 575efb7249d7cf194f07e45db17e601d9c259231
Author: Brice Goglin <bgoglin@debian.org>
Date: Wed Aug 29 09:36:00 2007 +0200
Do not call laptop-detect, let the only user call it directly
diff --git a/debian/xsfbs/xsfbs.sh b/debian/xsfbs/xsfbs.sh
index 52473ca..a90ff7d 100644
--- a/debian/xsfbs/xsfbs.sh
+++ b/debian/xsfbs/xsfbs.sh
@@ -59,13 +59,6 @@ fi
ARCHITECTURE="$(dpkg --print-installation-architecture)"
-LAPTOP=""
-if [ -n "$(which laptop-detect)" ]; then
- if laptop-detect >/dev/null; then
- LAPTOP=true
- fi
-fi
-
if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
RECONFIGURE="true"
else
commit 12a633f722a2ff9677728d1e2ae56767f804232a
Author: Brice Goglin <Brice.Goglin@ens-lyon.org>
Date: Thu Jul 12 16:06:22 2007 +0200
Fix "display the output of quilt push/pop".
Fix commit 16d97b30b91da02d5a3edc2b895cbd4a1995f62d to check the
return value of quilt, not the one of tee.
diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk
index 5f13302..bfca7bb 100755
--- a/debian/xsfbs/xsfbs.mk
+++ b/debian/xsfbs/xsfbs.mk
@@ -147,9 +147,11 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
fi; \
if $(QUILT) next >/dev/null 2>&1; then \
echo -n "Applying patches..."; \
- if $(QUILT) push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \
+ if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \
+ cat $(STAMP_DIR)/log/patch; \
echo "successful."; \
else \
+ cat $(STAMP_DIR)/log/patch; \
echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
exit 1; \
fi; \
@@ -164,9 +166,11 @@ unpatch:
rm -f $(STAMP_DIR)/patch
@echo -n "Unapplying patches..."; \
if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
- if $(QUILT) pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \
+ if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \
+ cat $(STAMP_DIR)/log/unpatch; \
echo "successful."; \
else \
+ cat $(STAMP_DIR)/log/unpatch; \
echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
exit 1; \
fi; \
commit e29b56820909668b062fdba72458ee9483a4ae44
Author: Brice Goglin <Brice.Goglin@ens-lyon.org>
Date: Mon Jul 9 21:50:47 2007 +0200
Minor fixes in the patching system.
* Fix debian/rules to not be confused by ~/.quiltrc or QUILT_PATCHES (as in #369920).
* Display which patches are applied and removed instead of just the first one (for #428090).
diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk
index 2930c1e..5f13302 100755
--- a/debian/xsfbs/xsfbs.mk
+++ b/debian/xsfbs/xsfbs.mk
@@ -21,6 +21,11 @@
# Pass $(DH_OPTIONS) into the environment for debhelper's benefit.
export DH_OPTIONS
+# force quilt to not use ~/.quiltrc
+QUILT = quilt --quiltrc /dev/null
+# force QUILT_PATCHES to the default in case it is exported in the environment
+QUILT_PATCHES = patches/
+
# Set up parameters for the upstream build environment.
# Determine (source) package name from Debian changelog.
@@ -140,9 +145,9 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \
exit 1; \
fi; \
- if quilt next >/dev/null 2>&1; then \
+ if $(QUILT) next >/dev/null 2>&1; then \
echo -n "Applying patches..."; \
- if quilt push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \
+ if $(QUILT) push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \
echo "successful."; \
else \
echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
@@ -159,7 +164,7 @@ unpatch:
rm -f $(STAMP_DIR)/patch
@echo -n "Unapplying patches..."; \
if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
- if quilt pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \
+ if $(QUILT) pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \
echo "successful."; \
else \
echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
@@ -295,17 +300,17 @@ patch-audit: prepare unpatch
@echo -n "Auditing patches..."; \
>$(STAMP_DIR)/log/patch; \
FUZZY=; \
- while [ -n "$$(quilt next)" ]; do \
- RESULT=$$(quilt push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
+ while [ -n "$$($(QUILT) next)" ]; do \
+ RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
case "$$RESULT" in \
succeeded) \
- echo "fuzzy patch: $$(quilt top)" \
- | tee -a $(STAMP_DIR)/log/$$(quilt top); \
+ echo "fuzzy patch: $$($(QUILT) top)" \
+ | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \
FUZZY=yes; \
;; \
FAILED) \
- echo "broken patch: $$(quilt next)" \
- | tee -a $(STAMP_DIR)/log/$$(quilt next); \
+ echo "broken patch: $$($(QUILT) next)" \
+ | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \
exit 1; \
;; \
esac; \
commit 16d97b30b91da02d5a3edc2b895cbd4a1995f62d
Author: Brice Goglin <Brice.Goglin@ens-lyon.org>
Date: Mon Jul 9 19:06:05 2007 +0200
Fix displaying of patches applied by quilt.
As requested in bug #428090, we silence the output of quilt next
and display the output of quilt push/pop.
diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk
index 63dde45..2930c1e 100755
--- a/debian/xsfbs/xsfbs.mk
+++ b/debian/xsfbs/xsfbs.mk
@@ -140,9 +140,9 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \
exit 1; \
fi; \
- if quilt next; then \
+ if quilt next >/dev/null 2>&1; then \
echo -n "Applying patches..."; \
- if quilt push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \
+ if quilt push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \
echo "successful."; \
else \
echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
@@ -159,7 +159,7 @@ unpatch:
rm -f $(STAMP_DIR)/patch
@echo -n "Unapplying patches..."; \
if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
- if quilt pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \
+ if quilt pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \
echo "successful."; \
else \
echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
commit cd6a1225ec319cad9788e8fba158d9792b55de23
Author: Joseph P. Skudlarek <Jskud@briareus.(none)>
Date: Fri Jul 6 15:39:53 2007 +0200
Implement "corner coasting".
diff --git a/INSTALL b/INSTALL
index 91b6b67..900b8c5 100644
--- a/INSTALL
+++ b/INSTALL
@@ -65,6 +65,8 @@ Section "InputDevice"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
+ Option "CornerCoasting" "1"
+ Option "CoastingSpeed" "3"
Option "MinSpeed" "0.09"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0015"
diff --git a/README.alps b/README.alps
index 206696f..d89b38b 100644
--- a/README.alps
+++ b/README.alps
@@ -30,6 +30,8 @@ Section "InputDevice"
Option "EmulateMidButtonTime" "75"
Option "VertScrollDelta" "20"
Option "HorizScrollDelta" "20"
+ Option "CornerCoasting" "1"
+ Option "CoastingSpeed" "3"
Option "MinSpeed" "0.3"
Option "MaxSpeed" "0.75"
Option "AccelFactor" "0.015"
diff --git a/manpages/synaptics.5 b/manpages/synaptics.5
index 14be846..6e99bd0 100644
--- a/manpages/synaptics.5
+++ b/manpages/synaptics.5
@@ -134,6 +134,9 @@ Enable vertical scrolling when dragging along the right edge.
\fBHorizEdgeScroll\fR (Bool)
Enable horizontal scrolling when dragging along the bottom edge.
.TP
+\fBCornerCoasting\fR (Bool)
+Enable edge scrolling to continue while the finger stays in an edge corner.
+.TP
\fBVertTwoFingerScroll\fR (Bool)
Enable vertical scrolling when dragging with two fingers anywhere on
the touchpad.
@@ -524,9 +527,15 @@ scrolling.
Coasting is enabled by setting the CoastingSpeed parameter to a
non-zero value.
.
-When coasting is enabled, horizontal/vertical scrolling can continue
-after the finger is released from the lower/right edge of the
-touchpad.
+Coasting comes in two flavors: conventional (finger off) coasting, and
+corner (finger on) coasting.
+.LP
+Conventional coasting is enabled when coasting is enabled,
+and CornerCoasting is set to false.
+.
+When conventional coasting is enabled, horizontal/vertical scrolling
+can continue after the finger is released from the lower/right edge of
+the touchpad.
.
The driver computes the scrolling speed corresponding to the finger
speed immediately before the finger leaves the touchpad.
@@ -537,6 +546,21 @@ with the same speed in the same direction until the finger touches the
touchpad again.
.
.LP
+Corner coasting is enabled when coasting is enabled, and
+CornerCoasting is set to true.
+.
+When corner coasting is enabled, edge scrolling can continue as long
+as the finger stays in a corner.
+.
+Coasting begins when the finger enters the corner, and continues until
+the finger leaves the corner.
+.
+CornerCoasting takes precedence over the seamless switch from edge
+scrolling to circular scrolling. That is, if CornerCoasting is
+active, scrolling will stop, and circular scrolling will not start,
+when the finger leaves the corner.
+.
+.LP
Trackstick emulation mode is entered when pressing the finger hard on
the touchpad.
.
diff --git a/synaptics.c b/synaptics.c
index d65dbd1..802132c 100644
--- a/synaptics.c
+++ b/synaptics.c
@@ -1,4 +1,7 @@
/*
+ * Copyright 2007 Joseph P. Skudlarek <Jskud@Jskud.com>
+ * patch for corner coasting (originally called corner edge scrolling)
+ *
* Copyright 2006 Christian Thaeter <chth@gmx.net>
* patch for Trackstick mode
*
@@ -428,6 +431,7 @@ SynapticsPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
pars->emulate_twofinger_z = xf86SetIntOption(opts, "EmulateTwoFingerMinZ", 257);
pars->scroll_edge_vert = xf86SetBoolOption(opts, "VertEdgeScroll", TRUE);
pars->scroll_edge_horiz = xf86SetBoolOption(opts, "HorizEdgeScroll", TRUE);
+ pars->scroll_edge_corner = xf86SetBoolOption(opts, "CornerCoasting", FALSE);
pars->scroll_twofinger_vert = xf86SetBoolOption(opts, "VertTwoFingerScroll", FALSE);
pars->scroll_twofinger_horiz = xf86SetBoolOption(opts, "HorizTwoFingerScroll", FALSE);
pars->edge_motion_min_z = xf86SetIntOption(opts, "EdgeMotionMinZ", 30);
@@ -1465,6 +1469,14 @@ start_coasting(SynapticsPrivate *priv, struct SynapticsHwState *hw, edge_type ed
priv->scroll_packet_count = 0;
}
+static void
+stop_coasting(SynapticsPrivate *priv)
+{
+ priv->autoscroll_xspd = 0;
+ priv->autoscroll_yspd = 0;
+ priv->scroll_packet_count = 0;
+}
+
static int
HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
edge_type edge, Bool finger, struct ScrollData *sd)
@@ -1475,8 +1487,7 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
sd->left = sd->right = sd->up = sd->down = 0;
if (priv->synpara->touchpad_off == 2) {
- priv->autoscroll_xspd = 0;
- priv->autoscroll_yspd = 0;
+ stop_coasting(priv);
priv->circ_scroll_on = FALSE;
priv->vert_scroll_edge_on = FALSE;
priv->horiz_scroll_edge_on = FALSE;
@@ -1487,9 +1498,7 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
/* scroll detection */
if (finger && !priv->finger_state) {
- priv->autoscroll_xspd = 0;
- priv->autoscroll_yspd = 0;
- priv->scroll_packet_count = 0;
+ stop_coasting(priv);
if (para->circular_scrolling) {
if ((para->circular_trigger == 0 && edge) ||
(para->circular_trigger == 1 && edge & TOP_EDGE) ||
@@ -1571,18 +1580,40 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
DBG(7, ErrorF("horiz edge scroll off\n"));
priv->horiz_scroll_edge_on = FALSE;
}
- if ((oldv || oldh) &&
+ /* If we were corner edge scrolling (coasting),
+ * but no longer in corner or raised a finger, then stop coasting. */
+ if (para->scroll_edge_corner && (priv->autoscroll_xspd || priv->autoscroll_yspd)) {
+ Bool is_in_corner =
+ ((edge & RIGHT_EDGE) && (edge & (TOP_EDGE | BOTTOM_EDGE))) ||
+ ((edge & BOTTOM_EDGE) && (edge & (LEFT_EDGE | RIGHT_EDGE))) ;
+ if (!is_in_corner || !finger) {
+ DBG(7, ErrorF("corner edge scroll off\n"));
+ stop_coasting(priv);
+ }
+ }
+ /* if we were scrolling, but couldn't corner edge scroll,
+ * and are no longer scrolling, then start coasting */
+ if ((oldv || oldh) && !para->scroll_edge_corner &&
!(priv->circ_scroll_on || priv->vert_scroll_edge_on ||
priv->horiz_scroll_edge_on)) {
start_coasting(priv, hw, edge, oldv);
}
}
- /* if hitting a corner (top right or bottom right) while vertical scrolling
- is active, switch over to circular scrolling smoothly */
+ /* if hitting a corner (top right or bottom right) while vertical
+ * scrolling is active, consider starting corner edge scrolling or
+ * switching over to circular scrolling smoothly */
if (priv->vert_scroll_edge_on && !priv->horiz_scroll_edge_on &&
- para->circular_scrolling) {
- if ((edge & RIGHT_EDGE) && (edge & (TOP_EDGE | BOTTOM_EDGE))) {
+ (edge & RIGHT_EDGE) && (edge & (TOP_EDGE | BOTTOM_EDGE))) {
+ if (para->scroll_edge_corner) {
+ if (priv->autoscroll_yspd == 0) {
+ /* FYI: We can generate multiple start_coasting requests if
+ * we're in the corner, but we were moving so slowly when we
+ * got here that we didn't actually start coasting. */
+ DBG(7, ErrorF("corner edge scroll on\n"));
+ start_coasting(priv, hw, edge, TRUE);
+ }
+ } else if (para->circular_scrolling) {
priv->vert_scroll_edge_on = FALSE;
priv->circ_scroll_on = TRUE;
priv->circ_scroll_vert = TRUE;
@@ -1592,8 +1623,16 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
}
/* Same treatment for horizontal scrolling */
if (priv->horiz_scroll_edge_on && !priv->vert_scroll_edge_on &&
- para->circular_scrolling) {
- if ((edge & BOTTOM_EDGE) && (edge & (LEFT_EDGE | RIGHT_EDGE))) {
+ (edge & BOTTOM_EDGE) && (edge & (LEFT_EDGE | RIGHT_EDGE))) {
+ if (para->scroll_edge_corner) {
+ if (priv->autoscroll_xspd == 0) {
+ /* FYI: We can generate multiple start_coasting requests if
+ * we're in the corner, but we were moving so slowly when we
+ * got here that we didn't actually start coasting. */
+ DBG(7, ErrorF("corner edge scroll on\n"));
+ start_coasting(priv, hw, edge, FALSE);
+ }
+ } else if (para->circular_scrolling) {
priv->horiz_scroll_edge_on = FALSE;
priv->circ_scroll_on = TRUE;
priv->circ_scroll_vert = FALSE;
diff --git a/synaptics.h b/synaptics.h
index 225eeb9..f780849 100644
--- a/synaptics.h
+++ b/synaptics.h
@@ -64,6 +64,7 @@ typedef struct _SynapticsSHM
int scroll_dist_horiz; /* Scrolling distance in absolute coordinates */
Bool scroll_edge_vert; /* Enable/disable vertical scrolling on right edge */
Bool scroll_edge_horiz; /* Enable/disable horizontal scrolling on left edge */
+ Bool scroll_edge_corner; /* Enable/disable continuous edge scrolling when in the corner */
Bool scroll_twofinger_vert; /* Enable/disable vertical two-finger scrolling */
Bool scroll_twofinger_horiz; /* Enable/disable horizontal two-finger scrolling */
double min_speed, max_speed, accl; /* movement parameters */
diff --git a/synclient.c b/synclient.c
index 3868658..aa5479c 100644
--- a/synclient.c
+++ b/synclient.c
@@ -68,6 +68,7 @@ static struct Parameter params[] = {
DEFINE_PAR("HorizScrollDelta", scroll_dist_horiz, PT_INT, 0, 1000),
DEFINE_PAR("VertEdgeScroll", scroll_edge_vert, PT_BOOL, 0, 1),
DEFINE_PAR("HorizEdgeScroll", scroll_edge_horiz, PT_BOOL, 0, 1),
+ DEFINE_PAR("CornerCoasting", scroll_edge_corner, PT_BOOL, 0, 1),
DEFINE_PAR("VertTwoFingerScroll", scroll_twofinger_vert, PT_BOOL, 0, 1),
DEFINE_PAR("HorizTwoFingerScroll", scroll_twofinger_horiz, PT_BOOL, 0, 1),
DEFINE_PAR("MinSpeed", min_speed, PT_DOUBLE, 0, 1.0),
commit 80a10d7a097747fd6d7ab9806853e68601276334
Author: Peter Osterlund <petero2@telia.com>
Date: Fri Jul 6 15:25:24 2007 +0200
Update my copyright information.
diff --git a/alpscomm.c b/alpscomm.c
index 822d173..89d2a4a 100644
--- a/alpscomm.c
+++ b/alpscomm.c
@@ -1,7 +1,7 @@
/* Copyright (C) 2001 Stefan Gmeiner <riddlebox@freesurf.ch>
*
* Copyright (c) 2003 Neil Brown <neilb@cse.unsw.edu.au>
- * Copyright (c) 2003-2004 Peter Osterlund <petero2@telia.com>
+ * Copyright (c) 2003-2005,2007 Peter Osterlund <petero2@telia.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
diff --git a/eventcomm.c b/eventcomm.c
index c4e0996..e3257cd 100644
--- a/eventcomm.c
+++ b/eventcomm.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2004 Peter Osterlund <petero2@telia.com>
+ * Copyright 2004-2007 Peter Osterlund <petero2@telia.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
diff --git a/synclient.c b/synclient.c
index ff73cd0..3868658 100644
--- a/synclient.c
+++ b/synclient.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2004 Peter Osterlund <petero2@telia.com>
+ * Copyright 2002-2005,2007 Peter Osterlund <petero2@telia.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
commit 0ce431dc5291d95f4b3e78f9fb1c9e0be5de5abd
Author: Joseph P. Skudlarek <Jskud@briareus.(none)>
Date: Fri Jul 6 15:07:01 2007 +0200
Repair mismatch between driver and client regarding parameter names.
diff --git a/INSTALL b/INSTALL
index 2ccc112..91b6b67 100644
--- a/INSTALL
+++ b/INSTALL
@@ -53,7 +53,7 @@ Section "InputDevice"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
-# enable SHMCOnfig if you want to enable synclient
+# enable SHMConfig if you want to enable synclient
# NB: enabling SHMConfig is insecure, since any user can invoke it
# Option "SHMConfig" "on"
Option "LeftEdge" "1700"
diff --git a/manpages/synaptics.5 b/manpages/synaptics.5
index 702d95f..14be846 100644
--- a/manpages/synaptics.5
+++ b/manpages/synaptics.5
@@ -203,12 +203,12 @@ If on, the left/right buttons generate button 6/7 events.
.
If off, the left/right buttons both generate button 2 events.
.TP
-\fBUpDownRepeat\fR (Bool)
+\fBUpDownScrollRepeat\fR (Bool)
If on, and the up/down buttons are used for scrolling
(\fBUpDownScrolling\fR), these buttons will send auto-repeating 4/5 events,
with the delay between repeats determined by \fBScrollButtonRepeat\fR.
.TP
-\fBLeftRightRepeat\fR (Bool)
+\fBLeftRightScrollRepeat\fR (Bool)
If on, and the left/right buttons are used for scrolling
(\fBLeftRightScrolling\fR), these buttons will send auto-repeating 6/7 events,
with the delay between repeats determined by \fBScrollButtonRepeat\fR.
diff --git a/synclient.c b/synclient.c
index 6bf3ed0..ff73cd0 100644
--- a/synclient.c
+++ b/synclient.c
@@ -81,8 +81,8 @@ static struct Parameter params[] = {
DEFINE_PAR("EdgeMotionUseAlways", edge_motion_use_always, PT_BOOL, 0, 1),
DEFINE_PAR("UpDownScrolling", updown_button_scrolling, PT_BOOL, 0, 1),
DEFINE_PAR("LeftRightScrolling", leftright_button_scrolling, PT_BOOL, 0, 1),
- DEFINE_PAR("UpDownRepeat", updown_button_repeat, PT_BOOL, 0, 1),
- DEFINE_PAR("LeftRightRepeat", leftright_button_repeat, PT_BOOL, 0, 1),
+ DEFINE_PAR("UpDownScrollRepeat", updown_button_repeat, PT_BOOL, 0, 1),
+ DEFINE_PAR("LeftRightScrollRepeat",leftright_button_repeat, PT_BOOL, 0, 1),
DEFINE_PAR("ScrollButtonRepeat", scroll_button_repeat, PT_INT, SBR_MIN , SBR_MAX),
DEFINE_PAR("TouchpadOff", touchpad_off, PT_INT, 0, 2),
DEFINE_PAR("GuestMouseOff", guestmouse_off, PT_BOOL, 0, 1),
commit f6ccc31c29c9dfefd033ec1c5be6fdc11206bffb
Author: Peter Osterlund <petero2@telia.com>
Date: Sun Jun 3 22:27:45 2007 +0200
Align the "synclient -l" output.
diff --git a/synclient.c b/synclient.c
index 1436121..6bf3ed0 100644
--- a/synclient.c
+++ b/synclient.c
@@ -137,13 +137,13 @@ show_settings(SynapticsSHM *synshm)
struct Parameter* par = ¶ms[i];
switch (par->type) {
case PT_INT:
- printf(" %-20s = %d\n", par->name, *(int*)((char*)synshm + par->offset));
+ printf(" %-23s = %d\n", par->name, *(int*)((char*)synshm + par->offset));
break;
case PT_BOOL:
- printf(" %-20s = %d\n", par->name, *(Bool*)((char*)synshm + par->offset));
+ printf(" %-23s = %d\n", par->name, *(Bool*)((char*)synshm + par->offset));
break;
case PT_DOUBLE:
- printf(" %-20s = %g\n", par->name, *(double*)((char*)synshm + par->offset));
+ printf(" %-23s = %g\n", par->name, *(double*)((char*)synshm + par->offset));
break;
}
}
commit cab78d760ddbd26511143cfd309cfa3120864472
Author: Joseph P. Skudlarek <Jskud@briareus.(none)>
Date: Sun Jun 3 21:42:10 2007 +0200
Documentation update.
diff --git a/INSTALL b/INSTALL
index 8fcf919..2ccc112 100644
--- a/INSTALL
+++ b/INSTALL
@@ -49,24 +49,26 @@ EndSection
following lines:
Section "InputDevice"
- Identifier "Synaptics Mouse"
- Driver "synaptics"
- Option "Device" "/dev/psaux"
- Option "Protocol" "auto-dev"
- Option "LeftEdge" "1700"
- Option "RightEdge" "5300"
- Option "TopEdge" "1700"
- Option "BottomEdge" "4200"
- Option "FingerLow" "25"
- Option "FingerHigh" "30"
- Option "MaxTapTime" "180"
- Option "MaxTapMove" "220"
- Option "VertScrollDelta" "100"
- Option "MinSpeed" "0.09"
- Option "MaxSpeed" "0.18"
- Option "AccelFactor" "0.0015"
- Option "SHMConfig" "on"
-# Option "Repeater" "/dev/ps2mouse"
+ Identifier "Synaptics Mouse"
+ Driver "synaptics"
+ Option "Device" "/dev/psaux"
+ Option "Protocol" "auto-dev"
+# enable SHMCOnfig if you want to enable synclient
+# NB: enabling SHMConfig is insecure, since any user can invoke it
+# Option "SHMConfig" "on"
+ Option "LeftEdge" "1700"
+ Option "RightEdge" "5300"
+ Option "TopEdge" "1700"
+ Option "BottomEdge" "4200"
+ Option "FingerLow" "25"
+ Option "FingerHigh" "30"
+ Option "MaxTapTime" "180"
+ Option "MaxTapMove" "220"
+ Option "VertScrollDelta" "100"
+ Option "MinSpeed" "0.09"
+ Option "MaxSpeed" "0.18"
+ Option "AccelFactor" "0.0015"
+# Option "Repeater" "/dev/ps2mouse"
EndSection
Change the Identifier to the same name as in the ServerLayout section.
diff --git a/README.alps b/README.alps
index fa6d038..206696f 100644
--- a/README.alps
+++ b/README.alps
@@ -12,13 +12,13 @@ touchpads, you probably have to change some parameter values. Here is
an example InputDevice section for the X configuration file.
Section "InputDevice"
- Driver "synaptics"
- Identifier "Mouse[1]"
- Option "Device" "/dev/psaux"
+ Driver "synaptics"
+ Identifier "Mouse[1]"
+ Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
# enable SHMConfig if you want to enable synclient
# NB: enabling SHMConfig is insecure, since any user can invoke it
-# Option "SHMConfig" "on"
+# Option "SHMConfig" "on"
Option "LeftEdge" "120"
Option "RightEdge" "830"
Option "TopEdge" "120"
diff --git a/manpages/synaptics.5 b/manpages/synaptics.5
index 0304cf3..702d95f 100644
--- a/manpages/synaptics.5
+++ b/manpages/synaptics.5
@@ -61,7 +61,9 @@ The driver behavior can be configured with parameters.
These parameters are options in the InputDevice section in the
XOrg/XFree86 config file.
.
-See the INSTALL file for a working example.
+See the INSTALL file for a working example for a synaptics touchpad.
+.
+See the README.alps file for a working example for an ALPS touchpad.
.
If you have the SHMConfig parameter enabled, these parameters can also
be changed at runtime with the synclient(1) program.
@@ -506,8 +508,8 @@ region, which can be all edges, a particular side, or a particular
corner.
.
Once scrolling is engaged, moving your finger in clockwise circles
-around the touchpad will generate scroll down events and counter
-clockwise scroll up events.
+around the center of the touchpad will generate scroll down events and
+counter clockwise motion will generate scroll up events.
.
Lifting your finger will disengage circular scrolling.
.
commit b54890504a17916f6633d8069164a06e42824238
Author: Joseph P. Skudlarek <Jskud@briareus.(none)>
Date: Mon May 28 12:25:39 2007 -0700
Comment out SHMConfig, and explain that it is insecure.
diff --git a/README.alps b/README.alps
index 6a2314b..fa6d038 100644
--- a/README.alps
+++ b/README.alps
@@ -16,7 +16,9 @@ Section "InputDevice"
Identifier "Mouse[1]"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
- Option "SHMConfig" "on"
+# enable SHMConfig if you want to enable synclient
+# NB: enabling SHMConfig is insecure, since any user can invoke it
+# Option "SHMConfig" "on"
Option "LeftEdge" "120"
Option "RightEdge" "830"
Option "TopEdge" "120"
commit 2a946548ff6083edc3f300cb553ce45588f625ba
Author: Joseph P. Skudlarek <Jskud@briareus.(none)>
Date: Mon May 28 12:23:47 2007 -0700
Alsp documentation update.
Fix typo in prose -- no longer need to set Device;
augment example to suggest using shared memory, so can use synclient
diff --git a/README.alps b/README.alps
index ce807cb..6a2314b 100644
--- a/README.alps
+++ b/README.alps
@@ -16,6 +16,7 @@ Section "InputDevice"
Identifier "Mouse[1]"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
+ Option "SHMConfig" "on"
Option "LeftEdge" "120"
Option "RightEdge" "830"
Option "TopEdge" "120"
@@ -39,7 +40,7 @@ Section "InputDevice"
EndSection
If you use a 2.4 linux kernel, you don't need to patch the kernel, but
-you should instead set "Device" and "Protocol" like this:
+you should instead set "Protocol" like this:
Option "Protocol" "alps"
commit 9a7ea338e558449aa62e152d7a79e8cb71224754
Author: Joseph P. Skudlarek <Jskud@briareus.(none)>
Date: Mon May 28 11:26:14 2007 -0700
Clarify that alps.patch file is not always needed.
diff --git a/FILES b/FILES
index a8db79b..d3d0624 100644
--- a/FILES
+++ b/FILES
@@ -9,5 +9,5 @@ script/usbmouse script for shutting the touchpad down if
an external USB-mouse is attached
syndaemon.c A user space program that disables the touchpad
when the keyboard is used.
-alps.patch Patch for 2.6 kernels that makes it possible to
+alps.patch Patch for older 2.6 kernels that makes it possible to
use the driver with an ALPS GlidePoint device.
diff --git a/README.alps b/README.alps
index 1b63cb0..ce807cb 100644
--- a/README.alps
+++ b/README.alps
@@ -1,7 +1,8 @@
It is possible to use this driver with an ALPS Glidepoint device. If
-you use a 2.6 linux kernel, you need to apply the ALPS kernel patch
-in the alps.patch file. See http://www.kernelnewbies.org/faq/ for
-information about how to apply kernel patches and compile kernels.
+you use an older 2.6 linux kernel which has no ALPS input driver, you
+need to apply the ALPS kernel patch in the alps.patch file. See
+http://www.kernelnewbies.org/faq/ for information about how to apply
+kernel patches and compile kernels.
Note! If you use kernel 2.6.11 or later, the alps patch is already
included, so you don't have to patch your kernel.
Reply to: