Re: 2.5.X breaks PS/2 mouse

From: Vojtech Pavlik (vojtech@suse.cz)
Date: Mon Oct 07 2002 - 09:23:18 EST


On Mon, Oct 07, 2002 at 03:17:13PM +0100, jbradford@dial.pipex.com wrote:

> I didn't, but I've compiled a new kernel with it in. Unfortunately, it doesn't seem to do anything useful :-(.
>
> cat /dev/input/eventX | hexdump
>
> returns nothing, not even for keyboard events, which makes me think I've gone wrong somewhere :-/

Have you tried all of them (0, 1, 2 ...)? Btw, you can compile evbug in
also.

> > If it was different, then definitely!
>
> Sorry, I was wrong, I think I pressed a mouse button whilst connecting it and mis-read the info. The init is exactly the same.
>
> However, the data sent from each one seems to be very different, (I've re-formatted this a bit to save space, but it's from the dmesg output):
>
> mouse
>
> Left button - 09 00 00 08 00 00
> Right button - 0a 00 00 08 00 00
>
> trackball
>
> Left button - 01 00 00 00 00 00
> Right button - 02 00 00 00 00 00

Hmm, interesting ... let's see what that means ...

Indeed the 0x08 byte indicates the beginning of a packet. The driver
synchronizes on that, and when it's missing, it ignores the packets.
Thus, it ignores all the packets from the trackball.

This patch should fix that:

===================================================================

diff -Nru a/drivers/input/mouse/psmouse.c b/drivers/input/mouse/psmouse.c
--- a/drivers/input/mouse/psmouse.c Mon Oct 7 16:22:53 2002
+++ b/drivers/input/mouse/psmouse.c Mon Oct 7 16:22:53 2002
@@ -201,7 +201,7 @@
         psmouse->packet[psmouse->pktcnt++] = data;
 
         if (psmouse->pktcnt == 3 + (psmouse->type >= PSMOUSE_GENPS)) {
- if ((psmouse->packet[0] & 0x08) == 0x08) psmouse_process_packet(psmouse);
+ psmouse_process_packet(psmouse);
                 psmouse->pktcnt = 0;
                 return;
         }

===================================================================

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



This archive was generated by hypermail 2b29 : Mon Oct 07 2002 - 22:00:58 EST