自从 macOS 引入安全输入机制依赖,中文输入法就没安稳过,你随便登一个网站,甚至只是不小心点到了浏览器里的一个输入框,原本好端端的中文输入法就会被强制切换成英文,并且在密码输入完成后,只能手动切回去——此时有大约有一半的概率,原生切换快捷键还会装死。
在 Apple 生态中,你不得不承认,很多糟糕的设计就像自然灾害一样无法避免。如果你住在东南沿海,你不可能完全逃过台风,你能做的只是在灾后尽快恢复日常。macOS 的安全输入机制也是如此,我曾就此写过《如何在输入密码后尽快恢复中文输入法(macOS)》一文。但在某个版本的 Microsoft Word 更新后,我发现不仅是浏览器,竟然在正常保存文件时,也有大概率会触发英文输入法。
原本的灾后恢复措施已经力不从心。我不得不放弃“切换”思维,转向“恢复”,即设计一套方案,不过问当前情况如何,强行把输入法掰正,扳回中文。
这一思路取自 Vim 等古老的编辑器。在较早的文本编辑器中,通常会区分不同的模式,有些模式下只能输入文本,另一些模式下则有特殊操作,我们且不过问这种设计有何意义——显然对一大批进阶用户有意义,Vim 至今是他们的首选——至少我们会提出一个问题:模式那么多,能不能设计一个快捷键,让我一键回到默认模式,就像 Home 键一样?当然可以,在 Vim 中,狂按 ⎋Esc 键就能回到默认模式。
这种兜底式的交互设计启发了本文。既然输入法状态根本无从预测,安全输入模式又很难检测,那我何不无视当前状况,只需设计一个输入法的 Home 键,快速返回最常用的中文输入法?显然,你用的输入法或输入方案越多——比如,同时使用好几个语种——这种兜底交互就越是强于常规输入法切换。
剩下的工作就是确定交互方式。你
