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

Vojtech Pavlik
2003-06-15T07:08:11Z

On Sat, Jun 14, 2003 at 05:29:33PM -0700, Eric Wong wrote:

> 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

Thanks for the info. I didn't expect Logitech to ever need more than 16
special packets bits.