The Customizable Mad Catz RAT 8+ Optical Mouse and Linux

📅 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+ ships in a simple, see-through package. Packaging is minimal compared to past RAT mice.

Back of the box. Not much to read, and Linux compatibility is nowhere to be found.

Unboxed. What you see is what you get. The R.A.T.7 and M.M.O.7 were shipped in foam protectors and included a dedicated plastic parts container to store the accessories. Not here. Packaging is cheap, but it achieves the goal. The RAT 8+ includes four extra pieces, weights (already installed), and an almost useless fold-out manual written in 11 different languages. There is also a small sheet of Mad Catz stickers (not shown because I want the mouse, not sticker advertisement).

The Mouse

Behold! The RAT 8+ is a mixture of matte and gloss black plastic with a black, metal base. It feels sturdy in the hand.

It’s aliiiiive! When plugged into a USB port (with computer on or if the port supplies power), the RAT 8+ begins glowing in three areas. Shown here is red, but each light is full RGB, so you can choose your own color scheme by running the optional software. By default, the mouse emits a gentle, pulsating glow.

Shown with the removable pinky rest. The mouse looks good no matter what angle it is viewed from.

Side view. The white button seen on the left side is a special case. More on this later. There are also two thin, black buttons at the top of the thumb rest (where the white button is located) that are extremely useful for switching workspaces in Linux.

Comparison with R.A.T.7 (left), RAT 8+ (center), and the M.M.O.7 (right). The RAT 8+ is exactly the same size as the R.A.T.7 and the M.M.O.7. The weight and feel are identical too. (The R.A.T.7 and the M.M.O.7 are not plugged in, but they glow too.)

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.

Linux Compatibility

“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.

Switching Workspaces

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!

Mapping buttons in Linux is mostly the same as described for the R.A.T.7 and the M.M.O.7 but without the need for xorg.conf. Yes, you can use the RAT 8+ buttons without xorg.conf even existing.

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

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.

xinput list

This will display input hardware with ID values.

Input IDs. We want the ID of the string that reads  Mad Catz Global MADCATZ R.A.T. 8+ gaming mouse. It’s ID is 11. Other entries might exist, but it is safe to ignore them.

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"

"xdotool key --clearmodifiers ctrl+alt+Left"

These are two separate mouse button mappings:

"xdotool key --clearmodifiers ctrl+alt+Right"

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"

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?

See the white button on the side? We cannot map it directly as-is.

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.

Mad Catz R.A.T. 8+ Software in Windows 10. Despite the simplicity of the mouse, there are a number of custom settings to choose from. 64-bit and 32-bit versions are available.

The RAT 8+ software is actually pretty good. Profiles, DPI, colors, and more are possible on a per-profile basis.

Multiple Profiles

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.

Color Schemes

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.

The three main RGB LEDs on the mouse may be customized to your liking using the Windows software, and settings are stored on the mouse so you can use them in Linux.

This is what the color picker above produces on the mouse in real life. The LED colors are sharper then shown in the picture. While not 100% RGB accurate, the resulting LEDs are very close to what is chosen in the software. Four color effects, such as breathing, are available to animate the lights.

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.

DPI Setting

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.

Setting the DPI up to 16000.

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.

Almost any keyboard button can be assigned to any mouse button. Simply drag and drop the icon to the button. To program the white mouse button to press the R key on the keyboard, drag the R icon onto its slot in the graphic. In this example, the Tab key is assigned to the white button.

Click Apply to save the settings. Settings are saved to the mouse, so any programming will work in Linux.

If the presets are not to your liking, you can create custom commands. Here, the CTRL+ALT+UP arrow keyboard shortcut is mapped to the white button to open the Workspace Expo view in Linux when pressed. Convenient!

Custom commands may be created for use in games that involve a sequence of mouse button clicks and keyboard presses. Clicking the programmed button on the mouse will active the chain. Be sure to click Apply later to save the command to the mouse.

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.

Custom command creates the CTRL+ALT+RIGHT keyboard shortcut for the mouse. The order shown did not matter for my system, but experiment just in case.

Assign the new LEFT and RIGHT custom commands to the mouse buttons, and click Apply. The keyboard shortcut is now saved to the mouse. Clicking these buttons will then switch the Linux workspace (assuming you are using a distribution with multiple workspaces enabled and set up with the matching keyboard shortcuts.) The mouse will still work with 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.

Highly recommended!

, ,

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: