我正在制作一个简单的游戏,我想用数字键盘(包括NumLock键)来控制它。玩家应该能够同时按下几个键,或者按住任意键。
按下NumLock键后,我必须通过Toolkit.getDefaultToolkit().setLockingKeyState(KeyEvent.VK_NUM_LOCK, Boolean.TRUE)
重新启用NumLock,以便VK_NUMPADx
键不会停止响应按键。
这种方法的问题是setLockingKeyState
似乎模仿VK_NUM_LOCK
按下。因此keyPressed
和keyReleased
一次被调用一次用于用户输入,一次被打开NumLock(如果需要)。当您按住NumLock时,它会持续打开和关闭。
如何避免这种行为并使NumLock像其他任何键一样工作?