From 178435832f5f6988e58fddc4ffe82ddc032d9dce Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 26 Feb 2009 12:09:33 +1000 Subject: If scrollwheels are found, bump the button number by 4 (or up to 7). Scrollwheel data is always posted as buttons, so we need to advertise at least enough buttons to accommodate for 6/7 (horizontal wheel). Note that this may mean that if you have a device that has scroll wheels and axes, but no buttons, it may be interpreted as a mouse. Signed-off-by: Peter Hutterer --- src/evdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/evdev.c b/src/evdev.c index d9e1367..c53e3af 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1450,6 +1450,11 @@ EvdevProbe(InputInfoPtr pInfo) TestBit(REL_HWHEEL, pEvdev->rel_bitmask)) { xf86Msg(X_INFO, "%s: Found scroll wheel(s)\n", pInfo->name); has_scroll = TRUE; + if (!num_buttons) + xf86Msg(X_INFO, "%s: Forcing buttons for scroll wheel(s)\n", + pInfo->name); + num_buttons = (num_buttons < 3) ? 7 : num_buttons + 4; + pEvdev->buttons = num_buttons; } if (TestBit(ABS_X, pEvdev->abs_bitmask) && -- cgit v1.2.3