Accents or repeat: how is your keyboard configured?

When you press down and hold a letter on your keyboard, what happens? After a short delay, you should see one of two behaviours: either the letter starts to repeat, as in eeeeeeeeeee, or a floating window pops up offering you a range of different accented or diacritic versions of that letter.

keypress1

When that window of diacritics is displayed, you can select between those diacritic characters either directly by clicking on one of them, or by pressing the appropriate number key. If that was a little mistake and you don’t want any of them to be entered, either click away from the window or press Escape.

Do you know that you can change that behaviour?

For many versions of macOS, as far as I can remember, there has been no control in either System Preferences or System Settings.

keypress2

Look in the current Keyboard settings, for instance, and you can set the Delay until repeat, but not what happens when that delay is exceeded. Yet this is surely an important control for most users: if you only enter English from your keyboard, then you’re likely to expect keys to repeat so you can enter eeeeeeeeeee whenever you want, without having to press the e key a dozen times.

If you use diacritic characters, particularly in a non-English language based on the Roman alphabet, then that popup window spares you from having to recall the correct key combination, and opens wider possibilities that could be even harder to type in with the keyboard alone.

macOS does provide a way of changing that setting, through global preferences. Open Terminal and type in
defaults write -g ApplePressAndHoldEnabled -bool false
to set keys to repeat rather than open the diacritics window, or
defaults write -g ApplePressAndHoldEnabled -bool true
if you want the diacritics window to appear instead of repeat.

If you can’t remember those, or prefer to avoid using Terminal, then Marcel Bresink’s free TinkerTool comes to your rescue, with a simple choice in its Keyboard settings menu at the top of its General section.

keypress3

When you’ve changed this setting, in Terminal or TinkerTool, you’ll need to log out and back in again for that change to take effect.

The last time I wrote about this unhelpfully hidden setting was almost exactly eight years ago, on 30 March 2016. Since then we’ve survived the transition from System Preferences to System Settings, and many macOS upgrades. Yet Apple remains uninterested in giving us easier access to this control. This can also become changed following a macOS update, in which case you’ll surely want to correct it; if only it was exposed to the user in System Settings, maybe that would be more straightforward.

Summary

  • For key repeat: defaults write -g ApplePressAndHoldEnabled -bool false
  • For diacritics: defaults write -g ApplePressAndHoldEnabled -bool true
  • TinkerTool for either.

I’m grateful to Mark for reminding me of this setting.