From cfd58c274b72fe785bfd33f391ba85e3bc255d33 Mon Sep 17 00:00:00 2001 From: artdeell Date: Fri, 15 Jan 2021 21:47:09 +0300 Subject: [PATCH] Fix the key combinations not working --- app_pojavlauncher/src/main/assets/components/lwjgl3/version | 2 +- jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java | 5 +++-- .../main/java/org/lwjgl/input/GLFWInputImplementation.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app_pojavlauncher/src/main/assets/components/lwjgl3/version b/app_pojavlauncher/src/main/assets/components/lwjgl3/version index 75c2a4342..b41788be5 100644 --- a/app_pojavlauncher/src/main/assets/components/lwjgl3/version +++ b/app_pojavlauncher/src/main/assets/components/lwjgl3/version @@ -1 +1 @@ -20210115 +20210115:2 diff --git a/jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java b/jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java index 63bc283fd..d80f6891e 100644 --- a/jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java +++ b/jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java @@ -497,7 +497,7 @@ public class GLFW private static ArrayMap mGLFWWindowMap; public static boolean mGLFWIsGrabbing, mGLFWIsInputReady, mGLFWIsUseStackQueue = false; - + public static final byte[] keyDownBuffer = new byte[316]; private static final String PROP_WINDOW_WIDTH = "glfwstub.windowWidth"; private static final String PROP_WINDOW_HEIGHT= "glfwstub.windowHeight"; @@ -1090,6 +1090,7 @@ public class GLFW break; case CallbackBridge.EVENT_TYPE_KEY: if (mGLFWKeyCallback != null) { + keyDownBuffer[dataArr[1]-32]=(byte)(int)dataArr[3]; mGLFWKeyCallback.invoke(ptr, dataArr[1], dataArr[2], dataArr[3], dataArr[4]); } break; @@ -1174,7 +1175,7 @@ public class GLFW } public static int glfwGetKey(@NativeType("GLFWwindow *") long window, int key) { - return 0; + return keyDownBuffer[key-32]; } public static int glfwGetMouseButton(@NativeType("GLFWwindow *") long window, int button) { diff --git a/jre_lwjgl3glfw/src/main/java/org/lwjgl/input/GLFWInputImplementation.java b/jre_lwjgl3glfw/src/main/java/org/lwjgl/input/GLFWInputImplementation.java index 572cd17b8..f3972f456 100644 --- a/jre_lwjgl3glfw/src/main/java/org/lwjgl/input/GLFWInputImplementation.java +++ b/jre_lwjgl3glfw/src/main/java/org/lwjgl/input/GLFWInputImplementation.java @@ -49,7 +49,7 @@ public class GLFWInputImplementation implements InputImplementation { public void pollMouse(IntBuffer coord_buffer, ByteBuffer buttons) { coord_buffer.put(0, grab? mouseX - mouseLastX: mouseX); coord_buffer.put(1, grab? mouseY - mouseLastY: mouseY); - System.out.println("Poll Call: Buffer length="+buttons.capacity()+"; Pos="+buttons.position()); + //System.out.println("Poll Call: Buffer length="+buttons.capacity()+"; Pos="+buttons.position()); buttons.rewind(); buttons.put(mouse_buffer); mouseLastX = mouseX;