What is accelerated scrolling?
Normally, when scrolling using the mouse wheel, the number of lines scrolled per notch or 'tick' of the wheel is constant. With accelerated scrolling, the faster you turn the wheel, the more lines you will scroll per tick. Therefore, if you turn the wheel slowly over 5 ticks, you may scroll 30 lines (default 6 lines per tick on Windows), but flicking the wheel very fast over the same five ticks may scroll 50 or 100 lines, depending on your speed.
How does it work?
Normally, one tick of the scroll wheel sends a single key signal to the application. This script works by sending extra key signals when you scroll quickly.
Why should I try it?
I think most people would benefit from using accelerated scrolling. On a daily basis, I see friends and colleagues attempting to scroll a large web page or a long list using the mouse wheel, and they flick the wheel very quickly, many, many times. Not only is that frustratingly slow, but it may contribute to Repetitive Stain Injury if done often enough.
Accelerated scrolling is very intuitive because it's obvious that slow scrolling means the user is reading line-by-line, while fast scrolling means the user is trying to traverse a long distance.
For people that already use acceleration in another form, using this AHK script means you can easily take it to any other computer, without having to install specific mouse software, and are not tied to a particular brand of mouse.
Features
Unlike some special scrolling features like cruise control and autoscroll, this works on any application or control that responds to the mouse wheel. That even includes things like Sliders (like the volume control). See also, "Will it affect my games?"
You can turn on tooltips, which will indicate next to your cursor how much acceleration is applied while you're scrolling fast. Turn this on by editing the source code.
Finally, I've also added a unique
boost feature. If you keep turning the scroll wheel without stopping, after a set distance, the acceleration factor will gradually increase so that you can scroll faster and faster! The delay between scrolls to maintain boost, the distance you travel before boost begins, and the maximum boost speed can all be customized in the source.
Why did you write it?
I had a Microsoft mouse for a very long time, and the mouse software, IntelliPoint, had an accelerated scrolling option, which I always found extremely useful. Then, I got a Logitech mouse which is a great deal better, BUT the IntelliPoint software refused to accelerate with it. Also, the Logitech software SetPoint did not allow me to use the feature, even though people with other expensive Logitech mice could access it.
In both cases, it appears that the software reads the product ID of the connected hardware, and refuses to enable the special features unless it's deemed 'worthy'. Thanks a lot, Logitech and Microsoft, for discriminating against me!
So, I
asked in the Logitech Forums and got a response in the form of a very simple AutoHotKey script... And that's how I learned about AHK.
Will it affect my games?
Yes, the extra scroll signals will be sent to games, but whether they have any effect is another matter.
For instance, in-game windows with scrollbars should benefit from acceleration, but when changing weapons in games like Half-Life 2, the game will wait for a brief period before responding to the input again. This means weapon-switching with the scroll wheel is not affected, which is good! And if it does cause problems, simply suspend or exit the script (see key bindings).
It's too fast! How can I adjust it?
The actual number of lines scrolled per tick depends on the application, but this is often determined by the scroll wheel setting in Windows.
If you open up
Mouse from the
Control Panel, and go to the
Wheel tab, you should have an option to set the number of lines scrolled per tick. If you have other mouse drivers or touchpad software installed, these options may be in a different place. The default is 6. I would recommend 4.
After that, it's just a matter of getting used to it, and learning to scroll slowly when reading.
Key Bindings
Win + WheelUp: disable (and repeat to enable again)
Win + WheelDown: exit (and display a tooltip to inform you that it has terminated).
Download
Accelerated Scrolling 1.3.zip
This archive contains:
- The source file (you need AutoHotKey installed to run this)
- The compiled exe (
the password is 'ahk')
- A text file 'Lines.txt' containing 10,000 lines of 100x100 triangles, to test wheel acceleration.
The executable is password-protected so the archive can get through proxies, such as company firewalls, that scan files for executables.