人气 376

[GUI] 浅谈键盘布局与游戏 UI 设计(上) [复制链接]

九艺网 2020-4-26 19:46:16

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
101058wbalzb3yy8pdpebi.jpg

看直播的时候,你有没有发现过主播把技能设置在A键上?

总目录

•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总结

1 问题

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

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

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

2分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

•英语(美国)/美国键盘

•中文(中国)/搜狗拼音

•中文(中国)/微软拼音

•中文(台湾)/微软注音

•土耳其语(土耳其)/Q-键盘

•土耳其语(土耳其)/F-键盘

•法语(法国)/法国键盘

•意大利语(意大利)/意大利键盘

•法语(加拿大)/加拿大多语种标准键盘

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

101110ad67zx9qee6scqee.jpg
假如系统里有这九种键盘和输入法

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

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

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

101111zrkzadk0hcwhpu0z.gif
Alt+Shift切换语言

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

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

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

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

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

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

在这种情况下,1键下方、Tab键右边那个键是F键,所以《守望先锋》会很聪明地显示F:

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

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

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

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

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

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

3物理布局

3.1键盘上究竟有多少键

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

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

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

101112x9zpphjfhk8jpfsw.jpg
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美国键盘,其标准形象是这样的:

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

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

101113jvr8re18av9y9q45.jpg
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-键键盘这样不精确的说法。

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

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

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

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

作者:认真的吉吉
来源:奶牛关
原地址:https://cowlevel.net/article/1964704
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-4-25 15:29 , Processed in 0.120624 second(s), 27 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.