I'd much rather let someone else handle the headache of writing JNI code.
Here's the thing: this mouse input issue is the one thing that might discourage me from using Java for my game.
So JInput is wonderful. It does everything I need as far as user input goes except that it doesn't allow you to unplug the cursor from the mouse.
I've tried LWJGL for this, and it works great, but I dislike their OpenGL bindings. It is particularly obnoxious that gluUnProject wants double-scripted projection arrays (where OpenGL uses single-scripted arrays as a rule) whereas glGetDouble gives you a DoubleBuffer. So if I went with LWJGL, I'd need a way to use JOGL in place of LWJGL's own GL.
I've had good experiences with Simple DirectMedia Layer in C, and I know that there is a project to bind SDL to Java (
http://sdljava.sourceforge.net/). Unfortunatley, sdljava is incomplete and still missing most of OpenGL.
And I'm not satisfied with my little native library.
So what's a poor Java programmer like me supposed to do?