标点符号键位随语言布局移动,同一物理键在不同布局下输出不同字符
别名: 标点键位 · AZERTY 标点 · 扫描码与字符
概念解释
字母键的大致网格在许多拉丁布局里看起来相近,标点却不跟着走。美式 QWERTY 上数字行的 Shift 产出 !@#$%,德国 QWERTZ 把 ß、ü 和括号安排到另一组位置,法国 AZERTY 常把数字本身变成 Shift 层才能打出,分号、引号、斜线也各迁一格。同一颗物理键发出的是扫描码;字符是布局表查出来的。用户按“右手小指那颗键打引号”建立的记忆,换地区布局就会打出别的符号。
机制
操作系统把硬件扫描码翻译成字符,翻译表按输入源切换。标点比字母更受正字法约束:法语需要带音调字母和 «»,德语需要变元音,西班牙语需要倒置问号,于是这些字符挤占数字行、右侧符号区或 AltGr 层。结果是:字母区尚能“看着差不多”,符号区则几乎不能跨布局盲打。程序若把扫描码当成字符——例如把“主键盘上数字 3 左边那颗”写成写死的路径分隔符——在另一张表里会变成完全不同的记号。这与快捷键助记随字母搬家是不同的层:这里坏掉的是字面输出,哪怕应用完全没有定义快捷键。
怎么研究
给会打两套布局的人同一批包含路径、正则、货币和引号的短串,只换输入源、不换键盘。记录每类标点的注视、犹豫和替换错误。把“字符错误”和“按错邻键”分开编码。也可以做扫描码日志:同一物理键在 en、de、fr 输入源下的 Unicode 输出对照表,能直接展示迁移范围。实验室若只用英文标点材料,会系统低估地区差异。
边界
程序员和命令行用户对符号位置更敏感;纯自然语言写作中,标点种类较少,伤害会小一些。触屏键盘常按当前语言重绘整个符号页,物理键“同一颗键”的问题减弱,但桌面外接键盘仍然存在。自定义驱动可以把符号钉死在扫描码上,代价是和系统输入源打架。东亚拼音输入里,标点往往在中英标点模式之间再切一层,地区布局差异会与输入法模式叠加。
怎么落地
- 需要用户输入路径、通配符或货币符号时,提供可见的插入按钮或粘贴示例,不要只在文案里写“按某颗键”。
- 解析用户输入时按字符(
/、\、,)判断,不要按键码位置判断。 - 截图教程里的键盘高亮必须标出布局名称;同一套快捷图不要在德法市场原样投放。
- 验证:用 en、de、fr 三种输入源各打一遍产品要求的特殊字符清单,列出哪些字符从同一物理键打出、哪些必须换键或换层。