|
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.
|