2

I recently got a Cougar 700m gaming mouse which does not work in Fedora 22. Running xinput lists it as a slave keyboard.

⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ PS/2 Generic Mouse id=11 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)] ⎜ ↳ Wacom Serial Penabled 2FG Touchscreen stylus id=15 [slave pointer (2)] ⎜ ↳ Wacom Serial Penabled 2FG Touchscreen eraser id=16 [slave pointer (2)] ⎜ ↳ Wacom Serial Penabled 2FG Touchscreen touch id=17 [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)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ HP HD Webcam [Fixed] id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)] ↳ HP WMI hotkeys id=14 [slave keyboard (3)] ↳ COUGAR 700M COUGAR 700M Gaming Mouse id=13 [slave keyboard (3)] 

Is there a way, short of recompiling my kernel to fix this issue?

uname -r : 4.0.4-303.fc22.x86_64 
1
  • 1
    This isn't a kernel issue: your mouse is advertising itself as a keyboard. Presumably it comes with a Windows driver that translates motion and the main buttons into mouse events and the keeps the rest as keyboard events. You'd need an X.org driver that does the same thing. Commented Jun 6, 2015 at 23:38

2 Answers 2

2

The previous answer, amazingly enough, works!

I have a Cougar 700m, and it didn't work in Ubuntu. Steps to download, patch and compile the kernel for me, on Ubuntu 14.04 LTS (mostly taken from https://help.ubuntu.com/community/Kernel/Compile):

sudo apt-get install linux-source cd src/ tar xjvf /usr/src/linux-source-3.13.0.tar.bz2 cd linux-source-3.13.0/ cp -vi /boot/config-`uname -r` .config make oldconfig make localmodconfig make xconfig cd include/linux/ (modify HID_MAX_USAGES as required) cd ../../ make -j4 deb-pkg cd ../ sudo dpkg -i linux-headers-3.13.11-ckt30_3.13.11-ckt30-1_amd64.deb sudo dpkg -i linux-image-3.13.11-ckt30_3.13.11-ckt30-1_amd64.deb 

It's a shame that you need a kernel patch for this sort of thing, but it was actually pretty painless to do. Of course, now I have to re-apply the patch every time I update the kernel...

1

Rebuild your kernel with the following patch:

--- a/include/linux/hid.h 2014-09-22 01:41:22.907084621 -0400 +++ b/include/linux/hid.h 2014-09-22 01:42:10.166556867 -0400 @@ -333,7 +333,7 @@ * This is the local environment. It is persistent up the next main-item. */ -#define HID_MAX_USAGES 12288 +#define HID_MAX_USAGES 32768 #define HID_DEFAULT_NUM_COLLECTIONS 16 struct hid_local { 

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.