diff options
author | rtk0c <[email protected]> | 2023-09-20 23:58:58 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2023-09-20 23:58:58 -0700 |
commit | f138311d2d2e0cc9ba0496d523bb46f2c1c9fb73 (patch) | |
tree | f96100a813a4ffb28dcd074455d3a2f8ee426430 /source/30-game/Input.cpp |
Copy from the PlasticSCM repo, replace vendored glm wtih conan
Diffstat (limited to 'source/30-game/Input.cpp')
-rw-r--r-- | source/30-game/Input.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/30-game/Input.cpp b/source/30-game/Input.cpp new file mode 100644 index 0000000..9f304ff --- /dev/null +++ b/source/30-game/Input.cpp @@ -0,0 +1,23 @@ +#include "Input.hpp" + +#include <cassert> + +GLFWkeyboard* InputState::FindKeyboard(std::string_view name) { + assert(false); + // TODO +} + +GlfwKeyboardAttachment* InputState::ConnectKeyboard(GLFWkeyboard* keyboard) { + auto attachment = new GlfwKeyboardAttachment(); + glfwSetKeyboardUserPointer(keyboard, attachment); + + return attachment; +} + +void InputState::DisconnectKeyboard(GLFWkeyboard* keyboard) { + InputState::instance->DisconnectKeyboard(keyboard); + auto attachment = static_cast<GlfwKeyboardAttachment*>(glfwGetKeyboardUserPointer(keyboard)); + // Defensive: this GLFWkeyboard* will be deleted after this callback ends anyways + glfwSetKeyboardUserPointer(keyboard, nullptr); + delete attachment; +} |