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 = ¶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: