I'm currently having an issue trying to map the side buttons on my Razer Naga, I'm running Elementary OS but from what I understand that's a Ubuntu and I should add that this is all very new to me too!
There are 12 buttons on the side of the Naga, which are currently mapped 1-12. There is an option to change these to the Numpad mappings (configurable by a physical switch on the mouse itself) which would solve my problem but inadvertently causes my right clicks to fail 60% of the time.
I should also mention that I am experiencing the same situation across two entirely different machines but with the same physical mouse.
My ultimate goal is to bind at least 3 of the buttons (1-3) to something else, let's say F1, F2 and F3 for argument's sake.
So far, I've done a lot of Googling, but one key difference I notice when other people have solved this is the difference in my xinput
output:
⎡ 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)]
⎜ ↳ Razer Razer Naga id=14 [slave pointer (2)]
⎜ ↳ Razer Razer Naga id=13 [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)]
↳ Lenovo EasyCamera id=9 [slave keyboard (3)]
↳ Ideapad extra buttons id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
In other people's output, I noticed that there is one "Razer Naga" present in the pointer section and one in the keyboard section. As you can see in mine there are two listed, only in the pointer section.
Other resolutions have suggested running a script to replace the keymappings for the keyboard entry, which won't work for me, I think.
I tried using xev
to show the output of what happens when I press one of these buttons but it didn't really help me. Here's an example of me clicking the left mouse button:
ButtonRelease event, serial 37, synthetic NO, window 0x3a00001,
root 0x9d, subw 0x3a00002, time 16486037, (24,50), root:(618,357),
state 0x100, button 1, same_screen YES
Now the mysterious "1" button on the side:
KeyPress event, serial 37, synthetic NO, window 0x3a00001,
root 0x9d, subw 0x3a00002, time 16536943, (31,58), root:(625,365),
state 0x0, keycode 10 (keysym 0x31, 1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XmbLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x3a00001,
root 0x9d, subw 0x3a00002, time 16537199, (31,58), root:(625,365),
state 0x0, keycode 10 (keysym 0x31, 1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False
At this point I don't really know where to proceed (I don't even know which of the two devices listed in xinput is the one mapped to the buttons), so any advice or pointers would be greatly appreciated!