Explorar o código

Input: alps - fix rushmore packet decoding

Signed-off-by: Yunkang Tang <yunkang.tang@cn.alps.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Yunkang Tang %!s(int64=11) %!d(string=hai) anos
pai
achega
f105e34a4e
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      drivers/input/mouse/alps.c

+ 3 - 0
drivers/input/mouse/alps.c

@@ -559,6 +559,9 @@ static void alps_decode_rushmore(struct alps_fields *f, unsigned char *p,
 {
 	alps_decode_pinnacle(f, p, psmouse);
 
+	/* Rushmore's packet decode has a bit difference with Pinnacle's */
+	f->is_mp = !!(p[5] & 0x40);
+	f->fingers = max((p[5] & 0x3), ((p[5] >> 2) & 0x3)) + 1;
 	f->x_map |= (p[5] & 0x10) << 11;
 	f->y_map |= (p[5] & 0x20) << 6;
 }