'quirks/30-vendor-ibm.quirks',
'quirks/30-vendor-kensington.quirks',
'quirks/30-vendor-logitech.quirks',
+ 'quirks/30-vendor-madcatz.quirks',
'quirks/30-vendor-microsoft.quirks',
'quirks/30-vendor-razer.quirks',
'quirks/30-vendor-synaptics.quirks',
--- /dev/null
+# Do not edit this file, it will be overwritten on update
+
+# The Madcatz RAT3 has a mode button that cycles through event codes.
+# On press, we get a release for the current mode and a press for the
+# next mode:
+# -event21 DEVICE_ADDED Madcatz Mad Catz R.A.T.3 Mouse seat0 default group1 cap:p left scroll-nat scroll-button
+# event21 POINTER_BUTTON +2.35s BTN_BACK (278) pressed, seat count: 1
+# event21 POINTER_BUTTON +3.08s BTN_BACK (278) released, seat count: 0
+# event21 POINTER_BUTTON +3.08s BTN_TASK (279) pressed, seat count: 1
+# event21 POINTER_BUTTON +6.69s BTN_FORWARD (277) pressed, seat count: 1
+# event21 POINTER_BUTTON +6.69s BTN_TASK (279) released, seat count: 0
+# event21 POINTER_BUTTON +7.32s BTN_FORWARD (277) released, seat count: 0
+# event21 POINTER_BUTTON +7.32s BTN_BACK (278) pressed, seat count: 1
+# event21 POINTER_BUTTON +7.84s BTN_BACK (278) released, seat count: 0
+# event21 POINTER_BUTTON +7.84s BTN_TASK (279) pressed, seat count: 1
+#
+# Disable the event codes to avoid stuck buttons.
+[Madcatz RAT3]
+MatchUdevType=mouse
+MatchBus=usb
+MatchVendor=0x0738
+MatchProduct=0x1703
+# EV_KEY 0x115, 0x116, 0x117
+AttrEventCodeDisable=EV_KEY:0x115;EV_KEY:0x116;EV_KEY:0x117