package tk.valoeghese.gateways.client.io; import org.lwjgl.glfw.*; /** * Author: Valoeghese */ public class KeyCallbackHandler extends GLFWKeyCallback { private static final KeyCallbackHandler INSTANCE = new KeyCallbackHandler(); public static boolean[] keys = new boolean[GLFW.GLFW_KEY_LAST]; public static void trackWindow(long window) { GLFW.glfwSetKeyCallback(window, INSTANCE); } private KeyCallbackHandler() {} @Override public void invoke(long window, int key, int scancode, int action, int mods) { try { keys[key] = action != GLFW.GLFW_RELEASE; } catch (ArrayIndexOutOfBoundsException e) { // Probably just changing the volume } } }