Holding a character key starts repeat; repeat rate and initial delay are independent parameters
Aliases: typematic · key repeat · delay and rate
What it is
Holding a character key inserts the same character automatically after an initial delay, then keeps inserting at a repeat rate. Delay (how long until the first extra character) and rate (how many per second afterward) are independent settings, owned in layers by the OS, accessibility switches, and sometimes firmware. A long-press on a touch keyboard that pops diacritics is a different gesture, not the desktop typematic pipeline.
Why it happens
Key-down starts a timer Tdelay; when it fires, a second code point is inserted, then more at period Tperiod. Tdelay too short and someone who meant a tap squeezes out a second character before the finger leaves. Tdelay too long and someone holding delete to eat a line waits. Tperiod sets how fast the caret walks or a row of dots appears. They are orthogonal: delay can be long and rate fast, so repeat, once confirmed as a hold, is rapid. Games that treat a key as “held, no extra downs” turn typematic off. Firmware repeat stacked on OS repeat doubles insertions.
Studying it
On a timestamped keyboard, measure time from down to the second character and the gap between later characters, against the delay and rate in system settings. Compare built-in laptop boards, external boards, and accessibility Slow Keys. Keep touch long-press popups off the same table as desktop repeat. Tasks should include “only one character” and “hold delete to start of line.” Re-measure after moving the system sliders: some machines still insert at firmware period, and the slider only changed the OS layer.
Where it stops holding
Modifiers usually do not repeat (holding Shift should not emit a stream of Shifts). A held dead key should not compose a stream of accents. The touch key-preview bubble is not repeat. Remote desktop stacks network RTT on the delay, so local settings are no longer the felt delay. Voice and handwriting have no typematic.
Applying it
- Expose delay and rate independently, with units in accessibility settings (milliseconds, characters per second).
- Apps should not implement their own repeat on top of the system, which doubles it.
- Games or hold-to-aim actions should turn repeat off for that key explicitly.
- Verify by setting delay to maximum and rate to maximum: a tap is still one character, and once repeat starts it is fast. Both parameters must be tunable to that combination independently.
Related
- Same group: C6.31.2 A repeat rate that is too fast produces extra characters when the user wanted one · C6.31.3 Fast multi-key presses on a keyboard with weak anti-ghosting drop some keys · C6.31.4 N-key rollover reports any simultaneous combination correctly; games and pro boards rely on it
- Adjacent: C6.02 Key travel and tactile confirmation · C6.16 Undo in text input
- Search:
typematic·key repeat delay·repeat rate