7

What is the default for NSGlobalDomain InitialKeyRepeat? I believe the value is 20, but I'm trying to verify this in order to understand the dynamics of shifting the value.

Most suggestions I see simply tell you to set it to defaults write NSGlobalDomain InitialKeyRepeat -int 12, but I've not been real happy with this and as I have a system that takes some time to startup, I don't like the rinse-and-repeat method of rebooting several times to tweak it. If we know the default value then this will take the guesswork out.

One person went so far as to say that lower values were slower than higher values, but again, I don't trust that.

FWIW, The most common changes I'm seeing for getting back quick repeat settings in 10.12.x (Sierra) are:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false
defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 12

2 Answers 2

10

The defaults for a freshly installed macOS Sierra 10.12.5 (16F73) are: InitialKeyRepeat = 25 and KeyRepeat = 6.

Please note that if running defaults read NSGlobalDomain KeyRepeat before changing the value (either by the GUI or the CLI), then you get an error like this:

2017-07-04 14:19:02.131 defaults[29186:269276] The domain/default pair of (kCFPreferencesAnyApplication, ApplePressAndHoldEnabled) does not exist

The step values that correspond to the sliders on the GUI are as follow (lower equals faster):

KeyRepeat: 120, 90, 60, 30, 12, 6, 2

InitialKeyRepeat: 120, 94, 68, 35, 25, 15

1

I don't know what default is, but mine's set to 6

Simplest way to figure out what value you're happy with is just set the slider in System Prefs > Keyboard > Delay Until Repeat

enter image description here

Then use defaults read NSGlobalDomain InitialKeyRepeat to see what value that is.

Lower values are slower values for InitialKeyRepeat
Long is 120, short is 15.

Opposite for KeyRepeat
Slow is 120, fast is 12.

5
  • Thanks, but I'd prefer to know the value from the shell as, for some reason, these values are no longer sync'd in my system after performing the modifications from Terminal. I suppose I'll just fire up a VM later today when I get a chance on a vanilla 10.12 system, but was hoping to find a quick answer that would also be useful for future reference here.
    – ylluminate
    Commented Nov 15, 2016 at 15:50
  • defaults read NSGlobalDomain KeyRepeat will tell you the value currently stored. Not sure what else you need.
    – Tetsujin
    Commented Nov 15, 2016 at 15:51
  • Sorry, I meant InitialKeyRepeat not KeyRepeat. Fixed in original.
    – ylluminate
    Commented Nov 15, 2016 at 15:53
  • The replace everything in my answer with that & use the slider on the right
    – Tetsujin
    Commented Nov 15, 2016 at 15:56
  • Right, understood, but it is still out of sync for me for some reason.
    – ylluminate
    Commented Nov 15, 2016 at 15:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .