Program Ubuntu to ignore mouse clicks that are very close in time

AI Thread Summary
A user is experiencing a malfunctioning left mouse button that frequently registers double clicks instead of single clicks, complicating tasks like text selection and image editing. Although purchasing a new mouse is the simplest solution, financial constraints are preventing this. The user seeks a programmatic fix on Ubuntu to ignore rapid successive clicks, a process known as "debouncing." Discussions highlight that while debouncing is typically managed by libinput, configuring it can be complex. The user installed libinput-tools but was advised to uninstall it as it does not include the core libinput. Suggestions include modifying local device quirks and experimenting with various settings, though success is not guaranteed and may require multiple attempts. Alternatives like replacing mouse switches were mentioned, but the user lacks immediate access to necessary tools. The conversation also touches on the potential inefficiency of investing time in a fix versus the cost of a new mouse, especially given the user's financial situation.
Wrichik Basu
Science Advisor
Insights Author
Gold Member
Messages
2,180
Reaction score
2,717
At the very beginning, I accept that I have a faulty mouse. I bought it last year, and it's been only one year (almost), and the left button is malfunctioning. Single clicks are often becoming double clicks, which is causing a host of problems — closing two tabs one after the other in browsers, trying to select text moves a portion of selected text from one place to the other, difficulty in positioning the cursor, and so on. The easiest way forward would be to buy a new mouse, but we are currently going through a financial crunch and I would like to hold on to this mouse for a little longer. This is my third mouse, by the way, since I got the laptop two and a half years back.

The double click trouble is this: when I press and release the left button, two click events are generated almost one after the other, very close in time. It doesn't happen all the time, but very frequently, making it difficult for me to use the mouse, especially when I am doing some precision work like editing images.

Is it possible to write some program to instruct Ubuntu to ignore left button clicks that are generated very close to each other, say within 250 ms or something like that? The time interval is something that I have to play with and adjust, but where can I write the program to direct the system to do something like this? I am asking because there are programs like imwheel that can modify how many lines are scrolled each time I rotate the mouse wheel. Can something similar be implemented for my case?​
 
Computer science news on Phys.org
Wrichik Basu said:
Is it possible to write some program to instruct Ubuntu to ignore left button clicks that are generated very close to each other, say within 250 ms or something like that?
This is called 'debouncing'. This is usually handled by libinput but getting the configuration right is a bit tricky. Search 'debounce mouse' in your favourite online forum for your distro.
 
  • Like
Likes jim mcnamara and Wrichik Basu
Things just went to the next level: the double click problem created two threads, one after the other:

1643121758043.png


I got two notifications with the same thread name, one with @pbuk's reply, and one without it. Then saw the two threads had different ID: 1011641 and 1011642. :H
 
We’ve been having double click issues too.
 
  • Wow
Likes Wrichik Basu
I removed the other thread.
 
  • Like
Likes Wrichik Basu
jedishrfu said:
Unfortunately, that does not work in this case. As written in a comment to this answer on AskUbuntu,
That alters the acceptable delay between clicks that will be understood by Ubuntu as "double click" rather than 2 separate clicks. At best, this will affect what a second bounced click is interpreted as, but won't stop sending 2 clicks in the first place.
pbuk said:
This is called 'debouncing'. This is usually handled by libinput but getting the configuration right is a bit tricky. Search 'debounce mouse' in your favourite online forum for your distro.
Based on this and this question on AskUbuntu, I first found that libinput is not installed in my system. So, I installed it using sudo apt install libinput-tools. Then, I created a file local-overrides.quirksin /usr/share/libinput:
[CODE title="File local-overrides.quirks"][Logitech Wireless Receiver Mouse]
MatchName=Logitech Wireless Receiver Mouse
ModelBouncingKeys=700[/CODE]
I changed the 700 from 4 to 7, 400, 700, rebooting each time. No change. The issue still persists.
 
For a Logitech mouse you could try solaar.
 
  • Like
Likes jedishrfu
If you can solder to a circuit board the best solution is to replace the mouse switches. I've done that several times with good results. The switches sell for less than USD $2 each here in the U.S. Of course shipping needs to be added.

If you do this you might as well replace all the switches at the same time, otherwise you will be taking the mouse apart three or four times as often!

( I use an optical mouse with a scroll wheel and replace switches about four times before the mechanical 'scroll' wears out.)

Cheers,
Tom
 
  • #10
pbuk said:
For a Logitech mouse you could try solaar.
Installed it, but it says that "No Logitech receiver found". I guess it doesn't work with my mouse.
Tom.G said:
If you can solder to a circuit board the best solution is to replace the mouse switches. I've done that several times with good results.
That might be the way out, other than buying a new mouse. I have loads of such switches at home, but currently I am miles from home, and won't be returning at least before February.
 
  • #11
