K2.04.1reserved system shortcuts设计
系统级快捷键不可被覆盖
别名: 系统保留快捷键 · 不可覆盖和弦 · reserved chords
概念解释
操作系统把一批和弦留给窗口管理和系统服务:切换应用、显示桌面、截屏、强制退出、输入法切换、把窗口挪到另一块屏。不可被覆盖指应用不能把这些键改成自己的命令——抢到了也是在拆桌面,不是在提高效率。
应用内部两记命令撞车,可以交给用户重绑。系统和弦不在这个谈判桌上。
机制
桌面的可用性建立在一套全系统一致的窗口操作上。人在所有应用里用同一记键切走、关掉、把窗口丢掉后面,正是因为这记键不属于任何一个应用。应用若在自己前台把同一记键改成「下一个标签」或「确认对话框」,窗口管理器在这个应用里突然失踪。人会以为系统坏了,因为失败发生在应用边界上:键还是那记键,语义却从「操作系统」翻成了「这个窗口」。
保留表由操作系统维护,应用进程常常根本收不到这些事件。绑了等于菜单上写着一记按不下去的键,或更糟——在某些宿主里偶尔能抢到,行为变成平台相关的彩票。桌面形态把窗口切换、多窗口排布当成基础设施,所以这批键的所有权在形态这一层就已经定了,不是应用的产品选择。
边界
全屏独占的游戏和放映有时会吃掉几乎全部按键,系统和弦在独占期间本来就被让出,退出独占必须立刻归还。用户自己在系统设置里改了保留键,应用按厂商默认表来避让仍可能撞上,那是用户改写了桌面契约,应用能做的是标明「可能被系统截获」。远程桌面和虚拟机有两套操作系统叠在同一键盘上,保留表会冲突,这不是应用该用全局热键去抢的理由。辅助技术的修饰键相当于又一张保留表。
怎么落地
- 列出目标操作系统的窗口管理与系统服务和弦,默认绑定全部避让;菜单上不要写一记系统会吃掉的键。
- 不要用全局热键在自己不是前台时去抢切应用、截屏、显示桌面这类键。
- 验证:在应用前台按下切应用、强制退出、截屏、显示桌面。每一次都应该还是系统行为。再打开菜单,任何标注成这些和弦的应用命令都是错误绑定。