|
From: <eli...@us...> - 2007-05-31 08:52:56
|
Revision: 2834
http://svn.sourceforge.net/java-game-lib/?rev=2834&view=rev
Author: elias_naur
Date: 2007-05-31 01:52:55 -0700 (Thu, 31 May 2007)
Log Message:
-----------
Windows: Fix repeated character codes
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java
trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsKeyboard.java
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java 2007-05-30 20:33:40 UTC (rev 2833)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java 2007-05-31 08:52:55 UTC (rev 2834)
@@ -599,10 +599,9 @@
private void handleChar(long wParam, long lParam, long millis) {
byte previous_state = (byte)((lParam >>> 30) & 0x1);
byte state = (byte)(1 - ((lParam >>> 31) & 0x1));
- if (state == previous_state)
- return; // Auto-repeat message
+ boolean repeat = state == previous_state;
if (keyboard != null)
- keyboard.handleChar((int)(wParam & 0xFF), millis);
+ keyboard.handleChar((int)(wParam & 0xFF), millis, repeat);
}
private void handleKeyButton(long wParam, long lParam, long millis) {
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsKeyboard.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsKeyboard.java 2007-05-30 20:33:40 UTC (rev 2833)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsKeyboard.java 2007-05-31 08:52:55 UTC (rev 2834)
@@ -161,12 +161,13 @@
retained_millis = millis;
retained_char = 0;
retained_repeat = repeat;
-// translate(virt_key, event_state, millis*1000000);
}
- public void handleChar(int event_char, long millis) {
+ public void handleChar(int event_char, long millis, boolean repeat) {
+ if (has_retained_event && retained_char != 0)
+ flushRetained();
if (!has_retained_event) {
- putEvent(0, (byte)0, event_char, millis, false);
+ putEvent(0, (byte)0, event_char, millis, repeat);
} else
retained_char = event_char;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|