As I have discovered through my own testing so far, sometimes (rarely) legitimate double-clicks are filtered. I don't know why (yet). Also, the default 'up time' is 50ms. This is actually far too long. I'm using 15ms at the moment. Stay tuned for updates...
SoftMicroswitchFix solves the 'double-click' problem (erroneous mouse messages) with mice that have had a lot of wear-and-tear (e.g. my Logitech MX Revolution).
You must have the Microsoft Visual C++ 2008 SP1 runtime installed (this includes the C++ and MFC runtime libraries/DLLs). The installer offers the option by default of downloading it from Microsoft and installing it for you. If you don't have it installed (if you're not a developer, you probably don't) or are not sure, and would like to do it manually, you can download it from here.
Just run the application! It lives in the system tray. By default, it is set to AutoRun whenever you log on.
To quit, right-click on the system tray icon and select 'Exit'.
For the more adventurous, click on the system tray icon to open the control window. Here you can change various settings:
- The minimum time the must elapse between a mouse-up message and a subsequent mouse-down (or double-click) message for the messages NOT to be filtered (i.e. be passed to the target window). The default is 50ms. If you can double-click faster than that, you should decrease this value!
- Reporting back of hooks: every time Windows attaches the hook to an application, it can be logged, as well as any erroneous mouse events that are filtered.
- Enable or disable AutoRun.
If you change either the 'minimum up period' or the reporting setting, it will only take effect on newly hooked windows (it's just the way Windows works). You can change the settings, stop the hook, move your mouse over the windows that you want to be sure to use the new settings (this forces Windows to detach the hook from those applications), and start the hook again. You can get a better idea of how Windows hooks are attached and detached by enabling reporting.
Grab it here.
If you encounter any problems, please tell me about them. Also let me know if it solves your problem!
Uninstaller won't be able to remove hook DLL if it is still in use after SMF has been asked to quit. If it cannot be removed, should be silently scheduled for reboot. (In the mean time, use Unlocker.)