我希望这个问题还没有被问到,但是我一直在寻找解决问题的方法,但没有发现任何对我有帮助的问题.
我正在编写一个Java应用程序,用户可以在其中通过键盘来控制该应用程序.问题是,我需要许多不同的输入键.因此,我还必须使用特殊的char键.但是我的问题是,我无法为每个键盘再次编写整个代码.
所以我的问题是,有没有一种方法可以确定给定键在键盘上的位置.如果有人会知道怎么做,那将是非常好的.
提前致谢,
狮子座
解决方法:
键盘仅将键控代码发送到基础堆栈.操作系统和软件将决定如何使用它.现在,也许硬件确实有一个依赖于位置的简单代码,并且正在进行一些翻译,以将其转变为适用于应用程序的关键代码.我认为肯定是这种情况,因为可以从OS中选择布局.但这似乎不像您需要使用JNI那样在Java中可以访问的低级内容.
从KeyListener开始,您可以捕获KeyEvents.我建议您研究该类的文档,字段和方法,也许可以制作一个小型的测试应用程序来捕获此类事件并打印出各种方法的结果.也许您可以找到一些共同点.
如果没有直接的方法,也许最好是采用某种转换表方案来标准化Qwerty和Azerty等最常见布局的输入.对于大多数用户而言,这应该可以做到这一点,并且由于您希望依靠绝对定位,因此需要一小部分布局似乎并不是不能接受的.用户可以在OS中更改布局.
如果您碰巧正在玩游戏,则可以创建some huge control deck that people will be forced to buy to get the best experience.额外的钱! :D