By the way, if timeout was introduces intentionally, for "filtering" - it's not working this way either. My mouse seem to send tiny cursor position updates time to time (just some less-that-one-pixel noise). So, once per 20 seconds, Mouse speed switcher switches self to "external mouse", which makes "auto-switching delay" even more annoying. Maybe it's a good idea to add some small "minimum movement" threshold, to trigger "auto-switching"...

Unfortunately there is no way to shorten the time required to switch settings. 99.9% of that time is spent inside a single windows API call. On the systems where we tested the program it needs about half second to switch mouse speed. This time increases if you configure MouseSS to change other settings such as the number of lines to scroll or swap buttons since they require additional calls to the same windows API. With all options enabled switching settings can take up to 2 seconds. So the only advice I can give you is configure MouseSS to change only those parameters you really need.
It is also possible the time required to change settings depends on the running program because windows sends a notification to all programs to let them to know the updated settings so you could try to close all programs to see whether the speed can be improved.

i3v wrote:By the way, if timeout was introduces intentionally, for "filtering" - it's not working this way either. My mouse seem to send tiny cursor position updates time to time (just some less-that-one-pixel noise). So, once per 20 seconds, Mouse speed switcher switches self to "external mouse", which makes "auto-switching delay" even more annoying. Maybe it's a good idea to add some small "minimum movement" threshold, to trigger "auto-switching"...

Thank you!

The delay is not introduced by MouseSS. There is a filter to avoid to switch setting too often but it works in a different way, basically after switching MouseSS ignores mouse events for half second. About your mouse sending small movements, at the moment MouseSS has no filter on mouse events. A single event coming from mouse is enough to trigger switching. later I will take a look at this issue and will try to add a filter for small movements.

It's also very nice of yours to leave an option to modify filter threshold in registry (although it already works OK for me ), however, I wasn't able to find any value, which is equal to 2 by default in HKCU\Software\GPGSoftware\MouseSpeedSwitcher\Settings ...