Hi Dmitry, I really hate to say, but I can still desync it. [1240043.147596] alps.c: handle cf [1240043.148778] alps.c: handle 14 [1240043.150043] alps.c: handle 1a [1240043.157696] alps.c: handle 5f [1240043.158851] alps.c: handle c [1240043.160044] alps.c: handle 29 [1240043.163885] alps.c: handle 2f [1240043.165051] alps.c: handle 0 [1240043.166213] alps.c: handle ff [1240043.166218] alps.c: refusing packet[5] = ff [1240043.166221] [1240043.166227] psmouse.c: DualPoint TouchPad at isa0060/serio1/input0 lost sync at byte 6 In short, it's a 6-byte followed by a 3-byte; we mistakenly process it as a interleaved PS/2 (oh well), and, while the final bytes come in, happen upon high bits set in the PS/2 packet. In a way, this is correct behaviour, because we _are_ processing the data incorrectly... In my last patch, this went unnoticed because I didn't check for the high bit in bytes 7,8,9. For all practical purposes (i.e. not pressing three buttons and fumbling with both pointers at the same time), the patch works very well. In particular, no double clicks. :-) -- Sebastian Kapfer Inst. für Theoretische Physik I Office +49-9131-85-2-8450 Universität Erlangen Mobile +49-160-9577-6436 Staudtstr. 7, Raum 02.583. sebastian.kapfer@xxxxxxxxxxxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html