Holding down keys: accents or repeat?

I seem to recall that Apple was always good with the details, although this may just be my rose-tinted view of the past. Particularly in its human interface design, there were so many little things that worked so neatly that using a Mac was, at times, a succession of warm feelings at how good those little details were.

Maybe I’m just getting old and feisty, but I see more and more little details that have become an irritating mess.

Today’s example is with key repeating (repetition, if you prefer). Dumb old computer keyboards used to start to repeat any key held down after a certain threshold period. Press and hold s, for instance, and after a certain time, the window would start filling with letter s characterssssssssssss.

Smart keyboards, like a Mac’s, put that within the user’s control. First in the classic Keyboard control panel, now in its pane in System Preferences, you have been able to set the time interval before the key starts to repeat, and the rate at which those letters spew out when repeating.

Then some time ago, someone in Apple had a bright idea: why not use the same key gesture to offer related accented keys instead. So if you happen to be typing in French, and hold down the e key, after that latent period, up pops a floating menu of accented versions of the letter e, including è, é, ê, ë, ē, ė, and ę. For many Mac users, that is a neat feature, and far simpler than trying to remember the series of keystrokes necessary to generate each directly from the keyboard, and far quicker than rummaging around in the Emoji & Symbols tool.

But there are some snags too. Most people who type English seldom use any of those accented characters, so use this feature very rarely. Some people who type less common languages lack the accented characters which they need, such as ḛ, which still has to be accessed more laboriously through Emoji & Symbols or a custom keyboard. Many keys don’t have commonly-used accented variants, so holding the key does diddly-squat. And a few keys, such as the spacebar and hyphen, are commonly needed in repeat form, so inconsistently still repeat as they used to.

So this neat idea ends up being less than optimal for many users. The logical approach would then be to let the user determine the behaviour that they want: accents or universal repeat. This would sensibly be controlled through an option in the Keyboard pane.


But it isn’t. In fact, without turning to a third-party utility, the only way that you can alter this behaviour is to open Terminal, and type in the command
defaults write -g ApplePressAndHoldEnabled -bool false
to revert to repeat behaviour, or
defaults write -g ApplePressAndHoldEnabled -bool true
to switch back to the default accent behaviour.

Not only that, because those settings are only read when logging in, you have to log out and log back in again to see any change take effect.


Thankfully those who want to do this without ritual incantations in Terminal can use the free TinkerTool, which is generous enough to give us the choice using radio buttons.

This is only a small detail, I know. But it is one which I am sure Apple used to get right. It is not right just now, is it?