Bug 22594

Summary: Only 7 mouse buttons since xserver commit 280b7f92d729ec910ffa3d18dce7bbc215be7a3c
Product: xorg Reporter: Peter Sääf <peter.saaf>
Component: Server/GeneralAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg log
none
xinput --list (git)
none
0001-dix-always-init-the-full-button-map-to-default-value.patch none

Description Peter Sääf 2009-07-01 15:42:21 UTC
Created attachment 27307 [details]
Xorg log

The thumb button on my Logitech G5 mouse (button 8) has stopped generating events since commit 280b7f92d729ec910ffa3d18dce7bbc215be7a3c.
All packages updated from git as of 2009-07-01.
Comment 1 Peter Hutterer 2009-07-01 15:47:00 UTC
please attach the output of xinput --list, if possible the xinput from git.
Comment 2 Peter Sääf 2009-07-01 16:17:57 UTC
Created attachment 27309 [details]
xinput --list (git)
Comment 3 Peter Hutterer 2009-07-01 18:37:17 UTC
Looks like the button class propagation  seems to work.

Virtual core pointer id=2 [master pointer  (3)]
Reporting 3 classes:
Class originated from: 6
Buttons supported: 24

Verified here. The culprit is the button map. The VCP is set up for a button map of 1-7, higher buttons are mapped to 0. When the thumb button is propagated through the VCP, the button map is 0 and the event is discarded.

note quite sure how to fix this yet.
Comment 4 Peter Hutterer 2009-07-02 20:36:47 UTC
Created attachment 27359 [details] [review]
0001-dix-always-init-the-full-button-map-to-default-value.patch

Please give this patch a test and let me know if that fixes the issue for you. Thanks.
Comment 5 Peter Sääf 2009-07-02 23:17:47 UTC
Yes, works for me.
Comment 6 Peter Hutterer 2009-07-05 20:07:53 UTC
Pushed as 183c075d2f9d5f6effa1ce7ab135fb0c2e46085a, thanks for testing.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.