Bug 73443

Summary: mad catz rat 7 mouse not working properly
Product: xorg Reporter: eraserix
Component: Input/evdevAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: eraserix, peter.hutterer
Version: 7.6 (2010.12)   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description eraserix 2014-01-09 17:54:46 UTC
The mouse has one button always pressed which leads to focus issues, see here for more details:

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/615892

The mouse requires some quirks in the xorg configuration to disable this always pressed buttons. Find below the configuration that I can successfully use for my current edition of this mouse:

~$ cat /usr/share/X11/xorg.conf.d/50-madcatz-quirks.conf 
Section "InputClass"
        Identifier "Mad Catz Inc. R.A.T. 7"
        MatchProduct "Mad Catz Mad Catz R.A.T.7 Mouse"
        Option "ButtonMapping" "1 2 3 4 5 0 0 8 9 7 6 12 0 0 0 16 17"
EndSection



Following are some logs when pressing the various buttons and a description where each button is located on the mouse.

output of evtest:
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x738 product 0x1708 version 0x111
Input device name: "Mad Catz Mad Catz R.A.T.7 Mouse"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
    Event code 275 (BTN_SIDE)
    Event code 276 (BTN_EXTRA)
    Event code 277 (BTN_FORWARD)
    Event code 278 (BTN_BACK)
    Event code 279 (BTN_TASK)
    Event code 280 (?)
    Event code 281 (?)
    Event code 282 (?)
    Event code 283 (?)
    Event code 284 (?)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
    Event code 8 (REL_WHEEL)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Testing ... (interrupt to exit)
Event: time 1389289437.707975, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1389289437.707975, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
Event: time 1389289437.707975, -------------- SYN_REPORT ------------
Event: time 1389289437.838997, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1389289437.838997, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0
Event: time 1389289437.838997, -------------- SYN_REPORT ------------
Event: time 1389289439.150987, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1389289439.150987, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 1
Event: time 1389289439.150987, -------------- SYN_REPORT ------------
Event: time 1389289439.299988, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1389289439.299988, type 1 (EV_KEY), code 273 (BTN_RIGHT), value 0
Event: time 1389289439.299988, -------------- SYN_REPORT ------------
Event: time 1389289444.292954, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1389289444.292954, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1389289444.292954, -------------- SYN_REPORT ------------
Event: time 1389289444.610952, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1389289444.610952, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1389289444.610952, -------------- SYN_REPORT ------------
Event: time 1389289446.294941, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1389289446.294941, -------------- SYN_REPORT ------------
Event: time 1389289447.141936, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1389289447.141936, -------------- SYN_REPORT ------------
Event: time 1389289450.499916, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1389289450.499916, type 1 (EV_KEY), code 276 (BTN_EXTRA), value 1
Event: time 1389289450.499916, -------------- SYN_REPORT ------------
Event: time 1389289450.647911, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1389289450.647911, type 1 (EV_KEY), code 276 (BTN_EXTRA), value 0
Event: time 1389289450.647911, -------------- SYN_REPORT ------------
Event: time 1389289451.608908, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1389289451.608908, type 1 (EV_KEY), code 275 (BTN_SIDE), value 1
Event: time 1389289451.608908, -------------- SYN_REPORT ------------
Event: time 1389289451.765902, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1389289451.765902, type 1 (EV_KEY), code 275 (BTN_SIDE), value 0
Event: time 1389289451.765902, -------------- SYN_REPORT ------------
Event: time 1389289452.705900, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1389289452.705900, type 1 (EV_KEY), code 279 (BTN_TASK), value 1
Event: time 1389289452.705900, -------------- SYN_REPORT ------------
Event: time 1389289452.896898, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1389289452.896898, type 1 (EV_KEY), code 279 (BTN_TASK), value 0
Event: time 1389289452.896898, -------------- SYN_REPORT ------------
Event: time 1389289453.969892, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1389289453.969892, type 1 (EV_KEY), code 277 (BTN_FORWARD), value 1
Event: time 1389289453.969892, -------------- SYN_REPORT ------------
Event: time 1389289453.970883, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1389289453.970883, type 1 (EV_KEY), code 277 (BTN_FORWARD), value 0
Event: time 1389289453.970883, -------------- SYN_REPORT ------------
Event: time 1389289455.566882, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1389289455.566882, type 1 (EV_KEY), code 278 (BTN_BACK), value 1
Event: time 1389289455.566882, -------------- SYN_REPORT ------------
Event: time 1389289455.567877, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1389289455.567877, type 1 (EV_KEY), code 278 (BTN_BACK), value 0
Event: time 1389289455.567877, -------------- SYN_REPORT ------------
Event: time 1389289457.968866, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000c
Event: time 1389289457.968866, type 1 (EV_KEY), code 283 (?), value 1
Event: time 1389289457.968866, -------------- SYN_REPORT ------------
Event: time 1389289458.235861, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000c
Event: time 1389289458.235861, type 1 (EV_KEY), code 283 (?), value 0
Event: time 1389289458.235861, -------------- SYN_REPORT ------------
Event: time 1389289459.086858, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000d
Event: time 1389289459.086858, type 1 (EV_KEY), code 284 (?), value 1
Event: time 1389289459.086858, -------------- SYN_REPORT ------------
Event: time 1389289459.321855, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000d
Event: time 1389289459.321855, type 1 (EV_KEY), code 284 (?), value 0
Event: time 1389289459.321855, -------------- SYN_REPORT ------------
Event: time 1389289460.684848, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1389289460.684848, type 1 (EV_KEY), code 280 (?), value 0
Event: time 1389289460.684848, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1389289460.684848, type 1 (EV_KEY), code 281 (?), value 1
Event: time 1389289460.684848, -------------- SYN_REPORT ------------
Event: time 1389289462.994833, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1389289462.994833, type 1 (EV_KEY), code 281 (?), value 0
Event: time 1389289462.994833, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000b
Event: time 1389289462.994833, type 1 (EV_KEY), code 282 (?), value 1
Event: time 1389289462.994833, -------------- SYN_REPORT ------------
Event: time 1389289463.673828, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1389289463.673828, type 1 (EV_KEY), code 280 (?), value 1
Event: time 1389289463.673828, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000b
Event: time 1389289463.673828, type 1 (EV_KEY), code 282 (?), value 0
Event: time 1389289463.673828, -------------- SYN_REPORT ------------


