How to increase keyboard key repeat rate on OS X?

You can also change the preference keys by running the following in Terminal:

defaults write -g InitialKeyRepeat -int 10 # normal minimum is 15 (225 ms)
defaults write -g KeyRepeat -int 1 # normal minimum is 2 (30 ms)

The changes aren't applied until you log out and back in. KeyRepeat can't be set between 2 (30 ms) and 1 (15 ms) though.

I also use KeyRemap4MacBook. I've set the repeat rates to 40 ms and the initial repeat rates to 150 ms.


I just discovered that I had KeyRemap4MacBook installed and inside this application you have lots of low level settings for key repeat.

Now I'm happy with 400ms initial repeat time and 20ms repeat wait.


Old post, but this may help someone: If you are using the "Karabiner app" (https://pqrs.org/osx/karabiner/) which is a third party app commonly used to remap keys (or make OS X keyboard mimic some of Windows keyboards behaviors) it will bypass your OS X configurations.

If you are using it, to increase your keyboard rate you should go to the app and on the second tab ("Key Repeat") you'll find the option Repeat Rate. Changing that will render immediate effect and, as far as I can tell, it's the only way to get the repeat rate changed when using this app.


@user495470's answer is great for native apps, but for whatever reason, it appears to have messed up key repeat for me in XQuartz windows. To work around the issue, I initially ran this in the terminal:

xset r rate <initial wait> <number of repeated strokes per second>

Leaving off the last 2 arguments will reset the system defaults.

I read that you have to run this command every time you run XQuartz anew, but when I put it in my login script, it caused the system to hang on shutdown (until I killed the hung xset commands) and on startup, so I discovered that a better way to change the key repeat setting is to first disable the little bubble menu that appears above a typed character upon press & hold, e.g. hold down the a key and you are presented with a bubble containing alternate 'a' characters with various umlauts, accents, etc..:

defaults write -g ApplePressAndHoldEnabled -bool false

Then run the key repeat commands:

defaults write -g InitialKeyRepeat -int 10 # normal minimum is 15 (225 ms)
defaults write -g KeyRepeat -int 1 # normal minimum is 2 (30 ms)

If you do it this way, key repeats will work in XQuartz windows without needing to run xset r # #.