I am trying to reassign the functions on the buttons of my Logitech G700 mouse. Using xinput --list, I see that this counts as two devices (four if you include the wired/wireless differences).
48 will@will-laptop ~]$xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Natural® Ergonomic Keyboard 4000 id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=17 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=18 [slave pointer (2)]
The problem is that there are non-default assignments to the buttons, so xev doesn't show things like "button 12" or whatever, it just shows the keystrokes assigned to the button (i.e. KeyPress Ctrl_L, KeyPress "w", KeyRelease Ctrl_L, KeyRelease "w"). It doesn't show the device and so I'm not sure how to reassign what the key should do. Also, as near as I can tell, there is no way to do a hardware reset of the on-board memory profiles, so I can't reset the mouse to actually give me a "button 7" or whatever.
I am using Ubuntu 13.10.
Here is what I get from xev when I try the "tilt wheel to left" button.
KeyPress event, serial 40, synthetic NO, window 0x4a00001,
root 0x90, subw 0x0, time 13142771, (115,109), root:(2844,1831),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x4a00001,
root 0x90, subw 0x0, time 13142771, (115,109), root:(2844,1831),
state 0x14, keycode 25 (keysym 0x77, w), same_screen YES,
XLookupString gives 1 bytes: (17) ""
XmbLookupString gives 1 bytes: (17) ""
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x4a00001,
root 0x90, subw 0x0, time 13142935, (115,109), root:(2844,1831),
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x4a00001,
root 0x90, subw 0x0, time 13142935, (115,109), root:(2844,1831),
state 0x10, keycode 25 (keysym 0x77, w), same_screen YES,
XLookupString gives 1 bytes: (77) "w"
XFilterEvent returns: False`