β

浅谈键盘布局与游戏 UI 设计(上)

总目录

  1. 问题
  2. 分析
  3. 物理布局
    1. 键盘上究竟有多少键
    2. Windows 新三键
    3. 其它造型的 ANSI / ISO 键盘
    4. 韩国键盘
    5. 日本键盘
    6. 巴西键盘
    7. 不同键数键盘的兼容性问题
  4. 游戏 UI 设计
    1. 目标
    2. 实现
  5. 总结

1 问题

经常看笔者直播的朋友,可能会注意到,有的时候笔者玩《守望先锋》时,屏幕上显示终极技能的按键不是通常的 Q,而是 A。就像这样:

有时,屏幕上显示终极技能的按键不是通常的 Q,而是 A

有时,屏幕上显示终极技能的按键不是通常的 Q,而是 A

但是实际上,这个时候笔者还是按键盘上的 WASD 来移动,按键盘上的 Q 来释放终极技能,一切都很正常。所以,这个 A 到底是什么意思呢?

2 分析

笔者在《RPi 2B 实战 PCD8544×黑白屏 (5)》里提到过,树莓派作为英国电子产品,其默认键盘布局为英国键盘,而非美国键盘。对于习惯美国键盘的我们来说,直接用英国键盘布局操作会有诸多不便。因为虽然二者字母的位置是一样的,但是很多符号的位置都不一样,影响命令行操作。

这个区别有多大呢?咱们先上一张 Windows 下美国键盘布局的标准图复习一下:

Windows 美国键盘布局。黑色表示功能键,灰色表示普通键

Windows 美国键盘布局。黑色表示功能键,灰色表示普通键

然后,咱们再上一张 Windows 下英国键盘布局的标准图看一下:

Windows 英国键盘布局。黑色表示功能键,灰色表示普通键,黄色表示 Alternative Graph

Windows 英国键盘布局。黑色表示功能键,灰色表示普通键,黄色表示 Alternative Graph

我们可以看到,两者相比,字母的排列是一样的。这种前六个字母为 QWERTY 的字母排列也叫 QWERTY 布局。但是符号的位置确实不太一样。尤其是 @、双引号、波浪线、井号、竖线和反斜杠的位置不一样了,这些变动会切实影响命令行操作的效率。

此外,美国键盘布局中回车键上方的「反斜杠、竖线」键在英国键盘布局不见了。同时,英国键盘布局则多出了回车键左边的「井号、波浪线」键和左 Shift 键右边的「反斜杠、竖线」键。这样的变化同时影响了回车键的形状。在 USB 标准中,这三个键分别有不同的编码,是不同的按键。

美国键盘布局有一个独占按键,英国键盘布局有两个独占按键,总体来看英国键盘多一个键

美国键盘布局有一个独占按键,英国键盘布局有两个独占按键,总体来看英国键盘多一个键

因此,美国键盘布局和英国键盘布局相对各自而言,美国键盘布局有一个独占按键,英国键盘布局有两个独占按键,总体来看,英国键盘布局多一个键。由于从硬件上发给操作系统的编码就有根本的不同,这两种键盘布局分属两个物理布局大类:ANSI 和 ISO。还有其它物理布局,暂且不展开。

除了硬件布局,键盘布局之间还有软件上的不同。例如 1 键左边、Tab 键上方那个键,虽然键盘发给操作系统的编码是一样的,但是操作系统当前键盘布局设置为美国键盘时,这个键就是「抑音符、波浪线」,设置为英国键盘时,这个键就是「抑音符、否定号、断开的竖线」键。

想到还有软件上的不同,这个问题就简单了。这个现象的本质其实是《守望先锋》在交互 UI 上,多做了一点心思。当我们当前设置的输入法为美国键盘或英国键盘等 QWERTY 布局的键盘布局时,1 键下方、Tab 键右边那个键是 Q 键,所以就显示 Q:

在美国键盘或英国键盘等 QWERTY 布局下,该按键上的字母为 Q

在美国键盘或英国键盘等 QWERTY 布局下,该按键上的字母为 Q

但是在法国以及一些以法语为官方语言的国家,其标准键盘布局不是基于 QWERTY 布局,而是基于 AZERTY 布局。例如,Windows 下的法国键盘布局是这样的:

Windows 法国键盘布局。黄色和橙色表示 Alternative Graph,橙色和红色表示 Dead Key

