On Fri, Mar 04, 2005 at 10:02:03PM +0100, Benoit Boissinot wrote:
> On Tue, 1 Mar 2005 12:54:32 +0100, Vojtech Pavlik <[EMAIL PROTECTED]> wrote:
> > 
> > Can you check with a current -mm kernel whether any of the issues is
> > still there? Everything seems to work smoothly with my ALPS.
> > 
> 
> I have problems with ALPS and 2.6.11-mm1. If I move the pointer with
> the touchpad, it activates button modifiers at the same time. (xev
> reports a MotionNotify event with state = 0x600 or sometimes 0x200
> instead of the expected 0x0).
> 
> Moreover the pointer sometimes jump at the bottom right of the screen.
> 
> It worked fine with 2.6.11-rc5-mm1.
> 
> relevant portion of dmesg:
> 
> - with rc5:
> 
> Linux version 2.6.11-rc5-mm1 ([EMAIL PROTECTED]) (gcc version
> 3.4.3-20050110 (Gentoo Linux 3.                4.3.20050110,
> ssp-3.4.3.20050110-0, pie-8.7.7)) #2 Tue Mar 1 13:33:05 CET 2005
> input: AT Translated Set 2 keyboard on isa0060/serio0
> ALPS Touchpad (Dualpoint) detected
> Enabling hardware tapping
> input: AlpsPS/2 ALPS TouchPad on isa0060/serio1
> 
> - with .11
> 
> Linux version 2.6.11-mm1 ([EMAIL PROTECTED]) (gcc version 3.4.3-20050110
> (Gentoo Linux 3.4.3.                20050110, ssp-3.4.3.20050110-0,
> pie-8.7.7)) #5 Fri Mar 4 16:49:47 CET 2005
> input: AT Translated Set 2 keyboard on isa0060/serio0
>    Enabling hardware tapping
> input: DualPoint Stick on isa0060/serio1
> input: AlpsPS/2 ALPS DualPoint TouchPad on isa0060/serio1
> 
> I hope it can help.

Can you check if this patch helps?


[EMAIL PROTECTED], 2005-03-04 20:19:05+01:00, [EMAIL PROTECTED]
  input: Fix inverted conditions in ALPS DualPoint stick packet
         decoding.
[EMAIL PROTECTED], 2005-03-04 21:55:23+01:00, [EMAIL PROTECTED]
  input: Fix ALPS DualPoint stick buttons. Testing shows that they're
         at the same place as the pad ones, but packet has z==127.
  
 alps.c |   26 +++++++++---------------
 1 files changed, 10 insertions(+), 16 deletions(-)


diff -Nru a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
--- a/drivers/input/mouse/alps.c        2005-03-04 22:00:33 +01:00
+++ b/drivers/input/mouse/alps.c        2005-03-04 22:00:33 +01:00
@@ -124,8 +124,8 @@
 
                /* Relative movement packet */
                if (z == 127) {
-                       input_report_rel(dev2, REL_X,  (x > 383 ? x : (x - 
768)));
-                       input_report_rel(dev2, REL_Y, -(y > 255 ? y : (x - 
512)));
+                       input_report_rel(dev2, REL_X,  (x > 383 ? (x - 768) : 
x));
+                       input_report_rel(dev2, REL_Y, -(y > 255 ? (x - 512) : 
y));
                        input_sync(dev2);
                        return;
                }
diff -Nru a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
--- a/drivers/input/mouse/alps.c        2005-03-04 22:00:49 +01:00
+++ b/drivers/input/mouse/alps.c        2005-03-04 22:00:49 +01:00
@@ -115,20 +115,14 @@
        ges = packet[2] & 1;
        fin = packet[2] & 2;
 
-       /* Dualpoint has stick buttons in byte 0 */
-       if (priv->i->flags & ALPS_DUALPOINT) {
-       
-               input_report_key(dev2, BTN_LEFT,    packet[0]       & 1);    
-               input_report_key(dev2, BTN_MIDDLE, (packet[0] >> 2) & 1);
-               input_report_key(dev2, BTN_RIGHT,  (packet[0] >> 1) & 1);
-
-               /* Relative movement packet */
-               if (z == 127) {
-                       input_report_rel(dev2, REL_X,  (x > 383 ? (x - 768) : 
x));
-                       input_report_rel(dev2, REL_Y, -(y > 255 ? (x - 512) : 
y));
-                       input_sync(dev2);
-                       return;
-               }
+       if ((priv->i->flags & ALPS_DUALPOINT) && z == 127) {
+               input_report_key(dev2, BTN_LEFT,   left);    
+               input_report_key(dev2, BTN_RIGHT,  right);
+               input_report_key(dev2, BTN_MIDDLE, middle);
+               input_report_rel(dev2, REL_X,  (x > 383 ? (x - 768) : x));
+               input_report_rel(dev2, REL_Y, -(y > 255 ? (x - 512) : y));
+               input_sync(dev2);
+               return;
        }
 
        /* Convert hardware tap to a reasonable Z value */

-- 
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to