|
From: <eli...@us...> - 2006-11-10 15:12:55
|
Revision: 2640
http://svn.sourceforge.net/java-game-lib/?rev=2640&view=rev
Author: elias_naur
Date: 2006-11-10 07:12:49 -0800 (Fri, 10 Nov 2006)
Log Message:
-----------
Windows: Use WindowsKeyboard in WindowsAWTInput to ensure keyboard input.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsAWTInput.java
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsAWTInput.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsAWTInput.java 2006-11-10 13:52:18 UTC (rev 2639)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsAWTInput.java 2006-11-10 15:12:49 UTC (rev 2640)
@@ -54,6 +54,7 @@
private long cached_hwnd;
private WindowsMouse cached_mouse;
+ private WindowsKeyboard cached_keyboard;
private boolean has_grabbed;
public WindowsAWTInput(AWTGLCanvas canvas) throws LWJGLException {
@@ -81,7 +82,9 @@
cached_hwnd = hwnd;
if (cached_mouse != null)
cached_mouse.destroy();
- cached_mouse = new WindowsMouse(WindowsDisplay.createDirectInput(), hwnd);
+ WindowsDirectInput dinput = WindowsDisplay.createDirectInput();
+ cached_mouse = new WindowsMouse(dinput, hwnd);
+ cached_keyboard = new WindowsKeyboard(dinput, hwnd);
}
if (isGrabbed() && getCanvas().getCursor() != blank_cursor) {
cached_cursor = getCanvas().getCursor();
@@ -144,4 +147,20 @@
} else
super.readMouse(buffer);
}
+
+ public synchronized void readKeyboard(ByteBuffer buffer) {
+ if (isGrabbed()) {
+ if (cached_keyboard != null)
+ cached_keyboard.read(buffer);
+ } else
+ super.readKeyboard(buffer);
+ }
+
+ public synchronized void pollKeyboard(ByteBuffer keyDownBuffer) {
+ if (isGrabbed()) {
+ if (cached_keyboard != null)
+ cached_keyboard.poll(keyDownBuffer);
+ } else
+ super.pollKeyboard(keyDownBuffer);
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|