diff --git a/src/ui/glfw3inputbackend.cpp b/src/ui/glfw3inputbackend.cpp index 638f4437..64d46cca 100644 --- a/src/ui/glfw3inputbackend.cpp +++ b/src/ui/glfw3inputbackend.cpp @@ -5,11 +5,149 @@ namespace fea GLFW3InputBackend::GLFW3InputBackend(): mKeyRepeat(true) { + } std::queue GLFW3InputBackend::fetchEvents() { std::queue result; + + glfwSetKeyCallback(window, KeyCallback); + + void KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods) + { + switch(action) + { + case GLFW_PRESS: + switch(key) + { + case GLFW_KEY_A: + case GLFW_KEY_S: + case GLFW_KEY_D: + case GLFW_KEY_F: + case GLFW_KEY_G: + case GLFW_KEY_H: + case GLFW_KEY_J: + case GLFW_KEY_K: + case GLFW_KEY_L: + case GLFW_KEY_Z: + case GLFW_KEY_X: + case GLFW_KEY_C: + case GLFW_KEY_V: + case GLFW_KEY_B: + case GLFW_KEY_N: + case GLFW_KEY_M: + case GLFW_KEY_Q: + case GLFW_KEY_W: + case GLFW_KEY_E: + case GLFW_KEY_R: + case GLFW_KEY_T: + case GLFW_KEY_Y: + case GLFW_KEY_U: + case GLFW_KEY_I: + case GLFW_KEY_O: + case GLFW_KEY_P: + case GLFW_KEY_1: + case GLFW_KEY_2: + case GLFW_KEY_3: + case GLFW_KEY_4: + case GLFW_KEY_5: + case GLFW_KEY_6: + case GLFW_KEY_7: + case GLFW_KEY_8: + case GLFW_KEY_9: + case GLFW_KEY_0: + + + } + + case GLFW_RELEASE: + switch(key) + { + case GLFW_KEY_A: + case GLFW_KEY_S: + case GLFW_KEY_D: + case GLFW_KEY_F: + case GLFW_KEY_G: + case GLFW_KEY_H: + case GLFW_KEY_J: + case GLFW_KEY_K: + case GLFW_KEY_L: + case GLFW_KEY_Z: + case GLFW_KEY_X: + case GLFW_KEY_C: + case GLFW_KEY_V: + case GLFW_KEY_B: + case GLFW_KEY_N: + case GLFW_KEY_M: + case GLFW_KEY_Q: + case GLFW_KEY_W: + case GLFW_KEY_E: + case GLFW_KEY_R: + case GLFW_KEY_T: + case GLFW_KEY_Y: + case GLFW_KEY_U: + case GLFW_KEY_I: + case GLFW_KEY_O: + case GLFW_KEY_P: + case GLFW_KEY_1: + case GLFW_KEY_2: + case GLFW_KEY_3: + case GLFW_KEY_4: + case GLFW_KEY_5: + case GLFW_KEY_6: + case GLFW_KEY_7: + case GLFW_KEY_8: + case GLFW_KEY_9: + case GLFW_KEY_0: + + } + + case GLFW_REPEAT: + switch(key) + { + case GLFW_KEY_A: + case GLFW_KEY_S: + case GLFW_KEY_D: + case GLFW_KEY_F: + case GLFW_KEY_G: + case GLFW_KEY_H: + case GLFW_KEY_J: + case GLFW_KEY_K: + case GLFW_KEY_L: + case GLFW_KEY_Z: + case GLFW_KEY_X: + case GLFW_KEY_C: + case GLFW_KEY_V: + case GLFW_KEY_B: + case GLFW_KEY_N: + case GLFW_KEY_M: + case GLFW_KEY_Q: + case GLFW_KEY_W: + case GLFW_KEY_E: + case GLFW_KEY_R: + case GLFW_KEY_T: + case GLFW_KEY_Y: + case GLFW_KEY_U: + case GLFW_KEY_I: + case GLFW_KEY_O: + case GLFW_KEY_P: + case GLFW_KEY_1: + case GLFW_KEY_2: + case GLFW_KEY_3: + case GLFW_KEY_4: + case GLFW_KEY_5: + case GLFW_KEY_6: + case GLFW_KEY_7: + case GLFW_KEY_8: + case GLFW_KEY_9: + case GLFW_KEY_0: + + } + + } + + } return result; }