From: <sp...@us...> - 2012-08-23 12:38:51
|
Revision: 3790 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3790&view=rev Author: spasi Date: 2012-08-23 12:38:45 +0000 (Thu, 23 Aug 2012) Log Message: ----------- Filter TAB key up event when we alt-tab focus the Display. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsKeyboard.java Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsKeyboard.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsKeyboard.java 2012-08-23 10:36:12 UTC (rev 3789) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsKeyboard.java 2012-08-23 12:38:45 UTC (rev 3790) @@ -150,7 +150,14 @@ } } + private static boolean isKeyPressed(int state) { + return (state & 1) == 1; + } + public void handleKey(int virt_key, int scan_code, boolean extended, byte event_state, long millis, boolean repeat) { + if ( isKeyPressed(event_state) == isKeyPressed(virt_key_down_buffer[virt_key]) ) + return; + virt_key = translateExtended(virt_key, scan_code, event_state, extended); flushRetained(); has_retained_event = true; @@ -169,7 +176,7 @@ public void fireLostKeyEvents() { for ( int i = 0; i < virt_key_down_buffer.length; i++ ) { - if ( (virt_key_down_buffer[i] & 1) == 1 && (GetAsyncKeyState(i) & 1) == 0 ) + if ( isKeyPressed(virt_key_down_buffer[i]) && !isKeyPressed(GetAsyncKeyState(i)) ) handleKey(i, 0, false, (byte)0, System.currentTimeMillis(), false); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |