如何找出我的ruby应用程序的用户使用的键盘布局? 我的目标是建立一个游戏,你可以在地图上移动玩家。要往前退一步,然后再按一步,按“Y”键。在德国键盘上。在美式键盘上,您可以按“Z”。我们针对windows和mac优化了游戏,所以我想为两个平台提供解决方案(我们不使用任何命令/ shift / control-keys)。

有帮助吗?

解决方案

正如亚历山大所建议的那样,让用户自己定义密钥。

但是,如果你真的想要识别布局,你总是可以要求用户在某些位置按键,特别是某些布局。

"按返回键左侧的第二个键。如果您的返回键是两行高,请按下面的一行“点击 [按ä ]
“看起来你有一个斯堪的纳维亚键盘”

然而,这是一个可怕的淤泥,并且,在游戏环境中,会推荐自定义键盘映射方法

其他提示

对于Windows,您可能必须使用 Windows API GetKeyboardLayout(),除非Ruby为其提供包装。

在MSDN网站上有很多适用于Windows的有用的I18n资源

如果您没有良好的可移植方式来检测它,可能更容易让它们自己配置为首选项。

我认为允许用户自己定义密钥会更容易和自然。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top