Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I've a problem with my mouse on Gentoo. The normal buttons (left/right/wheel and previous/next) work, but the other buttons are not recognized by x. I tried in xev and using them does not do anything.

I'm running Gnome Shell 3.6.

I tried configuring /etc/X11/xorg.conf.d/10-evdev.conf to add the device:

Section "InputDevice"
        Identifier "GamingMouse"
        Driver "evdev"
        Option "Name" "SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse"
        Option "Protocol" "ExplorerPS/2"
        Option "Buttons" "16"
        Option "ZAxisMapping" "4 5"
        Option "ButtonMapping" "1 2 3 6 7 8 9 10 11 12 13 14 15 16"
EndSection

but it didn't change a thing. I also tried adding these options in the Input class:

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "Protocol" "ExplorerPS/2"
        Option "Buttons" "16"
        Option "ZAxisMapping" "4 5"
        Option "ButtonMapping" "1 2 3 6 7 8 9 10 11 12 13 14 15 16"
EndSection

but again, it didn't worked.

Does someone have a solution to make these buttons work?

EDIT #1

Some more information with xinput. I used xinput to gather some more information:

$ xinput -list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse id=8    [slave  pointer  (2)]
⎜   ↳ SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse id=10   [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse id=9    [slave  keyboard (3)]
    ↳ G15 Gaming Keyboard                       id=11   [slave  keyboard (3)]
    ↳ G15 Gaming Keyboard                       id=12   [slave  keyboard (3)]
    ↳ G15 GamePanel LCD                         id=13   [slave  keyboard (3)]
    ↳ Logitech Logitech G930 Headset            id=14   [slave  keyboard (3)]

get-button-maps

$ xinput get-button-map 8
1 2 3 4 5 6 7 8 9 10 11 12 13 

$ xinput get-button-map 10
1 2 3 4 5 6 7 

$ xinput get-button-map 4 
1 2 3 4 5 6 7 8 9 10 

$ xinput get-button-map 9
device has no buttons

list-props

$ xinput list-props 8
Device 'SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (263): 0
    Device Accel Constant Deceleration (264):   1.000000
    Device Accel Adaptive Deceleration (265):   1.000000
    Device Accel Velocity Scaling (266):    10.000000
    Device Product ID (256):    4152, 4896
    Device Node (257):  "/dev/input/event2"
    Evdev Axis Inversion (267): 0, 0
    Evdev Axes Swap (269):  0
    Axis Labels (270):  "Rel X" (149), "Rel Y" (150), "Rel Vert Wheel" (262)
    Button Labels (271):    "Button Left" (142), "Button Middle" (143), "Button Right" (144), "Button Wheel Up" (145), "Button Wheel Down" (146), "Button Horiz Wheel Left" (147), "Button Horiz Wheel Right" (148), "Button Side" (260), "Button Extra" (261), "Button Unknown" (259), "Button Unknown" (259), "Button Unknown" (259), "Button Unknown" (259)
    Evdev Middle Button Emulation (272):    0
    Evdev Middle Button Timeout (273):  50
    Evdev Third Button Emulation (274): 0
    Evdev Third Button Emulation Timeout (275): 1000
    Evdev Third Button Emulation Button (276):  3
    Evdev Third Button Emulation Threshold (277):   20
    Evdev Wheel Emulation (278):    0
    Evdev Wheel Emulation Axes (279):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (280):    10
    Evdev Wheel Emulation Timeout (281):    200
    Evdev Wheel Emulation Button (282): 4
    Evdev Drag Lock Buttons (283):  0

$ xinput list-props 10
Device 'SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (263): 0
    Device Accel Constant Deceleration (264):   1.000000
    Device Accel Adaptive Deceleration (265):   1.000000
    Device Accel Velocity Scaling (266):    10.000000
    Device Product ID (256):    4152, 4896
    Device Node (257):  "/dev/input/event4"
    Evdev Axis Inversion (267): 0, 0
    Evdev Axes Swap (269):  0
    Axis Labels (270):  "Rel X" (149), "Rel Y" (150), "Rel Horiz Wheel" (285)
    Button Labels (271):    "Button 0" (284), "Button Unknown" (259), "Button Unknown" (259), "Button Wheel Up" (145), "Button Wheel Down" (146), "Button Horiz Wheel Left" (147), "Button Horiz Wheel Right" (148)
    Evdev Middle Button Emulation (272):    0
    Evdev Middle Button Timeout (273):  50
    Evdev Third Button Emulation (274): 0
    Evdev Third Button Emulation Timeout (275): 1000
    Evdev Third Button Emulation Button (276):  3
    Evdev Third Button Emulation Threshold (277):   20
    Evdev Wheel Emulation (278):    0
    Evdev Wheel Emulation Axes (279):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (280):    10
    Evdev Wheel Emulation Timeout (281):    200
    Evdev Wheel Emulation Button (282): 4
    Evdev Drag Lock Buttons (283):  0

It seems that more than 7 buttons are recognized in id 8, so that seems like a good sign, no? So how could I use this only and perhaps filter the other?

share|improve this question
1  
Can you try Option "Protocol" "Auto" and "USB"? Maybe there's a limit in the driver and the ExplorerPS/2 only had five buttons. Also, non-USB mice are pretty much a thing of the past, aren't they? –  Ulrich Schwarz Jul 16 '13 at 16:40
    
I tried it now and it didn't change anything. Still no button are recongnized in xev :( –  Baptiste Wicht Jul 16 '13 at 17:25
    
related: askubuntu.com/questions/312638/… –  slm Jul 16 '13 at 19:38
    
I added some information using xinput –  Baptiste Wicht Jul 17 '13 at 17:05
    
Can you run this one too: xinput query-state "SteelSeries World of Warcraft: Cataclysm MMO Gaming Mouse"? –  slm Jul 19 '13 at 17:43
add comment

1 Answer

I'm not 100% sure but I found this on this on the SteelSeries website in one of their FAQs:

Q:

Where can I get World of Warcraft MMO drivers for the Linux platforms.

A:

Unfortunately we do not have any plans to develop proprietary Linux drivers anytime soon for the WoW Mouse, but we would happily assist any community-driven efforts to develop an open-source solution for Linux.

I'm not sure if this is your hardware though, but it was in this category within the FAQ: "Category » SteelSeries WoW: Cataclysm MMO Gaming Mouse".

Debugging the mouse

You can use the following tools to delve a little deeper with this mouse vs. just using xev. I'm using my laptop's pointing device but you can substitute in this string for the mouse "SteelSeries World of Warcraft MMO Gaming Mouse":

xinput -list

$ xinput -list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=13   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=9    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [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)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=14   [slave  keyboard (3)]

xinput get-button-map

$ xinput get-button-map ""SynPS/2 Synaptics TouchPad"
1 2 3 4 5 6 7 8 9 10 11 12 

xinput list-props

$ xinput list-props "SynPS/2 Synaptics TouchPad"
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (124):   1
    Coordinate Transformation Matrix (126): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (249): 1
    Device Accel Constant Deceleration (250):   2.500000
    Device Accel Adaptive Deceleration (251):   1.000000
    Device Accel Velocity Scaling (252):    12.500000
    Synaptics Edges (268):  1781, 5579, 1646, 4582
    Synaptics Finger (269): 24, 29, 255
    Synaptics Tap Time (270):   180
    Synaptics Tap Move (271):   245
    Synaptics Tap Durations (272):  180, 180, 100
    Synaptics Tap FastTap (273):    0
    Synaptics Middle Button Timeout (274):  75
    Synaptics Two-Finger Pressure (275):    29
    Synaptics Two-Finger Width (276):   7
    Synaptics Scrolling Distance (277): 111, 111
    Synaptics Edge Scrolling (278): 1, 1, 0
    Synaptics Two-Finger Scrolling (279):   0, 0
    Synaptics Move Speed (280): 1.000000, 1.750000, 0.035842, 40.000000
    Synaptics Edge Motion Pressure (281):   29, 159
    Synaptics Edge Motion Speed (282):  1, 446
    Synaptics Edge Motion Always (283): 0
    Synaptics Off (284):    0
    Synaptics Locked Drags (285):   0
    Synaptics Locked Drags Timeout (286):   5000
    Synaptics Tap Action (287): 0, 0, 0, 0, 1, 3, 2
    Synaptics Click Action (288):   1, 1, 1
    Synaptics Circular Scrolling (289): 0
    Synaptics Circular Scrolling Distance (290):    0.100000
    Synaptics Circular Scrolling Trigger (291): 0
    Synaptics Circular Pad (292):   0
    Synaptics Palm Detection (293): 0
    Synaptics Palm Dimensions (294):    10, 199
    Synaptics Coasting Speed (295): 20.000000, 50.000000
    Synaptics Pressure Motion (296):    29, 159
    Synaptics Pressure Motion Factor (297): 1.000000, 1.000000
    Synaptics Grab Event Device (298):  1
    Synaptics Gestures (299):   1
    Synaptics Capabilities (300):   1, 0, 1, 0, 0, 1, 1
    Synaptics Pad Resolution (301): 105, 75
    Synaptics Area (302):   0, 0, 0, 0

xinput query-state

$ xinput query-state "SynPS/2 Synaptics TouchPad"
2 classes :
ButtonClass
    button[1]=up
    button[2]=up
    button[3]=up
    button[4]=up
    button[5]=up
    button[6]=up
    button[7]=up
    button[8]=up
    button[9]=up
    button[10]=up
    button[11]=up
    button[12]=up
ValuatorClass Mode=Relative Proximity=In
    valuator[0]=2267
    valuator[1]=4290

Now what?

I did find this Ubuntu community document titled: ManyButtonsMouseHowto which may have some additional things to try but I think you're out of luck in getting the rest of those buttons to work if you can't find a compatible driver that supports them. I may be wrong here (I hope I am for your sake) but I don't think you're going to be able to gain access to those buttons under Linux.

References

share|improve this answer
    
Thanks, I didn't know xinput. I added some results to my question, so perhaps it would help someone. –  Baptiste Wicht Jul 17 '13 at 17:06
    
@BaptisteWicht - see this URL, wiki.ubuntu.com/X/Config/Input. You can use xinput to configure buttons using xinput set-button-map .... I need you to try these since I don't have access to the hardware. I'm more than happy to continue helping/guiding you but you'll have to try these out and be my "eyes" 8-). –  slm Jul 19 '13 at 17:47
    
Thanks for trying to help me :) I tried to use xinput to disable some of the devices with the name of my mouse, but only id=8 disabled change something (no more mouse). I also tried to set the button map to 1..13 for 10 but it didn't change anything. The weird thing is that the button map of 8 is already 1.13 but it still doesn't output anything for other buttons. –  Baptiste Wicht Jul 27 '13 at 10:15
    
@BaptisteWicht - I think what you're running into is that there is no driver/software present which can directly talk to this piece of hardware. That's the primary function that the drivers provide. Given this I don't see any way outside of SteelSeries releasing an actual driver for this. Sorry. –  slm Jul 29 '13 at 14:55
    
That's what I was fearing since the beginning :( I will start looking for a new mouse, completely compatible with Linux. Thanks for the help. –  Baptiste Wicht Jul 30 '13 at 5:44
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.