📅 May 8, 2019
It blinks! I pulsates! It offers high precision! It’s back!
The Mad Catz R.A.T.7 and the M.M.O.7 are without a doubt the best computer mice that I have ever used, and they continue to work to this day.
However, after a few years of constant use, buttons are becoming loose, and plastic is becoming sticky. What better excuse to acquire a new mouse?
Mad Catz is back with an improved RAT line of eight different models. With the Mad Catz RAT 8+ being closest to the original R.A.T.7 that I adore so much, I decided to purchase the 8+ for myself and see how well it performs with today’s Linux Mint 19.1.
Wow! Am I glad I did!
(Nobody sponsors this. I am only sharing my results when using it with Linux in case this knowledge helps somebody else. The link to Amazon is a paid link intended to help others locate the item and to help support the time writing this article.)
RAT 8+ Packaging
The RAT 8+ is a wired mouse. This means it has a tail. The tail plugs into a free USB port.
The RAT 8+ can be customized just like the other mice. Parts can be swapped, and weights can be added or subtracted to adjust the feel. The palm rest can be lengthened for larger hands, and the side rests can be swiveled at adjustable angles to make the mouse conform to your hand for the greatest amount of comfort possible.
“What do the button clicks feel like?”
Clicking the RAT 8+ buttons feels in-between the R.A.T.7 and the M.M.O.7. The R.A.T.7 buttons feel like they take the most effort to click, the M.M.O.7 buttons are still the lightest and most sensitive, and the RAT 8+ buttons feel exactly between the two — slightly harder than the R.A.T.7 but not as soft as the M.M.O.7. In my opinion, the RAT 8+ buttons are the best.
If you have never used the R.A.T.7 or the M.M.O.7, then you will not notice a difference, and you should be pleased.
“Is the RAT 8+ compatible with Linux?”
Despite no information about Linux on the box, the 8+ works perfectly.
“What about configuring xorg.conf to make the buttons work?”
With the older Mad Catz mice (R.A.T.7, M.M.O.7, Albino), it was necessary to configure /etc/X11/xorg.conf with custom entries for those mice so the mouse buttons would not lock up.
Those days are gone! The RAT 8+ works perfectly with Linux Mint 19.1 (currently kernel 5.0.13 as of the time of this writing) without the need to edit xorg.conf. Just plug and play!
Not certain what the cause might be, but, to this day, the M.M.O.7 still requires a customized xorg.conf file despite running the latest Linux kernel in Linux Mint 19.1.
One of the best features is the location of two buttons on the thumb rest. Personally, I map these in Linux to switch workspaces back and forth because it is so convenient!
The instructions shown here are for Linux Mint 19.1, but they should be identical for other distributions, such as Xubuntu.
Step 1. Install the software
We are going to emulate keyboard shortcut presses when the mouse buttons are clicked. By default, Linux Mint and Xubuntu already map CTRL+ALT+ Left and Right arrow keys to workspace switching back and forth, so we need to map the shortcuts to the top buttons on the 8+ thumb rest.
We use xdotool and xbindkeys to accomplish this. They are probably not installed by default, so let’s install them.
sudo apt install xdotool xbindkeys
Step 2. Button Map
Each button on the mouse is represented by a number. We need to know the number of the mouse button we want to map. Since button numbers are usually the same across mice (aside from the extra buttons on some), here is a table to consult:
Mad Catz RAT 8+ Button Map
“How did you find these button numbers?”
First, get the mouse ID by running xinput list in a terminal.
This will display input hardware with ID values.
Next, run xinput –test 11 in a terminal where 11 is the ID value (in this case). If your ID value is different, then use that instead.
xinput --test 11
The cursor will wait for you to move the mouse and press buttons. The button numbers will appear each time a button is pressed and released.
If you have a different mouse containing many extra buttons, then xinput is a useful way to determine the button numbers.
Step 3. Edit ~/.xbindkeysrc
xbindkeys depends upon a hidden file named .xbindkeysrc located in your user’s home directory. Each user may have his own .xbindkeysrc file. This file maps mouse buttons to commands.
The command we need to use is called xdotool, which emulates keyboard key presses from within scripts or a command line.
.xbindkeysrc should exist upon installation, but if not, run xbindkeys -d to generate it.
Open .xbindkeysrc in a text editor, and enter these lines:
"xdotool key --clearmodifiers ctrl+alt+Right" b:8 "xdotool key --clearmodifiers ctrl+alt+Left" b:9
These are two separate mouse button mappings:
"xdotool key --clearmodifiers ctrl+alt+Right" b:8
This says, “When button 8 (the side back button) is pressed on the mouse, press the CTRL+ALT+Right arrow key combination on the keyboard.” Whatever CTRL+ALT+Right is mapped to in the OS is what will happen. By default, this goes back one workspace in Linux Mint. If CTRL+ALT+Right is mapped to perform a different operation (whatever it might be), then that operation will happen.
The –clearmodifiers option ensures that the CTRL and ALT keys are in their released state (not pressed) before executing the command.
"xdotool key --clearmodifiers ctrl+alt+Left" b:9
Same thing here, except button 9 on the mouse triggers the CTRL+ALT+Left arrow keyboard press to move the workspace forward (by default).
Step 4. Run xbindkeys
This might be running already. If so, kill the process or reload the configuration file. man xbindkeys explains how to do this. The point is to have only one xbindkeys running. It should activate immediately. Clicking the mouse buttons should switch the Linux workspaces.
If not, ensure that you have multiple workspaces enabled and set to two or more and that the correct keyboard shortcuts activate them.
Also, xbindkeys automatically adds itself to the list of startup programs so that it runs when the system boots and the user logs in. You might want to check the startup programs to make sure that xbindkeys is enabled.
If that still fails, try running
xdotool key --clearmodifiers ctrl+alt+Right
at a command prompt to see if that triggers the switch. You can use xdotool directly for testing.
The White Button
“Why can I not map the white button on the side?”
In the side picture, did you spot the white button located on the thumb rest?
This button is a special case. It has no button mapping. If you tried to find it using xinput –test 11, nothing probably happened. This is normal.
This button is called the Precision Aim Button in the manual, and it emulates a key press directly. For example, if you set this button to act as the Tab key, then pressing it will be the same as pressing Tab on the keyboard. If you set it to act as the ‘R’ key, then pressing it will inject an R as if pressed on the keyboard.
Sadly, this button (as well as the color schemes) can only be programmed using the proprietary Mad Catz software, which is only available for Windows, not Linux. So, if you have a Windows computer, you will need to download the RAT 8+ software from the Mad Catz web site in order to program the mouse.
The Windows Side of Things (RAT 8+ Software)
Here is what the software looks like in Windows 10.
The RAT 8+ software is actually pretty good. Profiles, DPI, colors, and more are possible on a per-profile basis.
The RAT 8+ can be programmed with four separate profiles. Each profile may contain its own color scheme, DPI settings, and Precision Aim Button mapping. Pressing the upper left button on the mouse will cycle through profiles.
Best of all, the profiles are saved in the mouse itself. This means you can program the mouse in Windows, and the settings are preserved for use in Linux. Unplugging the mouse and plugging it into another computer will not delete the profile settings.
There are three RGB LED color zones on the mouse, and each can be assigned its own color using the software. Choose Chameleon in the top menu.
Sure, there are more important features of a mouse than eyecandy lights, but it is possible to create custom color schemes that match the colors of the Logitech G513 mechanical keyboard for an attractive desk color scheme.
You can also adjust the DPI setting per profile. Pressing the DPI button located below the mouse wheel will also change the DPI setting up to 16000 DPI. Yes, this mouse can be set to a very high sensitivity.
Programming the white side button (Precision Aim Button)
This button is different. It cannot be mapped using xbindkeys. Choose the Programming option from the software menu.
Click Apply to save the settings. Settings are saved to the mouse, so any programming will work in Linux.
Programming the Two Side Buttons for Workspace Switching
We can program the two side buttons the same way as the white button to switch workspaces left and right.
While xdotool and xbindkeys worked well for one system, another system refused to switch workspaces despite using the same script. No idea what the issue might have been, but workspaces would not switch when the side mouse buttons were clicked even though the keyboard shortcuts switched workspaces fine.
The workaround is to program the the two side buttons by assigning custom commands to them in the Windows software. Use CTRL+ALT+LEFT (or whatever the switch left keyboard shortcut might be), and use CTRL+ALT+RIGHT for right. The shortcuts are saved to the mouse, so they will switch workspaces in Linux without the need for xdotool and xbindkeys.
What do I think of this improved RAT 8+?
Easily, this is the best mouse that I have ever used!
The 8+ takes everything good about the M.M.O.7 and R.A.T.7 and improves and refines it. The end result is what I wished the R.A.T.7 was to begin with. Yes, this is an expensive mouse, but it has delivered upon every promise made.
Linux software would be a huge welcome, but this is remedied using a Windows computer. On the plus side, once programmed, the settings are saved to the mouse so it can be used with Linux. Programming this mouse is a rare event. Once I have programmed it to the way I like it, there is little need to open Windows again.
However, the most welcome refinement is that the mouse works 100% out of the box with Linux. No longer is there any need to edit a custom xorg.conf file (from my usage).
If you are seeking a customizable mouse that performs well with Linux, the RAT 8+ is definitely worth a look.