summaryrefslogtreecommitdiff
path: root/src/synaptics.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/synaptics.c')
-rw-r--r--src/synaptics.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/synaptics.c b/src/synaptics.c
index 6b98e6e..9b89595 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -318,7 +318,10 @@ static void set_default_parameters(LocalDevicePtr local)
/* The synaptics specs specify typical edge widths of 4% on x, and 5.4% on
* y (page 7) [Synaptics TouchPad Interfacing Guide, 510-000080 - A
* Second Edition, http://www.synaptics.com/support/dev_support.cfm, 8 Sep
- * 2008]
+ * 2008]. We use 7% for both instead for synaptics devices, and 15% for
+ * ALPS models.
+ * http://bugs.freedesktop.org/show_bug.cgi?id=21214
+ *
* If the range was autodetected, apply these edge widths to all four
* sides.
*/
@@ -330,8 +333,19 @@ static void set_default_parameters(LocalDevicePtr local)
width = abs(priv->maxx - priv->minx);
height = abs(priv->maxy - priv->miny);
diag = sqrt(width * width + height * height);
- ewidth = width * .04;
- eheight = height * .055;
+ if (priv->model == MODEL_SYNAPTICS)
+ {
+ ewidth = width * .07;
+ eheight = height * .07;
+ } else if (priv->model == MODEL_ALPS)
+ {
+ ewidth = width * .15;
+ eheight = height * .15;
+ } else
+ {
+ ewidth = width * .04;
+ eheight = height * .04;
+ }
l = priv->minx + ewidth;
r = priv->maxx - ewidth;