diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-11-17 01:12:21 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-11-20 03:52:12 -0500 |
commit | 315eb996d5505112b22452ccbc7e01fb02eaae81 (patch) | |
tree | 86abf8a390575efe1bc0b678dbd27310ff351f59 /drivers/input/mouse/hgpk.c | |
parent | 0cc1770b66ddc2524ab5f0ed6ba5f2df19d6414a (diff) |
Input: psmouse - rework setting of BTN_MIDDLE capability
Do not start protocol detection assuming that middle mouse is present,
instead let individual protocols explicitly set this capability.
This fixes issue with Synaptics touchpads pretending that they have
middle button when hardware clearly reports otherwise.
Reported-and-tested-by: Andrey Borzenkov <arvidjaar@mail.ru>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/mouse/hgpk.c')
-rw-r--r-- | drivers/input/mouse/hgpk.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/drivers/input/mouse/hgpk.c b/drivers/input/mouse/hgpk.c index de1e553028b7..b146237266d8 100644 --- a/drivers/input/mouse/hgpk.c +++ b/drivers/input/mouse/hgpk.c | |||
@@ -430,19 +430,6 @@ static int hgpk_register(struct psmouse *psmouse) | |||
430 | struct input_dev *dev = psmouse->dev; | 430 | struct input_dev *dev = psmouse->dev; |
431 | int err; | 431 | int err; |
432 | 432 | ||
433 | /* unset the things that psmouse-base sets which we don't have */ | ||
434 | __clear_bit(BTN_MIDDLE, dev->keybit); | ||
435 | |||
436 | /* set the things we do have */ | ||
437 | __set_bit(EV_KEY, dev->evbit); | ||
438 | __set_bit(EV_REL, dev->evbit); | ||
439 | |||
440 | __set_bit(REL_X, dev->relbit); | ||
441 | __set_bit(REL_Y, dev->relbit); | ||
442 | |||
443 | __set_bit(BTN_LEFT, dev->keybit); | ||
444 | __set_bit(BTN_RIGHT, dev->keybit); | ||
445 | |||
446 | /* register handlers */ | 433 | /* register handlers */ |
447 | psmouse->protocol_handler = hgpk_process_byte; | 434 | psmouse->protocol_handler = hgpk_process_byte; |
448 | psmouse->poll = hgpk_poll; | 435 | psmouse->poll = hgpk_poll; |