Microsoft, the keyboard repeat rate and sleeping: how to work around their idiocy
Some laptop keyboards have physical defaults that are so appropriate that there is no need to adjust the repeat rate—Microsoft’s keyboard driver’s defaults and the keyboard are offering a good example of what “good defaults” should mean. With this new laptop I however ran into a problem that most people had for years, yet I’ve never been aware of! And yes, it happens since Windows 7 and no, it’s not fixed in Windows 10.
Hey guys, not sure if this is the best place to ask this but it has been driving me crazy since I got my new laptop. I bought an Acer Aspire E 15 in July of this year. It came pre loaded with Windows 8 but I downloaded Windows 10 right away. So I set my keyboard repeat rate to as fast as it will go as that is my preferred setting. Since I have done that, whenever my computer goes into sleep mode or I shut the screen off the speed seems to reset itself to the original slower speed. The weird thing is when I go back into “Keyboard” under control panel, my settings are still where I left them and all I need to do is re apply them. This is getting pretty old since I have to do this almost every time I log in. Can anyone make any suggestions?
I always keep my keyboard repeat rate at the maximum and the delay at the minimum for optimal keyboard responsiveness.
Under Windows 7 however, I have found that the rate and delay are reset to the defaults (ie the one’s that are set with a fresh Windows installation) whenever the system resumes from sleep and requires opening the keyboard control panel applet (which already shows the desired settings) and manually setting them again by pressing Enter.
I have seen a couple of posts in the Microsoft support forums, but no solutions. Does anyone know of a way to fix this?
I have just gotten a new PC and I am very happy with it! However, whenever I open the computer from sleep, the keyboard repeat rate has reverted to the default. The default for windows 8 is hellishly slow, and thus I would like to not have to change the setting every time. Already checked all of the filter keys stuff, and it is still too slow, and that does not help. Thanks for the suggestions!
So let me be clear. These settings are set for a maximum repeat rate (after the shortest possible delay), but they only work until the computer goes to sleep–upon resuming, one needs to reapply them, despite the fact that nobody moved the sliders:
Here’s the best workaround I could find, specifically here, but I slightly changed it. The idea is to use the Filter Keys feature in Windows that is normally used to slow down a key’s repetition, yet we’ll used it to speed it up!
Using Filter Keys directly is of no use, as a key cannot repeat itself faster than once in 300 ms:
This is why Regedit must be used. The values to be entered are these:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response]
The AutoRepeatRate suggested in the answer was 6, but I found it too small, and 20 was not good enough: instead of having a key repeating after 20 ms, I noticed that it repeated much slower. With a value of 10, I have a repeat rate of 50-60 per second. YMMV.
I also changed Flags from the suggested value of 59 to 27: this way, the Filter Keys icon doesn’t show on the taskbar. The problem with having it there is that in the occurrence that you are clicking on it, the Filter Keys configuration screen pops up, and it will reset AutoRepeatDelay and AutoRepeatRate to 300, the minimum values known by it!
By the way, should you open again Filter Keys configuration screen by accident, go back to Regedit and restore the altered values to the desired ones.
Hint: should you screw up and alter some Registry values to the point that the keyboard becomes unresponsive, use the mouse to go to Start menu, All apps, Windows Ease of Access, and make use of the On-Screen Keyboard to reopen the Registry (if you have started it using WIN+R, it should be in there in the history) and edit the values.
Fucking bloody stupid Microsoft.