Hacking Your Mouse To Fix The Misclick Of Doom

The Modern Bane Of Every Mouse User

Do you remember mechanical mice? They either had a gummy or rough ball protruding through the bottom to transfer motion to rollers mechanically coupled to optical rotary position encoders. The ball would inevitably pick up all sorts of crud from your mousing surface, which would then cake up on rollers until they eventually got stuck and required cleaning.

Once the ball's gummy coating wore out or its grippy surface got polished off (which rarely took more than a year of intensive use), the ball no longer had enough friction to turn the encoders' rollers. The mechanical mouse became nearly unusable, regardless of how much you tried to clean it. This usually meant buying a new mouse long before anything else had a chance to fail. Optical tracking eliminated that major mechanical shortcoming, enabling mice to remain usable for a few years longer and reveal their next major service life limitation.

Have you ever had a drag-and-drop file or text selection mysteriously disappear or reset on you as you pulled the mouse pointer from one corner of a selection to the other? How about single clicks registering as doubles, performing actions you never intended? In productivity applications, this can result in accidental file transfers and other irritating outcomes. In games, it can trigger the wrong ability or interface action, such as prematurely releasing an arrow, shot or other hold-to-aim/charge ability. That sort of outcome is simply unacceptable in a competitive environment.

So what's the issue here? Switches. The humble switch is the only remaining mechanical component still used in modern mice if we overlook the cord. While most PC enthusiasts associate switches with electricity, they're still mechanical systems performing an electrical function, which makes them inherently susceptible to wear from friction where different components rub together and material fatigue where these components are under mechanical loads, both static and dynamic.

And even though switches may look ideal at macroscopic time scales, with a contact closing and opening, they're not so binary as seen from a digital circuit's point of view in millisecond and less time scales.

This combination of less than ideal mechanical and electrical contact properties are the reasons why debouncing (the process of filtering or processing switch inputs to hopefully eliminate mechanically-induced glitches) is necessary when interfacing switches to logic and micro-controllers. As switches age, their characteristics degrade to the point of exceeding the debouncing circuit or algorithm's parameters, letting glitches through with increasing frequency and severity.


MORE: All Mice ContentMORE: All Peripherals Content

MORE: Peripherals in the Forums

Daniel Sauvageau is a Contributing Writer for Tom's Hardware US. He’s known for his feature tear-downs of components and peripherals.
  • Rheotome
    I'll never look at a Mouse the same way after reading this !!!
    Reply
  • SirGCal
    My problem with my MS is just finding a mouse I can use well period.I have some mice like this trackball myself and still can't use it properly. I need one controlled with the mind instead of hand. Which is probably coming sooner then we think.
    Reply
  • mrface
    This is a really cool article. Thanks for sharing.
    Reply
  • theaudiophile
    Holy shit, you're crazy in many many ways. I am an electronics hobbyist myself, and you sir are simply insane. I hope this article gets enough traffic and ad clicks to make up for the time you put in instead of replacing switches.
    Reply
  • mikesinner
    Both me and a friend of mine have already bought new mice, but I did keep the old one, a logitech G700 with the terribly annoying double click glitch when only single clicking. It's not a very old mouse either, so I find it very disturbing that the switch is already worn!
    Reply
  • Daniel Sauvageau
    17690562 said:
    Holy shit, you're crazy in many many ways. I am an electronics hobbyist myself, and you sir are simply insane.
    You give me too much credit. This is a simple hack once you know what you are dealing with - finding out what you have to work with is usually the most tedious part of a modification job, especially when you don't have design schematics or someone else's instructions to start from.

    The hack might be more trouble than it is worth but it does show that there is no reason for mouse buttons with SPDT switches to glitch until the switch mechanically fails. Other than mice manufacturers choosing to design them this that way that is.

    17690678 said:
    Both me and a friend of mine have already bought new mice, but I did keep the old one, a logitech G700 with the terribly annoying double click glitch when only single clicking. It's not a very old mouse either, so I find it very disturbing that the switch is already worn!
    My G500S is about four years old and the glitching is at that early stage where I'm not sure if the glitches are caused by the mouse or by mouse movement when I click.
    Reply
  • BulkZerker
    http://www.epicpants.com/t-shirts/tek-syndicate-gaming-mouse-standard-issue


    Problem solved.
    Reply
  • razor512
    Wouldn't it be easier to just use hall effect switches (like with some industrial machines)?

    The switches can be magnetically shielded, and as long as the button actuation functions (no broken springs), the button will continue to work, along with any vibrations of the actuation being calibrated out in software.
    Reply
  • buzzrattie
    Wish there were a mouse that was cat-hair proof. Dang little buggers shedding all the time, and getting into the laser.
    Reply
  • Daniel Sauvageau
    17691040 said:
    Wouldn't it be easier to just use hall effect switches (like with some industrial machines)?

    The switches can be magnetically shielded, and as long as the button actuation functions (no broken springs), the button will continue to work, along with any vibrations of the actuation being calibrated out in software.
    I doubt switches that require additional calibration steps would be popular in a market where manufacturers are trying to optimize every penny of profit they think they can get away with out of their product.

    One option which does not require calibration is optical sensing: poke a slotted stem through the detector. Most mechanical mice used optical wheel encoders to convert ball motion to digital. The same thing could be done for switches.

    I doubt either option would be as inexpensive as a mechanical switch and with the "memory" version of my hack, it would be a practically free fix. Free is a tough price to beat.
    Reply