summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnder Conselvan de Oliveira <ander@mandriva.com.br>2008-06-26 14:36:58 -0300
committerPeter Hutterer <peter@cs.unisa.edu.au>2008-06-28 17:54:33 +0930
commit0830676a0ce3618eae9cf4c072998c16e164c687 (patch)
tree711dec2cf9fe1a1cd981c361cf4c57e8a325393a
parent1cf7b8f7ee224d823d94ea65458f5269a1a77d2e (diff)
Mice with a lot of buttons (e.g. Logitech MX1000) generate button events greater than BTN_TASK.
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
-rw-r--r--src/evdev.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/evdev.c b/src/evdev.c
index 2f7da51..d0012ef 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -252,8 +252,15 @@ EvdevReadInput(InputInfoPtr pInfo)
break;
default:
- if (ev.code > BTN_TASK && ev.code < KEY_OK)
+ if (ev.code > BTN_TASK && ev.code < KEY_OK) {
+ /* Some fancy mice with a lot of buttons generate
+ * button events between BTN_TASK and BTN_JOYSTICK */
+ if (ev.code < BTN_JOYSTICK)
+ xf86PostButtonEvent(pInfo->dev, 0,
+ ev.code - BTN_LEFT + 5,
+ value, 0, 0);
break;
+ }
PostKbdEvent(pInfo, &ev, value);
break;