Hello,
I'd like to take your attention to a little bug. jME's InputHandler class has an error. When i was trying to register a Keyboard Idle event with my custom inputhandler class, i've got an exception for InputHandler.BUTTON_NONE. The exception spreaded down to LWJGL's Keyboard system. Looked something like this:
ava.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkIndex(Unknown Source)
at java.nio.DirectByteBuffer.get(Unknown Source)
at org.lwjgl.input.Keyboard.isKeyDown(Keyboard.java:399)
at com.jme.input.lwjgl.LWJGLKeyInput.isKeyDown(LWJGLKeyInput.java:73)
at com.jme.input.KeyBindingManager.isValidCommand(KeyBindingManager.java:183)
at com.jme.input.ActionTrigger$CommandTrigger.performAction(ActionTrigger.java:285)
at com.jme.input.InputHandler.processTriggers(InputHandler.java:420)
at com.jme.input.InputHandler.update(InputHandler.java:405)
at main.State.update(State.java:197)
at com.jmex.game.state.GameStateNode.update(GameStateNode.java:71)
at com.jmex.game.StandardGame.update(StandardGame.java:323)
at com.jmex.game.StandardGame.run(StandardGame.java:198)
at java.lang.Thread.run(Unknown Source)
I took my chances and tracked down this filthy little bug. I went to KeybindingManager, InputHandler, ActionTrigger and so on, with no luck. Then I went to take a look at lwjgl's documentation. The "no-key" value for their Keyboard system is 0, InputHandler's no-key is -1. I switched BUTTON_NONE to 0 and that corrected the problem. Some dev might take a look at it too.