I have no idea for the mouse wheel thing. It may also be related to SWT threading. But this is just a raw guess.
This bug also shows itself in JOGL_AWT.
To recreate in the test launcher (I'm using the head of Jagatoo/Xith3D):
JOGL_AWT
800x600x16x59
Fullscreen off
V-Sync on
FSAA: OFF
Mouse-Y inverted off
FirstPersonInputHandlerTest
If you scroll a lot it'll zoom a little bit. I just discovered this and plan on looking into what's different in LWJGL.
Let me preface this with, I have no idea if this is the correct fix. I just looked at the LWJGLMouse, saw a difference, and copied it to the AWTMouse and it fixed the issue with the scroll wheel.
private void processMouseEvent( java.awt.event.MouseWheelEvent _e )
{
if ( !isEnabled() )
return;
java.awt.event.MouseWheelEvent __e = (java.awt.event.MouseWheelEvent)_e;
final boolean isPageMove = __e.getScrollType() == java.awt.event.MouseWheelEvent.WHEEL_BLOCK_SCROLL;
InputSystem.getInstance().notifyInputStatesManagers( this, getWheel(), getWheel().getIntValue(), -__e.getWheelRotation(), lastKnownNanoTime );
MouseWheelEvent e = MouseEventPool.allocWheel( this, getWheel(), -__e.getWheelRotation(), isPageMove, lastKnownNanoTime, 0L );
if ( e != null )
getEventQueue().enqueue( e );
}
I added the InputSystem.getInstace() line in the middle there. Does that seem like it would be the correct fix for the issue?