I have a Logitech MX5500 mouse and keyboard combo. When I press down on the mouse wheel it releases the scroll clicker and allows the wheel to spin freely. Clicking down again on the mouse wheel turns freespin off and relocks the wheel or causes it to click with every scroll.
Back when I used to use Windows, the Logitech drivers installed a piece of software that allowed me to easily select key bindings, customize display settings on the keyboard (which I've never even looked at and know nothing about; I don't even really use the keyboard) and MOST IMPORTANTLY an option to toggle between treating the middle mouse button as MOUSE3 or as a toggle between free spin and click-scrolling.
I believe this software is call Logitech SetPoint. Normally you would choose to set the binding on the mouse wheel and change it from 'Shift scroll modes' to 'Middle Button' but Logitech doesn't provide any Linux support. Upon doing some research I discovered a piece of software called HIDPoint designed to emulate SetPoint for Linux systems but it seems to have not been updated or supported in the last couple years as it lists the latest supported version of Ubuntu as 10.10. I tried to install it was but not successful. From what I can tell it looks like this project has been abandoned. Such a shame considering how useful it would be.
I couldn't find any online documentation regarding this issue however I did find some about setting custom mouse bindings. One guide using imwheel outlined here:
was kind of confusing regarding how I would be able to know which commands carried out which tasks. Also I got errors trying to run imwheel.
This guide made a little more sense:
and I was able to use it to figure out my mouse bindings but I was again at a loss for how to figure out what commands or scripts to bind to which key.
On a side note
Is there an application similar to xev that displays a command output for an action done? This way someone could obtain the action they want to bind to a script as easily as the mouse binding.
For example: using xev I click each button on my mouse to see which binding it has. If I want to bind a mouse button to ctrl I would add:
"xte 'key Control_L'" b:1
to my .xbindkeysrc file or if I wanted to bind a key to switch workplaces (in KDE, copied from another tutorial) I would add:
"qdbus org.kde.kwin /KWin org.kde.KWin.previousDesktop"
"qdbus org.kde.kwin /KWin org.kde.KWin.nextDesktop"
but the people who wrote those tutorials knew those commands or were able to figure them out in some way. Say b:6 and b:7 are my forward and backward mouse buttons and I wanted to bind them to previous track and next track in VLC. Is there a program like xev where I could have it running and then with VLC open, when I press the next button in VLC it outputs a command to the terminal that was delivered to VLC? That way one could copy the command from the terminal to .xbindkeysrc
So far as I can tell, the best solution alluded to here:
Is to set up a keyboard shortcut in whatever program you want to use and then bind a mouse button to a combination of keyboard keys. Is this the best working solution for people who are doing custom mouse bindings?
There seems to be very little interest and support for custom mouse bindings in Linux and Ubuntu which seems especially weird to me. I would think this to be a much more popular issue which leads me to believe there is some sort of documentation surrounding this that I haven't seen that clarifies everything or makes everything easier.
As of right now, I understand how to set custom mouse bindings but have no idea how one would figure out what to bind the mouse button to. The Logitech SetPoint software made this as easy as selecting buttons then selecting applications and specific functions (like media player > next track or media player > previous track for the previously mentioned track skipping in VLC).
End of side note
Sadly this whole key binding thing doesn't even help me any closer to solving my issue because clicking on my mouse wheel in xev returns absolutely no output. All the other buttons give output along with moving the mouse or the wheels. Wheel up is registering button 4 and wheel down button 5 but clicking on the wheel just switches the scrolling mode but doesn't do anything in xev.
So I thought I might be able to find the command for mouse3 or middle click and bind that to... b:3 (I guess?) but I imagine that might not even work since I don't have a mouse binding for my mouse wheel.
I remember when I first install Ubuntu 12.10 from Windows 7, I had the mouse drivers installed in windows 7 and set the mouse wheel binding to the middle button. I then erased windows 7 and installed Ubuntu 12.10 and the mouse was the same. After a re-installation of 12.10 (or it may have been an upgrade to 13.04) my mouse wheel went back to switching scroll modes. Every subsequent installation has resulted in the same configuration and I have not been able to resolve it since.
My computer knowledge tells me this has something to do with some read-only memory in the mouse itself i.e., a switch that gets turned on/off by a command from the computer. I imagine the switch was turned off by the drivers in windows (turning the wheel back to a middle click as opposed to a scroll mode switcher) and maybe reset at some point during a Ubuntu installation. I guess I would be looking for some sort of command to send a message to the mouse to flip the switch?
Any help would be appreciated. I'm not really sure how to go about trying to fix this and I've exhausted all my internet searching abilities. I can't seem to find any way to set my mouse wheel back to a middle click instead of switching scroll modes. Thanks.