C6.31.1Key repeat delay and rate设计研究
长按字符键触发重复输入,重复速率与起始延迟是两个独立参数
别名: typematic · 按键重复 · 延迟与速率
概念解释
按住一个字符键不放,系统在起始延迟之后开始自动插入同一字符,之后按重复速率持续插入。延迟(第一次重复要等多久)和速率(之后每秒多少次)是两套独立设置,操作系统、无障碍开关、有时还有键盘固件各管一层。长按在触屏上还可能弹出变音菜单,那是另一条手势,不是桌面这条 typematic 流水线。
机制
键 down 启动定时器 Tdelay;到期后插入第二个码点,再按周期 Tperiod 插入。Tdelay 太短,本想点一下的人会在手指离键前挤出第二字符;Tdelay 太长,想用长按删掉一行的人要干等。Tperiod 决定直线移动光标或打出一串点的快慢。两者正交:可以把延迟设长、速率设快,专门照顾“确认是长按之后迅速重复”。游戏把某键改成“按住不重复、只发一次 down”,等于关掉 typematic。固件层的 repeat 若与 OS 层叠,会出现双倍插入。
怎么研究
用可记录时间戳的键盘,测量从 down 到第二个字符、以及后续字符间隔,对照系统设置里的延迟与速率。比较笔记本内建键盘、外接键盘、无障碍“筛选键”。触屏长按弹出与桌面重复要分开,不要混成一张表。被试任务应包括“只要一个字符”和“按住删除到行首”两类。改系统滑块后必须重测,因为有的机器固件仍按出厂周期插入,滑块只改了 OS 层。
边界
修饰键通常不重复(Shift 按住不应打出一串 Shift)。死键按住也不应开始组合一串变音。触屏的按键预览气泡不是重复。远程桌面会把延迟叠加上网络 RTT,本地设置不再等于体感。语音和手写没有 typematic。
怎么落地
- 提供互相独立的延迟与速率,无障碍设置里写清单位(毫秒、每秒字符)。
- 应用不要在自己的按键处理里再实现一套重复,以免与系统叠加。
- 游戏或按住瞄准类操作显式关闭该键的 repeat。
- 验证:把延迟调到最大、速率调到最快,确认“点一下”仍只有一个字符、按住后一旦开始重复就很快;两参数必须能被单独调到这个组合。