After connecting a Cyborg R.A.T. mouse, it appears to work but exhibits the following issues:
- Unresponsive buttons - Cannot open/close windows or use context menus
- Dragging issues - Unable to drag windows or select text properly
- General unresponsiveness - Mouse feels laggy and difficult to use
These problems are caused by conflicts between the R.A.T. mouse's "Mode" button (profile changer) and the Xorg server's input handling.
The simplest solution is to disable the problematic "Mode" buttons in Xorg configuration:
-
Create the configuration file:
sudo nano /etc/X11/xorg.conf.d/10-evdev.conf
-
Add the configuration (see
10-evdev.conf
for the complete file) -
Restart your X session or reboot
Note: Using a separate configuration file ensures your settings survive Xorg updates.
First, find your mouse in the system:
xinput list
Look for output similar to:
Virtual core pointer id=2 [master pointer (3)]
↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
↳ Saitek Cyborg R.A.T.9 Wireless Mouse id=10 [slave pointer (2)]
Note the ID number (in this example: id=10
).
Test each button to identify their numbers:
xinput --test 10 # Replace 10 with your mouse ID
Press each button and note the numbers. Example output:
- Left button: 1
- Right button: 3
- Wheel click: 2
- Wheel up: 4
- Wheel down: 5
- Back button: 8
- Forward button: 9
- Sniper button: 12
- Horizontal wheel left: 11
- Horizontal wheel right: 10
- Mode buttons: 11, 12, 13
⚠️ These need to be disabled
Create /etc/X11/xorg.conf.d/10-evdev.conf
with your button mapping:
sudo nano /etc/X11/xorg.conf.d/10-evdev.conf
Add configuration based on your button test results. See the example 10-evdev.conf
file.
Key settings:
Option "Buttons" "17"
- Maximum button number from your testOption "ButtonMapping" "1 2 3 4 5 0 0 8 9 7 6 12 0 0 0 16 17"
- Button mapping with mode buttons disabled (set to 0)
Restart your X session or reboot your system.
Advanced Users Only - Requires kernel compilation experience
Recent Linux kernels include dedicated MadCatz/Saitek mouse drivers that can eliminate the need for Xorg configuration.
- Kernel sources
- Build tools:
gcc
,make
,ctags
,ncurses-devel
-
Access kernel configuration:
cd /usr/src/linux sudo make menuconfig
-
Navigate to mouse drivers:
Device Drivers → Input device support → Mice
-
Enable the following drivers:
HID Multitouch panels
Mouse interface
Synaptics I2C Touchpad support
-
Compile and install:
sudo make -j$(nproc) && sudo make modules_install sudo make install
Warning: Kernel compilation can make your system unbootable if misconfigured. Consult your distribution's documentation for specific instructions.
Tested Linux Distributions:
- Gentoo (testing profile)
- Funtoo (current profile)
- Arch Linux (current)
- Ubuntu (14.04 - 18.04+)
Compatibility:
- Kernels: 2.6+ to current (kernel-agnostic solution)
- Xorg/evdev: All versions to current
Cyborg R.A.T. Series Specifications:
- Connectivity: 2.4GHz Wireless (R.A.T.9) or Wired (R.A.T.3, R.A.T.7)
- DPI Range: 25-6400 DPI (25 DPI increments)
- Tracking Speed: Up to 6 meters per second
- Button Layout:
- 2 main buttons (left/right)
- 4 custom DPI settings
- 6 programmable buttons
- 3 Cyborg modes
- Total: 8+ functional buttons
Cross-Model Compatibility: Settings are transferable between MadCatz and Saitek R.A.T. models.
Note: This solution works for many multi-button mice beyond just the R.A.T. series.
Contributions are welcome! This configuration helps with many multi-button mice beyond just the R.A.T. series.
How to contribute:
- Fork the repository
- Test with your mouse model
- Submit documentation improvements
- Report issues with specific hardware
This project is licensed under the BSD 2-Clause License - see the LICENSE file for details.
Disclaimer: This is an independent community project and is not affiliated with MadCatz or Saitek.