[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-input-synaptics: Changes to 'upstream'



 FILES                |    2 -
 INSTALL              |   40 +++++++++++++++++---------------
 README.alps          |   20 ++++++++++------
 alpscomm.c           |    2 -
 eventcomm.c          |    2 -
 manpages/synaptics.5 |   42 +++++++++++++++++++++++++++-------
 synaptics.c          |   63 +++++++++++++++++++++++++++++++++++++++++----------
 synaptics.h          |    1 
 synclient.c          |   13 +++++-----
 9 files changed, 131 insertions(+), 54 deletions(-)

New commits:
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 = &params[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: