在ActionScript 3中检测键盘布局(QWERTY,Colemak等)

时间:2013-09-12 12:37:09

标签: actionscript-3 flash keyboard keyboard-layout

我正在AS3中开发一款游戏,并且如果玩家的键盘是QWERTY,则设置游戏将绑定绑定到WASD,如果是Colemak,则设置WARS等等。这是否可行,如果可行,那么有什么方法可以我可以实现这个吗?

2 个答案:

答案 0 :(得分:1)

这是一个非常讨厌的解决方案我只是想通过阅读这个,所以我真的不知道它是否运作良好...但你可以创建一个隐藏TextField,你设置焦点{{1} 1}}这样无论用户输入什么类型。然后,您可以为已释放的按钮设置keyboardEvent侦听器,该按钮从TextField获取值并重置文本字段文本。

答案 1 :(得分:0)

无法在AS3中检测键盘布局。

您可以做的是检查flash.system.Capabilities.language属性并根据语言代码预先选择可能的键盘布局。它显然不可靠,因此您需要让用户能够更改设置。

例如,法语很可能意味着用户位于世界上的法语区域。但是,虽然法国/比利时/卢森堡通常使用AZERTY,但瑞士法语很可能意味着QWERTZ布局(来源:http://en.wikipedia.org/wiki/QWERTZ)。

因此,稍微好一点的方法是检测国家而不是语言设置。但是使用纯AS3无法进行国家/地区检测,您需要调用服务器端脚本(后者又使用IP地址查找来确定国家/地区)。

不确定是否值得所有这些麻烦,我只是默认为QWERTY,因为它是最常见的。