I bought a Corsair M95 mouse which I have used on my computer with Ubuntu Studio & Xubuntu 14.04, 15.04, and 15.10. It works out-of-the-box as a standard mouse, plus a button to slow down the cursor, but I haven't been able to fully utilize the extra buttons.
Firefox and some Thunar file manager recognize two of the buttons for forward/back. These seem to be the only programs I use that recognize anything. The key-bindings settings in Team Fortress 2 recognizes the 3 standard mouse buttons as it should. But the rest of them are all recognized by the title "mouse4" as if they were all the same button (in Ubuntu 15.10, 2 of them are recognized as "mouse5").
If I use the Corsair program on Windows, then I can assign the mouse buttons to keys on my keyboard. It fortunately stores the profiles on the mouse; but I can't reconfigure them on Linux. I would much prefer to have them recognized by my games (and even productive programs), so I can bind the mouse buttons in the settings for each game/program.
It appears that xinput recognizes it as 3 devices. Here is the output of xinput list
:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Corsair Corsair M95 Gaming Mouse id=12 [slave pointer (2)]
⎜ ↳ Corsair Corsair M95 Gaming Mouse id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ gspca_zc3xx id=9 [slave keyboard (3)]
↳ Dell Dell USB Keyboard id=10 [slave keyboard (3)]
↳ Dell Dell USB Keyboard id=11 [slave keyboard (3)]
↳ Corsair Corsair M95 Gaming Mouse id=13 [slave keyboard (3)]