diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-20 11:02:31 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-20 11:09:12 +1000 |
commit | 415b6ffa958e3103eeb52af4ccd881497169eed4 (patch) | |
tree | a8dcdb9311efd62cf1f0a91338c2eab5de7629fe /src | |
parent | f4ba2bd785b25fd522967abd7775925d5fded70f (diff) |
Only take the driver-internal button mapping to count buttons (#23405)
Regression:
If a user has multiple buttons mapped to the same button number, the
number of buttons counted is set to a wrong value. e.g. a button
mapping of 1 1 1 for a mouse with three buttons would only initialize 1
button to the X server.
In the future, the user cannot change this button mapping as the server
only knows about one button.
The user-supplied button map (option ButtonMapping) shouldn't matter when
counting the buttons. Only the driver-internal mapping (BTN_0 -> button 1,
etc.) matters.
X.Org Bug 23405 <http://bugs.freedesktop.org/show_bug.cgi?id=23405>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/evdev.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/evdev.c b/src/evdev.c index 98f2f1b..5da8960 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1804,8 +1804,7 @@ EvdevProbe(InputInfoPtr pInfo) int mapping = 0; if (TestBit(i, pEvdev->key_bitmask)) { - mapping = - pEvdev->btnmap[EvdevUtilButtonEventToButtonNumber(pEvdev, i)]; + mapping = EvdevUtilButtonEventToButtonNumber(pEvdev, i); if (mapping > num_buttons) num_buttons = mapping; } |