Re: [PATCH] Logitech PS/2++ updates

Eric Wong (normalperson@yhbt.net)
Sat, 14 Jun 2003 17:29:33 -0700


Vojtech Pavlik <vojtech@suse.cz> wrote:
> On Tue, Mar 25, 2003 at 06:55:38PM -0800, Eric Wong wrote:
> > /*
> > * The PS2++ protocol is a little bit complex
> > */
> > + if (psmouse->type == PSMOUSE_PS2PP) {
> > +
> > + if ((packet[0] & 0x48) == 0x48 && (packet[1] & 0x02) == 0x02 ) {
> >
>
> Hmm, is this change needed? This
>
> if ((packet[0] & 0x40) == 0x40 && abs((int)packet[1] - (((int)packet[0] & 0x10) << 4)) > 191 ) {
>
> condition is from Logitech docs and should work with any PS2PP device.
> It doesn't with yours?

The updated PS2PP uses 6 bits to determine packet-type instead of 4 as
used previously, so compatibility with the touchpad protocol was broken
if I recall correctly.

NEW (6 t bits):
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
packet0 E 1 t5 t4 1 M R L
packet1 t3 t2 t1 t0 d2 d1 1 0
packet2 d8 d7 d6 d5 d4 d3 d2 d1

OLD (4 t bits)
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
packet0 E 1 t3 t2 1 M R L
packet1 ? ? t1 t0 d2 d1 1 0
packet2 d8 d7 d6 d5 d4 d3 d2 d1

E is set if it's an external device

-- 
Eric Wong
-
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/