C6.20.1Modifier-first chord order设计研究

组合键的按下顺序通常要求修饰键先于主键按下,顺序颠倒可能不触发

别名: 修饰键先行 · 组合键时序 · 先松主键

概念解释

多数系统把组合键实现成:修饰键已经按住之后,主键的按下才去查快捷表。先敲主键再补按 Ctrl 或 Command,主键往往已经作为普通字符发出,后加上的修饰不会回溯把那个字符改成命令。顺序不是“几颗键在同一时刻都接触”,而是一条有方向的时序。用户以为同时按下就够了,设备却在几十毫秒的差里决定这次是命令还是打字。

机制

键盘把事件按序列上报:修饰键 down、主键 down、主键 up、修饰键 up。快捷键匹配通常挂在主键 down(有时在 up)那一帧,读取当时的修饰键位图。主键若先到,位图仍是空的,应用插入字符;修饰随后到达,已经没有“未消费的主键”可配对。游戏和部分原生工具会在修饰键 down 时立即改变后续解释,但仍然不会把已经插入的字符收回。触屏上的组合更苛刻:两指必须按住修饰再点主键,顺序反了就变成两个无关点击。这与“松开修饰即退出准模式”是同一套状态机的入口规则,但这里问的是进入命令那一击的先后,不是模式能维持多久。

怎么研究

用可记录扫描码时序的键盘,让人执行同一套快捷键,画出修饰与主键的 onset 差。自变量包括是否口头强调“先按住再敲”、是否提供按键可视化、单手还是双手。因变量是触发成功率、先打出字符再撤销的次数、onset 差的分布。新手的失败会集中在主键领先 20–80 ms 的区间。不要只用“会不会这组快捷键”的问卷,那测不到时序。

边界

Sticky Keys 把顺序拆成可以先后单独按下的锁存,这条时序规则对开启了粘滞键的用户放宽。有些应用在主键已经 down 时仍监听修饰,形成“按住字母再按 Ctrl”也能触发的变体,但这不是系统级默认,不能拿来设计通用教学。IME 组字过程中主键可能被输入法先消费,修饰键顺序正确也触发不了应用快捷键。远程桌面还会把事件队列打乱,本地看起来同时的两击在远端变成主键领先。

怎么落地

  • 教学和空状态文案写成“按住修饰键,再按某键”,不要写成“同时按”。
  • 快捷键可视化在修饰键 down 时就开始高亮可用主键,给“先按住”一个即时反馈。
  • 若命令极关键,提供菜单或按钮的等价入口,避免只靠时序正确的组合。
  • 验证:录制新手完成复制、保存、撤销时的键位时序,统计主键领先于修饰的比例;若失败样本几乎都是主键先到,改文案和反馈,而不是改快捷键字母。

延伸

  • 同组C6.20.2 粘滞键让修饰键依次单独按下也能组成组合键,服务于无法同时按键的用户 · C6.20.3 组合键数量随功能增加而膨胀,最终超出常规手指可达的组合范围 · C6.20.4 三键及以上的组合键对单手或运动能力受限用户构成显著门槛
  • 相邻C6.04 修饰键 · C6.03 快捷键体系
  • 站内检索modifier-first · key chord timing · keyboard shortcut order

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C6.20.1