22

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?

Synetech
  • 69,547

6 Answers6

10

I had the same problem. Very irritating. So I wrote a little task bar application that resets the keyboard repeat rate and delay when it's double-clicked. It's supposed to reset the rate and delay when it comes out of sleep but sometimes it works, sometimes it doesn't. But double-clicking the little task bar icon is so easy I haven't bothered debugging it that far.

Download the source here: http://thumpers-hole.net/KeyboardReset.zip
Download just the app here: http://thumpers-hole.net/KeyboardReset-JustExe.zip

Hope this helps.

EDIT: Fixed link. Sorry for the wrong link.

chris
  • 101
9

The selected answer by chris did not work on my Win 8 64 bit install. This line can be run from a batch file to reset the rate.

mode con: rate=32 delay=1

I just run it from a shortcut.

Source: https://forums.lenovo.com/t5/IdeaPad-Y-U-V-Z-and-P-series/Re-Y50-Windows-8-Keyboard-response-too-slow-after-coming-back/m-p/1809426

Edit 1

The batch file can be added as a scheduled task to execute after the laptop wakes from sleep. It briefly pops up a command line window but it avoids having to worry about running it manually.

Set up the task with a custom trigger with this filter

<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Power-Troubleshooter'] and (Level=4 or Level=0) and (EventID=1)]]</Select>
  </Query>
</QueryList>

Edit 2

The above is for Windows 8. To answer Frank's comment implementing for Windows 7. This might work but I don't have system to test with. I will edit and remove if it does not. Based on this answer https://superuser.com/a/84453/400252

Create a batch file (keyboard.bat) on your PC containing the mode command above.

Open Task scheduler. Right click Task Scheduler Library and select Create Task.

Name the task.

In Trigger tab click New. Begin the task: On an event. Log: Microsoft-Windows-Kernel-Power/Thermal-Operational. Source: Kernel-Power. Event ID 1.

In Actions tab click New. Action: Start a program. Browse to the batch file you created.

In Conditions tab uncheck Stop if the computer switches to battery power.

In Settings tab check Run task as soon as possible after a scheduled start is missed.

I'm not sure if you need to change the security options in the general tab regarding running when logged on or not, or running with highest privileges. I do not have a system to cannot test this with.

If the above does not work then as a work around create a shortcut to the batch file somewhere where you can quickly run it when required such as in the start menu or quicklaunch bar.

Goose
  • 191
4

The command form Goose's answer works on my system, but I wasn't satisfied with running it each time manually. If you also wish to automate the process, follow these simple instructions:

  1. Download NirCmd
  2. Put nircmd.exe in your Windows folder
  3. Open Task Scheduler
  4. Create new task and name it as you wish
  5. Crete new trigger with these settings: (Begin the task: On an event, Log: System, Source: Power-Troubleshooter, Event ID: 1)
  6. Create new action with these settings: (Action: Start a program, Program/script: nircmd, Add arguments (optional): execmd mode con: rate=32 delay=1)
  7. In Conditions tab uncheck "Start the task only if the computer is on AC power)
Xtal10
  • 86
2

[EDIT: completely revised answer]

Some observations, two solutions and a warning regarding Registry changes. The observations will improve your understanding and are necessary for the differential diagnosis of your problem.

.

THE OBSERVATIONS

  1. The problem occurred/occurs in in principle all Win versions: XP, Vista, 7, 8 and 10. I read that here and on other forums.
  2. The problem occurs on laptops and desktops.
  3. The problem is reported to occur on Lenovo and Dell machines, although in many reports no brand is mentioned. (If your machine is a different brand, please leave a comment.)
  4. There is a difference between sleep (= standby) and hibernation. And you might have 'Hybrid sleep' on your machine. For the whole story, see https://www.howtogeek.com/102897/whats-the-difference-between-sleep-and-hibernate-in-windows/.
  5. There are 4 circumstances under which you have to enter your Windows password, each with their own indication above the password field:
    • After the screen was locked. Indication: 'Locked'.
    • After you rebooted. Indication: none.
    • After you logged off (which also means that all programs were closed). Indication: none.
    • After you switched users. Indication: in case of only one user: 'Logged on' (yes, 'on'); in case of multiple users, that may differ (I cannot test that).

See when exactly your problem occurs, by means of the indication. If you do not use a password: Control panel > Power options > Left pane: 'Require a password' > select 'Require a password'. The following solutions are for the case 'Locked', which I think is the vast majority of cases. If your case is different, please leave a comment.

.

THE SOLUTIONS

The two solutions are improvements of suggestions by others, here and elsewhere.

The first is a quick fix, for laptops: Control panel > Power options (or equivalent) > 'When I close the lid': Do nothing (2x). That might cure your problem, even though your laptop will not automatically wake up anymore after opening the lid.

The second is an advanced solution, for laptops and desktops: an automated cmd.exe (DOS) command that resets the character repeat rate (that's what it is called officially) to maximal, immediately after unlocking the system. Here is the How to:

A. Open Notepad and type mode con: rate=31 delay=0. Higher than 31 is no use, delay=0 is. Save it in a Windows system folder (e.g. C:\Windows), naming it something applicable, like CharRepeatReset.bat. The .bat is a must.

B. Double-click the file and see if it resets the repeat rate. If it does, you can automate that double-clicking as follows:

  • Start > Search > type: task > Task Scheduler.
  • Right pane: Create task. That opens a window with the tabs General, Triggers, Actions and Conditions.
  • General > Name: the name of your file without the .bat (e.g. CharRepeatReset). For now, leave all other settings on that tab as they are.
  • Triggers > New > On workstation unlock > Any user.
  • Actions > New > Start a program > Browse to your .bat file.
  • Conditions > De-tick 'Start the task only if the computer is on AC power'.
  • Click 'OK' (no need to change anything in Settings).

Let me know how it works, here or via f [dot] conijn [at] conijnconsultancy [dot] com.

.

WARNING REGARDING REGISTRY CHANGES

This concerns the changes made in HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response, that are suggested sometimes. I tried that in several ways and it might work, but in all cases it came with serious side effects. Ranging from the processor going into overdrive to complete freezes that could only be solved with power interruption. The latter makes you loose unsaved files. So be very careful with that.

0

On my Asus convertible laptop, disabling Connected Standby fixed this problem.

(Connected Standby is the sleep mode that is similar to how smartphones work: they go into a low-power mode, but there is still some processing possible)

To disable Connected Standby, set CsEnabled parameter in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power to zero, and reboot.

DeepSOIC
  • 155
  • 1
  • 3
0

go into:

  1. control panel
  2. ease of access center
  3. make keyboard easier to use
  4. setup filter keys
  5. setup repeat and slow keys
soandos
  • 24,600
  • 29
  • 105
  • 136
robert
  • 11