diff options
| -rw-r--r-- | drivers/input/mouse/alps.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index ea6cb64dfb28..da3af8db697c 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c | |||
| @@ -243,6 +243,14 @@ static void alps_process_packet_v1_v2(struct psmouse *psmouse) | |||
| 243 | return; | 243 | return; |
| 244 | } | 244 | } |
| 245 | 245 | ||
| 246 | /* Non interleaved V2 dualpoint has separate stick button bits */ | ||
| 247 | if (priv->proto_version == ALPS_PROTO_V2 && | ||
| 248 | priv->flags == (ALPS_PASS | ALPS_DUALPOINT)) { | ||
| 249 | left |= packet[0] & 1; | ||
| 250 | right |= packet[0] & 2; | ||
| 251 | middle |= packet[0] & 4; | ||
| 252 | } | ||
| 253 | |||
| 246 | alps_report_buttons(dev, dev2, left, right, middle); | 254 | alps_report_buttons(dev, dev2, left, right, middle); |
| 247 | 255 | ||
| 248 | /* Convert hardware tap to a reasonable Z value */ | 256 | /* Convert hardware tap to a reasonable Z value */ |