Description of the buttons and the log from evemu-record:
BTN_LEFT: left top button (index finger)
E: 1389289026.083692 0004 0004 589825
E: 1389289026.083692 0001 0110 1
E: 1389289026.083692 0000 0000 0
E: 1389289026.193688 0004 0004 589825
E: 1389289026.193688 0001 0110 0
E: 1389289026.193688 0000 0000 0

BTN_RIGHT: right top button
E: 1389289028.449675 0004 0004 589826
E: 1389289028.449675 0001 0111 1
E: 1389289028.449675 0000 0000 0
E: 1389289028.546676 0004 0004 589826
E: 1389289028.546676 0001 0111 0
E: 1389289028.546676 0000 0000 0

BTN_MIDDLE: mouse wheel click
E: 1389289035.672629 0004 0004 589827
E: 1389289035.672629 0001 0112 1
E: 1389289035.672629 0000 0000 0
E: 1389289036.000627 0004 0004 589827
E: 1389289036.000627 0001 0112 0
E: 1389289036.000627 0000 0000 0

REL_WHEEL: scroll wheel up/down
E: 1389289041.000594 0002 0008 1
E: 1389289041.000594 0000 0000 0
E: 1389289042.322585 0002 0008 -1
E: 1389289042.322585 0000 0000 0


BTN_EXTRA: front upper thumb button
E: 1389289096.067234 0004 0004 589829
E: 1389289096.067234 0001 0114 1
E: 1389289096.067234 0000 0000 0
E: 1389289096.210233 0004 0004 589829
E: 1389289096.210233 0001 0114 0
E: 1389289096.210233 0000 0000 0

BTN_SIDE: back thumb button
E: 1389289098.647217 0004 0004 589828
E: 1389289098.647217 0001 0113 1
E: 1389289098.647217 0000 0000 0
E: 1389289098.752213 0004 0004 589828
E: 1389289098.752213 0001 0113 0
E: 1389289098.752213 0000 0000 0

BTN_TASK: red round thumb button
E: 1389289101.993196 0004 0004 589832
E: 1389289101.993196 0001 0117 1
E: 1389289101.993196 0000 0000 0
E: 1389289102.124193 0004 0004 589832
E: 1389289102.124193 0001 0117 0
E: 1389289102.124193 0000 0000 0


BTN_FORWARD: side wheel right
E: 1389289138.144959 0004 0004 589830
E: 1389289138.144959 0001 0115 1
E: 1389289138.144959 0000 0000 0
E: 1389289138.145956 0004 0004 589830
E: 1389289138.145956 0001 0115 0
E: 1389289138.145956 0000 0000 0

BTN_BACK: side wheel left
E: 1389289139.297952 0004 0004 589831
E: 1389289139.297952 0001 0116 1
E: 1389289139.297952 0000 0000 0
E: 1389289139.298947 0004 0004 589831
E: 1389289139.298947 0001 0116 0
E: 1389289139.298947 0000 0000 0


280/281/282: Mode switch, set mode is always pressed
             and released on mode switch
E: 1389289166.331775 0004 0004 589833
E: 1389289166.331775 0001 0118 0
E: 1389289166.331775 0004 0004 589834
E: 1389289166.331775 0001 0119 1
E: 1389289166.331775 0000 0000 0
E: 1389289166.861771 0004 0004 589834
E: 1389289166.861771 0001 0119 0
E: 1389289166.861771 0004 0004 589835
E: 1389289166.861771 0001 011a 1
E: 1389289166.861771 0000 0000 0
E: 1389289167.341768 0004 0004 589833
E: 1389289167.341768 0001 0118 1
E: 1389289167.341768 0004 0004 589835
E: 1389289167.341768 0001 011a 0
E: 1389289167.341768 0000 0000 0


283: middle button above wheel forward (increase dpi)
E: 1389289182.565669 0004 0004 589836
E: 1389289182.565669 0001 011b 1
E: 1389289182.565669 0000 0000 0
E: 1389289182.708666 0004 0004 589836
E: 1389289182.708666 0001 011b 0
E: 1389289182.708666 0000 0000 0

284: middle button above wheel backward (decrease dpi)
E: 1389289183.555662 0004 0004 589837
E: 1389289183.555662 0001 011c 1
E: 1389289183.555662 0000 0000 0
E: 1389289183.666657 0004 0004 589837
E: 1389289183.666657 0001 011c 0
E: 1389289183.666657 0000 0000 0
Comment 1 Benjamin Tissoires 2014-01-09 20:28:55 UTC
The problem should be fixed in the kernel.
Hopefully, a kernel patch has been (re)submitted recently, and I hope a v2 will come soon.

*** This bug has been marked as a duplicate of bug 32200 ***
Comment 2 Peter Hutterer 2014-01-10 00:16:21 UTC
hah, I didn't realise that was the same issue. Christoph: benjamin is right, this one button that's the issue needs to be fixed in the kernel. I thought it was a general button mixup like e.g. in the vertical mouse. sorry about the noise.

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.