输入法状态与系统级大小写锁定状态是两套独立但常被混淆的状态
别名: Caps Lock 与输入法 · 大写锁定混淆 · 两套模式
概念解释
Caps Lock 把字母键锁在大写(对许多布局还影响 Shift 语义),输入法状态决定按键是直接出拉丁字母还是进入组字。两套状态机独立:拼音可以在 Caps Lock 开启时把字母当英文大写插入,也可以忽略 Caps 继续组字,取决于输入法实现。用户却常把它们当成一回事——看到大写字母以为切到了英文,或反过来以为 Caps 灯亮着就是中文关了。混淆发生在指示器长得像、快捷键相近、以及两者都能让“按下 A 不再出拼音候选”的时候。
机制
Caps Lock 是键盘修饰锁,通常有硬件灯;输入法是软件模式,通常是托盘图标。按 Caps 并不发送“切换输入源”的命令,切输入源也不清 Caps。于是出现合法但难解的组合:中文输入法 + Caps 开着 = 大写英文字母夹在中文段落里,或组字串变成大写拼音导致候选全空。部分输入法用 Caps 作为临时英文键,等于把两套状态故意耦合,用户一旦换到不耦合的输入法,旧习惯立刻失效。自动大写又是第三套,只影响下一击,不锁。三套同时存在时,角落里的灯和“中/英”徽章指向不同的变量。
怎么研究
给会中文输入的人设置四种组合(IME 中/英 × Caps 开/关),让他们判断“现在打下去会出什么”,再实际打 a 和一句中文。记录误判和他们看了哪些指示器。比较把 Caps 用作临时英文的输入法与完全忽略 Caps 的输入法。硬件灯被胶带遮住时误判是否上升,可以分离视觉线索。
边界
无字母大小写的文字系统里,Caps 对组字影响小,混淆主要伤害中英混排。触屏键盘往往没有 Caps 锁灯,只有 Shift 的上档,混淆形式变成“Shift 亮着 vs 地球仪是英文”。无障碍的粘滞键也会锁修饰,再叠一层。游戏把 Caps 绑成动作时,输入法侧的耦合会被游戏吃掉。
怎么落地
- 指示器把 Caps 与输入源分成两个徽章,不要用同一颗“A”既表示英文又表示大写。
- 输入法若用 Caps 当临时英文,必须在文档和徽章上写明;默认实现更宜忽略 Caps,让灯只表示大小写。
- 密码字段同时提示“大写锁定已开”和当前输入源,避免只报其中一项。
- 验证:打开中文输入法并打开 Caps,请人预测下一击,再对照实际输出;若预测把两套状态合成一个开关,就拆开指示。