Windows 法国键盘布局。黄色和橙色表示 Alternative Graph,橙色和红色表示 Dead Key

我们可以看到,在这个键盘上,相当于美国键盘的 WASD 的四个键是 ZQSD,而原本我们设置为释放终极技能的 Q 键,在这个键盘上写着的是 A。

知道了这些,问题也就迎刃而解了。没错,就是因为笔者在 Windows 的语言设置里添加了法国键盘布局,而游戏过程中又不小心切到了法国键盘布局导致的。笔者在 YouTube 上随便找了个法国主播,他的游戏界面里释放终极技能也是显示的 A:

法国主播 AlphaReplay 的释放终极技能按键也是 A

法国主播 AlphaReplay 的释放终极技能按键也是 A

那么,为什么笔者会在游戏中不小心切换到法国键盘布局呢?这是因为 Windows 10 切换键盘/输入法的快捷键与游戏本身的功能键有重合,所以容易按错。为了说明系统快捷键的作用,咱们举个例子,假设系统里有:

九种键盘和输入法,如下图:

假如系统里有这九种键盘和输入法

假如系统里有这九种键盘和输入法

则 Windows 10 的三组切换键盘和输入法的快捷键的作用分别为:

Ctrl + Shift 切换同语言的不同键盘/输入法

Ctrl + Shift 切换同语言的不同键盘/输入法

1、Ctrl + Shift 切换同语言的不同键盘/输入法。例如,按下 Ctrl + Shift 可在同属「中文(中国)」语言的「搜狗拼音」和「微软拼音」之间切换,也可在同属「土耳其语(土耳其)」的「Q-键盘」和「F-键盘」之间切换,但不会切换到其它的「美国键盘」「法国键盘」等。

Alt + Shift 切换语言

Alt + Shift 切换语言

2、Alt + Shift 切换语言。不管当前键盘是「搜狗拼音」还是「微软拼音」,按下 Alt + Shift 都会切换到下一语言的首个键盘/输入法「微软注音」,再按会切换到「Q-键盘」,再按会切换到「法国键盘」。从「美国键盘」开始按 Alt + Shift,则会切换到「搜狗拼音」。

Win + Space 和 Win + Shift + Space 循环切换全部键盘/输入法

Win + Space 和 Win + Shift + Space 循环切换全部键盘/输入法

3、Win + Space 和 Win + Shift + Space 分别按顺序正向和逆向循环切换全部键盘/输入法。例如,若当前语言为「美国键盘」,则按下 Win + Space 会切换到「搜狗拼音」,再按会切换到「微软拼音」,再按会切换到「微软注音」,以此类推。从「美国键盘」开始按 Win + Shift + Space 则会切换到「加拿大多语种标准键盘」,再按会切换到「意大利键盘」,以此类推。

至于游戏中为什么会误按,那就更好理解了。《守望先锋》默认键位中,Shift 是用来释放技能的,Ctrl 是用来下蹲的,本身就都是常用按键。笔者又自行在 Alt 键上设置了切换武器(天使、托比昂等人用的)键,所以就很容易误按。切换到法国键盘,自然就显示 A 为释放终极技能的按键了。

至于标题图中以 F 为释放终极技能的按键,那是因为切换到了土耳其语(土耳其)的 F-键盘:

Windows 土耳其 F-键盘。黄色和橙色表示 Alternative Graph,橙色和红色表示 Dead Key

Windows 土耳其 F-键盘。黄色和橙色表示 Alternative Graph,橙色和红色表示 Dead Key

在这种情况下,1 键下方、Tab 键右边那个键是 F 键,所以《守望先锋》会很聪明地显示 F: 在土耳其 F-键盘布局下,该按键上的字母为 F

在土耳其 F-键盘布局下,该按键上的字母为 F

虽然本文开头的问题得到了答案,但是我们还可以再想得远一点。

除了 ANSI 和 ISO,还有没有其它的物理键盘布局?

我们怎么区分、称呼这些物理键盘布局?

在游戏中,我们怎样实现显示正确的按键?

如果您对以上问题感兴趣,咱们接着往下看。

3 物理布局

3.1 键盘上究竟有多少键

用电脑时间比较长的老用户可能经常听到两个词,就是 101-键键盘和 102-键键盘,那这个 101-键,就是指标准的 ANSI 键盘有 101 个键:

ANSI 101 键盘:打字机区 58 键、功能键区 13 键、指令导航区 13 键,小键盘区 17 键

