如何判断按下了哪个 SHIFT 键?

2022-01-13 00:00:00 keyboard java

在我的游戏中,我希望能够使用左右 shift 键来执行不同的功能.在 Java(或其他语言)中,有什么方法可以区分这两者吗?

In my game, I want to be able to use the right and left shift keys for different functions. In Java (or another language), is there any way to distinguish between those two?

KeyEvent类只有VK_SHIFT,对应左右shift键.与 ControlAltEnter 等相同.

The KeyEvent class has only VK_SHIFT, which corresponds to both left and right shift keys. Same with Control, Alt, Enter, etc.

我主要担心有人可能会用两根手指同时快速按下两个键,从而获得不公平的优势.我应该担心这个吗?

My primary concern is someone may be able to use two fingers to rapidly press both keys at the same time, gaining an unfair advantage. Should I be concerned about this?

推荐答案

我找到了一个包含 Java WebStart 示例和源代码的 Java 教程.看起来获胜者是 KeyEvent.getKeyLocation()

I found a Java tutorial that includes a Java WebStart sample and the source code. Looks like the winner is KeyEvent.getKeyLocation()

  • KeyEvent.KEY_LOCATION_STANDARD
  • KeyEvent.KEY_LOCATION_LEFT
  • KeyEvent.KEY_LOCATION_RIGHT
  • KeyEvent.KEY_LOCATION_NUMPAD
  • KeyEvent.KEY_LOCATION_UNKNOWN

参考资料:

关键监听器演示和源代码

相关文章