reset in itself shouldn't do any harm. I am not familiar with jpct. Does it use the Display or AWTGLCanvas ?
I had a bit deeper dig in to this. Jpct seems to have nothing to do with it. It uses Display, it successfully creates display. Also when it creates display it creates controls, and creates keyboard. But when I check with Keyboard.isCreated() it returns false, so I have to create it again. Should that really be happening?
Than it creates keyboard successfully again and gets some linux implementation of it. Now because it works on my other Linux box I got a feeling that it gets the wrong implementation of keyboard for that hardware, tries to use it to read the events from keyboard and fails, well rather read buffer remains empty so I poll nothing and throws no exception.
All of the info I got from debugger in eclipse. I tried pulling just Keyboard out in to my source but had limited success and didn't want to drag all of the lwjgl code out, understand it and compile it.