ANSI 101 键盘:打字机区 58 键、功能键区 13 键、指令导航区 13 键,小键盘区 17 键

而 102-键,就是指标准的 ISO 键盘有 102 个键:

ISO 102 键盘:打字机区 59 键、功能键区 13 键、指令导航区 13 键,小键盘区 17 键

ISO 102 键盘:打字机区 59 键、功能键区 13 键、指令导航区 13 键,小键盘区 17 键

可以看到,这两种键盘在物理键盘布局方面的差异都在打字机区,而功能键区、指令导航区、小键盘区完全一致。这也是笔者前文法国键盘、土耳其 F-键盘等键盘布局的图都只展示打字机区的按键的原因。

虽然绝大部分物理键盘布局的差异都只发生在打字机区,但是,也有巴西 ABNT 和 ABNT2 这样在小键盘区也动了手脚的布局。遇到这种情况时,笔者会特别说明。

3.2 Windows 新三键

不过,实际上,上面这种 101-键、102-键键盘已经很少见了。因为 Windows 95 面世时,微软就开始推广自己的新标准。与传统的 PC 键盘相比,新的 Windows 键盘多了三个按键(下称 Windows 新三键):左 Win 键、右 Win 键和 Menu 键。这三颗按键挤在键盘两侧的 Ctrl 键和 Alt 键之间。

由于后来鼠标和触控操作的飞速发展远远超出微软的预料,所以 Menu 键现在基本上没用了,但 Win 键依然活跃。在所有地区给 Windows 电脑用的键盘上,你都能看到以各种方式挤在键盘上的 Win 键,以及可能看得到也可能看不到的 Menu 键。

所以,上文大部分的键盘布局配图也都是包含 Windows 新三键的。咱们平常使用的带有 Windows 新三键的 ANSI 104 美国键盘,其标准形象是这样的:

ANSI 104 键盘:打字机区 61 键、功能键区 13 键、指令导航区 13 键,小键盘区 17 键

ANSI 104 键盘:打字机区 61 键、功能键区 13 键、指令导航区 13 键,小键盘区 17 键

可以看到,在标准尺寸的 ANSI 104 键盘中,原有的 Ctrl 键、Alt 键以及 Space 键的尺寸都做了压缩,才放下了 Windows 新三键。同理,ISO 102 键盘加入新三键之后,就有了 ISO 105 键盘:

ISO 105 键盘:打字机区 62 键、功能键区 13 键、指令导航区 13 键,小键盘区 17 键

ISO 105 键盘:打字机区 62 键、功能键区 13 键、指令导航区 13 键,小键盘区 17 键

与 ANSI 104 类似,标准尺寸的 ISO 105 键盘也在压缩原有的 Ctrl 键、Alt 键以及 Space 键尺寸的前提下,才放得下 Windows 新三键。

总之,Windows 新三键的出现,使得现在标准尺寸的 ANSI 和 ISO 的 Windows 键盘分别是 104 个键和 105 个键。这使得 101-键键盘和 102-键键盘也被称为 101/104-键键盘和 102/105-键键盘。但同时,由于习惯的力量,很多地方我们仍然能看到 101-键键盘或者 102-键键盘这样不精确的说法。

在 Windows 10 微软韩语输入法中,物理键盘布局的设置选项有 101 和 103/106 两大类

在 Windows 10 微软韩语输入法中,物理键盘布局的设置选项有 101 和 103/106 两大类

不过,将 101/104-键键盘单单称作 101-键键盘还算是安全的,反而如果单单称作 104-键键盘是不妥当的。巴西 ABNT 和 ABNT2 物理键盘布局的按键就是 104/107 个,因此如果将 101/104-键键盘单单称作 104-键键盘,是有可能和巴西键盘布局混淆的。这里的 103/106-键键盘,是指韩国键盘。

细心的读者可能要问了,为什么 Windows 10 微软韩语输入法没有 102-键的选项呢?我如果用着 102-键键盘,应该怎么选呢?这就涉及到一个 101-键键盘与 102-键键盘之间的兼容性问题。

关于韩国键盘、巴西键盘以及不同键数键盘之间的兼容性问题,我们下文再详谈。

作者:indienova 独立游戏新闻,评测,开发教学
你的独立游戏第一站
原文地址:浅谈键盘布局与游戏 UI 设计(上), 感谢原作者分享。

发表评论