I got that same issue with my Logitech mouse and solar on ubuntu and had to retire it in favor of the laptop trackpad..
 
  • Like
Likes Wrichik Basu
  • #12
I simply got a new mouse for Xmas when mine started doing this after about three years' use. It was the easiest solution.
 
  • #13
DrJohn said:
I simply got a new mouse for Xmas when mine started doing this after about three years' use. It was the easiest solution.
Yes, that is the easiest solution. However, as I wrote in the OP, I have a financial crunch in the family due to medical reasons, and we are trying to spend as little as possible on non-medical things. Since I am using Ubuntu, which allows the user to play with the OS files more than Windows, I thought there could be some way for solving this issue programmatically.
 
  • #14
Wrichik Basu said:
Since I am using Ubuntu, which allows the user to play with the OS files more than Windows, I thought there could be some way for solving this issue programmatically.
There probably is a way. I've never used Ubuntu or similiar, however if you post the mouse driver code, there may be someone lurking here that can supply some ideas. Switch debounce is a very common need, especially in lower-level software.

What say folks? Anyone adept at Ubuntu drivers?
 
  • #15
Tom.G said:
if you post the mouse driver code
Tell me how to get it.
 
  • #16
I think getting hold of the code is the easy part, the hard part will be relinking it into Wayland or whatever Ubuntu is using these days for display management and making sure upstream changes don't undo all the hard work. Seriously if you want to do this kind of thing then you don't want to be doing it with Ubuntu, you'd be better off with Arch.
 
  • #17
I googled on this phrase:
"alter bounce rate for a mouse in ubuntu" and the first answer suggested a way, if you haven't tried this. But I don't use ubuntu so can't test it.

It said "If you type synclient you have some parameters such as MinSpeed, MaxSpeed & AccelFactor that you can play with. "

PS so I had another reply under my name today, where I must have clicked while moving the mouse!
 
  • #18
Wrichik Basu said:
I first found that libinput is not installed in my system.
I think you will find that it is.

Wrichik Basu said:
So, I installed it using sudo apt install libinput-tools.
As the name implies that is some tools for helping with development and debugging libinput, not libinput itself. Uninstall it (unless you are going to delve into hacking libinput of course).

Wrichik Basu said:
Then, I created a file local-overrides.quirksin /usr/share/libinput:
I don't think you wanted to do that. See https://wayland.freedesktop.org/lib...html#installing-temporary-local-device-quirks

Don't expect changing settings in ini files to work first time, you are going to have to experiment with a LOT of things because any reference you read may not refer to the same device/compositor/libinput/version etc. as you have.

Also, Ubuntu LTS is quite old now, you might find a difference on 21.10 if you can try installing that on a spare partition.
 
  • #19
Wouldn't it just be easier to buy a new mouse? I mean the trouble you're going through just to sort it out ... - plane @ simple
Go to the local computer shop and buy it second hand if you're that strap on cash.
 
  • #20
First, sorry for the very late reply. Was really busy elsewhere and didn't get time to come back and type a reply.
pbuk said:
As the name implies that is some tools for helping with development and debugging libinput, not libinput itself. Uninstall it (unless you are going to delve into hacking libinput of course).
When I tried to execute libinput list-devices | grep Device, Ubuntu said, "Command 'libinput' not found", and recommended the package libinput-tools for this to work, which is why I had installed it. Uninstalled it as you said.
pbuk said:
Hmm, okay. This answer on AskUbuntu says I should put it under /usr/share/libinput which is what I had followed. In the page you linked, it states I should put the file under /etc/libinput/local-overrides.quirks Will follow that.
pbuk said:
Don't expect changing settings in ini files to work first time, you are going to have to experiment with a LOT of things because any reference you read may not refer to the same device/compositor/libinput/version etc. as you have.
Yeah, I know. The worst part is I have to restart the machine every time for the changes to be applied, which makes it irritating.
pbuk said:
Also, Ubuntu LTS is quite old now, you might find a difference on 21.10 if you can try installing that on a spare partition.
Since this is my everyday-use laptop, I will probably wait till the next LTS this year, try it out on VirtualBox to see that everything works fine, and then upgrade.
 
  • #21
I don't have the same distro so it won't be the same tools, but I had the same problem. I solved it by searching "accessibility" (shaking hands) tools. My hands are not shaking, but my mouse behaved as if they were. Not any more.
 
  • Like
Likes Wrichik Basu
  • #22
Wrichik Basu said:
The easiest way forward would be to buy a new mouse, but we are currently going through a financial crunch and I would like to hold on to this mouse for a little longer.
The best mouse I own cost $12. I got rid of a razor hex, because while I liked the design, the drivers were crap, and needed to be updated every week for no obvious reason.

Time spent on this fix you want to write would likely earn you more then $12 if you used it in some more productive manor.
 
  • Love
  • Skeptical
Likes Wrichik Basu and Tom.G

Similar threads

Back
Top