Many of you will have moved from Windows to Mac at some point in recent years. One thing that I think Windows does a lot better than Mac is allowing a very fast keyboard repeat rate, via the settings in Control Pnale. Sadly, macOS’s keyboard repeat rate (key repeat rate) slider only has only 8 settings, and the fastest setting on the slider just isn’t fast enough for folks like me.
As I’m writing code, it can feel painful to scroll across a line to get to a character somewhere towards the middle. Likewise when selecting text for copying and pasting, I find myself literally holding my breathe in frustration sometimes.
So, basically, if I had to describe my feelings:
Switching From Windows to Mac
Things I hate: Maximum keyboard repeat rate is slower than Windows’ fastest rate.
Here’s how you can make your key repeat rate faster in Mac OS X. You’ll have to set some settings in the Terminal. I was so delighted by how easy this setting was, and how effectively it helped with a keyboard repeat rate that was too slow.
Step 1: Set the keyboard repeat rate to a level similar to the maximum rate available in Windows by pasting the following into Terminal.app, and running it.
To change the repeat rate to emulate the fastest possible rate in Windows:
defaults write -g KeyRepeat -int 1.15
Step 2: Set the keyboard ‘Delay Until Repeat’ rate to a level similar to the maximum rate available in Windows by pasting the following into Terminal.app, and running it.
To change the Delay Until Repeat to match the optimal Windows speed:
defaults write -g InitialKeyRepeat -int 20
Important: Once you’ve entered these values, you must restart the computer in order for them to take effect. You may think that you can just log out and log back in, but in my case this simply didn’t work. I needed to do a full and proper restart (on my 2015 MacBook Pro, running Catalina).
I switched from Windows to Mac back in 2006 and this keyboard issue has bothered me for 14 years, across many version of Mac OS X (10.6.8 through the currently 10.15). It’s such a relief to be able to change the keyboard repeat settings in Mac, by going behind the scenes. And it only takes 10 seconds (plus a restart).
Warnings & Precautions
When you change your Mac’s keyboard repeat settings via Terminal, the macOS Settings app will not know how to display your settings properly. This is a screenshot of my Keyboard Settings after I’ve applied this fix. The keyboard repeat rate is enjoyably fast. But notice how the Keyboard Settings wrongly shows the speed as mid-level. You’ll just have to ignore that. ;)
Please note: If you move the Key Repeat slider at all, then the custom settings you created in Terminal will be lost, and your keyboard repeat rate will revert to the chosen setting on the slider.
Another word of warning: I strong suggest you not enter a KeyRepeat integer of less than 0.2. At that point, it’s very difficult to use the keyboard. Likewise, I would avoid going to low with the IntialKeyRepeat integer. It’s best to reduce the number increments, and restart upon each change. Keep doing this until you’re happy with the rate.