如何找出我的ruby应用程序的用户使用的键盘布局? 我的目标是建立一个游戏,你可以在地图上移动玩家。要往前退一步,然后再按一步,在德语键盘上按“Y”。在美式键盘上,按“Z”键。我们针对windows和mac优化了游戏,所以我想为两个平台提供解决方案(我们不使用任何命令/ shift / control-keys)。
答案 0 :(得分:2)
对于Windows,您可能必须使用Windows API GetKeyboardLayout(),除非Ruby提供了包装器。
有很多useful I18n resources for Windows on the MSDN web site。
如果您没有良好的可移植方式来检测它,可能更容易让它们自己配置为首选项。
答案 1 :(得分:1)
我认为允许用户自己定义密钥会更容易和自然。
答案 2 :(得分:0)
正如亚历山大所建议的那样,让用户自己定义密钥。
但是,如果你真的想要识别布局,你总是可以要求用户在某些位置按键,特别是某些布局。
“按下返回键左侧的第二个键。如果您的返回键是两行高,请按下一行”“
[按ä
]
“看起来你有一个斯堪的纳维亚键盘”
然而,这是一个可怕的淤泥,并且,在游戏环境中,会推荐自定义键盘映射方法