Package: xserver-xorg-input-synaptics
Version: 0.14.6-1
Severity: wishlist
Tags: patch


Hi !

At this URL:
http://lanpartei.de/~mirage/
You can find a patch that allows to switch to two finger scrolling when
pressing with a second finger while the first one is allready pressing
the
touchpad.

This features makes two finger scrolling much more easy to use since it
is not that obvious to press with both fingers at once in the correct
time required.. I can use two finger scrolling only with this patch.

I don't know if this has been sumbited upstream, but I would appreciate
to have it in debian !


Romain


-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-mactel
Locale: LANG=fr_FR, LC_CTYPE=fr_FR (charmap=ISO-8859-1)

Versions of packages xserver-xorg-input-synaptics depends on:
ii  libc6                       2.3.6.ds1-11 GNU C Library: Shared libraries
ii  libx11-6                    2:1.0.3-5    X11 client-side library
ii  libxext6                    1:1.0.1-2    X11 miscellaneous extension librar
ii  libxi6                      1:1.0.1-4    X11 Input extension library
ii  xserver-xorg-core           2:1.1.1-17   X.Org X server -- core server

xserver-xorg-input-synaptics recommends no packages.

-- no debconf information
diff -Naur synaptics-0.14.6/synaptics.c synaptics-0.14.6-1/synaptics.c
--- synaptics-0.14.6/synaptics.c	2006-07-15 17:54:29.000000000 +0200
+++ synaptics-0.14.6-1/synaptics.c	2006-09-11 22:28:21.000000000 +0200
@@ -1368,7 +1368,7 @@
     }
 
     /* scroll detection */
-    if (finger && !priv->finger_flag) {
+    if ((finger && !priv->finger_flag) || (hw->numFingers > 1 && !priv->two_finger_flag) ) {
 	priv->autoscroll_xspd = 0;
 	priv->autoscroll_yspd = 0;
 	priv->scroll_packet_count = 0;
@@ -1389,7 +1389,7 @@
 	    }
 	}
 	if (!priv->circ_scroll_on) {
-	    if (hw->numFingers == 2) {
+	    if (hw->numFingers > 1) {
 		if ((para->scroll_twofinger_vert) && (para->scroll_dist_vert != 0)) {
 		    priv->vert_scroll_twofinger_on = TRUE;
 		    priv->scroll_y = hw->y;
@@ -1771,6 +1771,11 @@
 
     /* Save old values of some state variables */
     priv->finger_flag = finger;
+	if (hw->numFingers > 1)
+		priv->two_finger_flag = TRUE;
+	else
+		priv->two_finger_flag = FALSE;
+		
     priv->lastButtons = buttons;
 
     return delay;
diff -Naur synaptics-0.14.6/synaptics.h synaptics-0.14.6-1/synaptics.h
--- synaptics-0.14.6/synaptics.h	2006-07-15 17:54:29.000000000 +0200
+++ synaptics-0.14.6-1/synaptics.h	2006-09-11 22:42:44.000000000 +0200
@@ -192,6 +192,7 @@
     int button_delay_millis;		/* button delay for 3rd button emulation */
     Bool prev_up;			/* Previous up button value, for double click emulation */
     Bool finger_flag;			/* previous finger */
+    Bool two_finger_flag;		/* two fingers previously used */
 
     enum TapState tap_state;		/* State of tap processing */
     int tap_max_fingers;		/* Max number of fingers seen since entering start state */

Reply via email to