撰写了文章 更新于 2021-04-16 23:27:16
浅谈键盘布局与游戏 UI 设计(中)
目录
- 1 问题
- 2 分析
- 3 物理布局
- 3.1 键盘上究竟有多少键
- 3.2 Windows 新三键
- 3.3 其它造型的 ANSI / ISO 键盘
- 3.4 韩国键盘
- 3.5 日本键盘
- 3.6 巴西键盘
- 3.7 不同键数键盘的兼容性问题
- 4 游戏 UI 设计
- 4.1 目标
- 4.2 实现
- 5 总结
3.3 其它造型的 ANSI / ISO 键盘
咱们前面说过,ANSI 键盘的标准造型是一个占据单行的回车键,回车键上方有一个独占按键(USB 标准中编码为 0x31)。而 ISO 键盘的标准造型是一个占据两行,呈「倒 L」形状的回车键,回车键左下和左 Shift 键的右边各有一个独占按键(USB 标准中编码为 0x32、0x64)。
在标准造型中,ANSI 回车键占据一行,ISO 回车键占据两行
那么,是不是市面上所有的 101/104-键键盘都采用左边这样的造型,同时所有的 102/105-键键盘都采用右边这样的造型呢?即使排除了笔记本键盘、平板电脑键盘、便携式键盘等不得不压缩空间的情况,答案也是否定的。
在电脑刚刚开始流行,很多人接触到的第一个键盘还是小霸王学习机的年代,曾经流行过另一种造型。这种造型的特点是,回车键呈「⏎」形状:
这种回车键呈「⏎」形状的键盘,曾经在中国非常流行。当年,五笔字型也很流行
这种回车键呈「⏎」形状的键盘,曾经在中国非常流行。当年,五笔字型也很流行,所以一些小霸王学习机的键盘上还印着五笔字根。当然,小霸王学习机也不会有什么 Windows 新三键,所以当年 Ctrl 键和 Alt 键中间还是空空的。各位读者可以自己脑补一下这种键盘有 Windows 新三键的样子。
从三星官网可以看到,韩国仍然在广泛使用这种造型的键盘
现在,与中国的键盘已经基本完全 ANSI 化不同,韩国仍然在广泛使用这种造型的键盘,我们可以从三星官网看到这一现象。由于这种键盘曾经被中国人大量使用和生产,如今依然活跃在韩国,因此这种造型也被西方人称作 Asian 101。
Asian 101 还有一种小改版,是把退格键恢复成了两格宽,但是缩短了右 Shift 键:
退格键恢复成了两格宽,只好缩短右 Shift 键,把「反斜杠、竖线」键放到 Shift 旁边了
这种造型的键盘现在更少见了,而且因为「反斜杠、竖线」键离其它键太远,用起来并不方便,所以笔者非常不推荐。不过笔者家里买的第一台 PC 就是这样的键盘(不过没有 Windows 新三键),所以笔者对它还是有那么一点特殊的情怀的。
上面这两种「⏎」形回车键的键盘造型现在其实都不常见。国内最常见的非 ANSI 造型 101/104-键键盘反而是 ISO 键盘那种回车的 ISO 101/104-键键盘:
这种带 ISO「倒 L」形回车键的造型,在双飞燕等低端品牌上依然可以看到
这种带 ISO「倒 L」形回车键的造型,在双飞燕等低端品牌的廉价产品上依然可以看到。由于二三十元的双飞燕键盘曾经充斥了我国大街小巷的网吧,也间接让这种键盘造型成为了「最常见的非主流」。
时至今日,我们依然可以在双飞燕官网看到大量这种造型的新型号全高薄膜键盘。不过,有趣的是,双飞燕的孤岛式键盘和机械键盘反倒都是 ANSI 标准造型的回车键。那么,他们对全高薄膜键盘采用 ISO「倒 L」形回车键的坚持,笔者也只能理解为节约成本,重复利用模具……
至于 102/105-键键盘造型方面的花样,笔者确实知之甚少。可能是因为咱们平常接触的键盘以 ANSI 为主,笔者见过的非标准造型 102/105-键键盘多以为 ANSI 键盘惯用者提供最大舒适度为目标,所以基本上就是琢磨怎么在 ANSI 键盘上刨个坑儿把 0x64 键挤进去。比如说有特别朴素的:
特别朴素,就是给 ANSI 键盘在 0x64 键的位置上硬加了一个键
也有有点想法的:
有点想法,干掉了本来就用得不多的右 Win 键
不过,笔者认为,Alt Gr 键本身也是常用键,为了将功能键凑在一起而特地改动 Alt Gr 键的位置未必是件好事。也许改成下面这样会更好:
也许这样会对已经习惯 Alt Gr 位置的用户更加友好
此外,在没有 Windows 新三键的时代,还有一种设计是这样的:
这种设计无法和 Win 键、Menu 键并存,也就无法存在下去了
然而,在新时代,这种设计无法和 Win 键、Menu 键并存,也就无法存在下去了。
3.4 韩国键盘
Windows 10 标准的韩国键盘和前面三星官网的键盘布局是一样的:
韩国键盘相对于 ANSI 美国键盘多了「한/영」和「한자」两个键
韩国键盘相对于 ANSI 美国键盘多了「한/영」和「한자」两个键,这两个键在 USB 标准中编码分别为 0x90 和 0x91。因此,韩国键盘也被称为 103/106-键键盘。
「한/영」(韩英切换)的作用和中文输入法的 Shift 键是一样的,用于在两种输入模式之间临时切换,而无需切换当前键盘/输入法。韩国键盘中,有 7 个朝鲜字母(ㅃㅉㄸㄲㅆㅒㅖ)是需要按 Shift 键输入的,因此 Shift 键不宜作为韩英切换键使用。于是,韩国键盘单独搞了个「한/영」键。
「한자」(汉字转换)功能约等于中文输入法的空格键。但是与中文不同,朝鲜文字本身就是表音文字,正常录入时可一个字母一个字母输入,并用空格键分词,因此空格键不能作为汉字转换键使用。于是,韩国键盘又单独搞了个「한자」键。
韩国键盘也被称为 103/106-键键盘
对于非韩国键盘的使用者,可以将告诉微软韩语输入法自己使用的键盘是 101-键键盘,即可使用其它键作为「韩英切换」和「汉字转换」键。其中最常用的是 Type 1,使用右 Alt 键作为韩英切换键,右 Ctrl 键作为汉字转换键。
包括 102/105-键键盘用户在内,任何非韩国键盘使用者,都请选择 101-键键盘。因为你的键盘相对于 101-键键盘多出的那些键,在输入韩语的时候是完全用不到的。
有趣的是,这里 101-键键盘并不叫英语键盘,而依然叫韩语键盘,这是因为韩国也有卖印着韩语的标准 ANSI 键盘的,而且就是 Type 1 那样右 Alt「韩英切换」、右 Ctrl「汉字转换」。因为这种键盘(完全基于 ANSI 所以)并不会有 102-键版本,所以可能这就是选项里只写 101 不写 102 的原因。
韩国也有卖标准 ANSI 布局键盘的,右 Alt 键作为韩英切换键,右 Ctrl 键作为汉字转换
「反斜杠」在韩国键盘上显示为「₩」是有历史原因的,这个键实际上输入的还是反斜杠。有趣的是,上图中这个在韩国销售的 ANSI 键盘,在键帽上印刷的也是 ANSI 标准的反斜杠。真正的「₩」要怎么用 Windows 的微软韩语输入法输入?笔者也不清楚。
3.5 日本键盘
JIS X 6002:1980(原名 JIS C 6233)是现行日本键盘所遵循的标准。参考:http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/publications/ISCIE2003.pdf
JIS X 6002:1980(原名 JIS C 6233)
不过,在笔者看来,这张图可能有点小问题。实际上,Windows 和 macOS 里的日语输入法,在假名输入模式下,Shift + [ね] 输入的是日语逗号「、」而不是中文逗号「,」,不知道为什么跟这个图不一样。实际的 Windows 微软日语输入法的键盘布局是这样的:
Windows 日语键盘的「ろ」键可以输入反斜杠
Windows 日本键盘与 JIS 标准的另一个区别是,Windows 日本键盘的「ろ」键可以输入反斜杠,而这是 JIS 标准里所没有的。
日本键盘相对于 ANSI 美国键盘多了「ろ」「カタカナ・ひらがな・ローマ字」「ー」「変換」「無変換」五个键,这五个键在 USB 标准中编码分别为 0x87、0x88、0x89、0x8A 和 0x8B。
有一点要补充的是,上面这种日本键盘布局是在 Windows 微软日语输入法里将键盘布局设置为日语键盘之后才启用的。当使用罗马字输入模式时,键盘中的英语字母和符号(每个键的左半边)有效;当使用假名输入模式时,键盘中的假名和符号(每个键的右半边)有效。
微软日语输入法可以设置使用日语键盘(106/109-键)还是英语键盘(101/102-键)
微软日语输入法可以设置使用日语键盘(106/109-键)还是英语键盘(101/102-键)。不过,这里和微软韩语输入法类似,犯了不严谨的问题,即用 101 指代 101/104 键盘,用 102 指代 102/105 键盘。不过,正如前面所说,这样的简略并不会造成歧义,所以也不是什么问题。
在设置为使用英语键盘时,由于英语键盘没有那五个键,「抑音符、波浪线」键承担起在假名模式下输入「ろ」的功能,而 Shift + [-] 则担起输入「ー」的功能。其它功能则分摊到 Ctrl + Caps Lock、Alt + Caps Lock、Shift + Caps Lock 以及 F6 到 F10 上,保证基本功能的正常使用。
键盘上印的、候选框显示的好像是「¥」,但其实是反斜杠。真正的「¥」反而显示环境依存
「反斜杠」在日本键盘上显示为「¥」是有历史原因的。别看键盘上印的、候选框里显示的好像是「¥」,但其实只要选那个最朴素的半角日元符号,最后输入的还是反斜杠。真正对应 Unicode 里日元符号的「¥」,反而被输入法显示为环境依存字符。
3.6 巴西键盘
巴西键盘现行的标准为 ABNT2,这个名字表示这是 Associação Brasileira de Normas Técnicas(巴西技术标准协会)的第二套键盘标准。ABNT 和 ABNT2 在物理布局上没有区别,区别仅仅在于 ABNT2 多用 Alt Gr 键支持了若干字符,是 ABNT 的强化版,并完全兼容 ABNT。
巴西键盘相对于 ISO 键盘多了两个键。一个在小键盘区,另一个在右 Shift 键的左边
巴西键盘相对于 102/105-键键盘多了两个键。一个在小键盘区,平常的「+」键变为两个键,「+」下面就是这个新挤进去的「数字分隔符」键;另一个在右 Shift 键的左边,位置同日本键盘的「ろ」键。这两个键在 USB 标准中编码分别 0x85 和 0x87。因此,巴西键盘也被称为 104/107-键键盘。
巴西键盘是笔者所知范围内,唯一在小键盘区动手脚的物理键盘布局。如有缺漏,欢迎指正。