diff options
author | sfan5 <sfan5@live.de> | 2021-02-23 14:21:15 +0100 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2021-02-23 19:41:38 +0100 |
commit | 9b59b2f75de8a523cba255335fb8d9350716c8c5 (patch) | |
tree | 928d961d3d6cdad04265f5cdb535186f77ee1222 | |
parent | 35b476c65df9c78935e166b94ca686015b43960f (diff) | |
download | minetest-9b59b2f75de8a523cba255335fb8d9350716c8c5.tar.gz minetest-9b59b2f75de8a523cba255335fb8d9350716c8c5.tar.bz2 minetest-9b59b2f75de8a523cba255335fb8d9350716c8c5.zip |
Fix keyWasDown in input handler
This was changed 291a6b70d674d9003f522b5875a60f7e2753e32b but should have never been done.
-rw-r--r-- | src/client/inputhandler.cpp | 11 | ||||
-rw-r--r-- | src/client/inputhandler.h | 2 |
2 files changed, 4 insertions, 9 deletions
diff --git a/src/client/inputhandler.cpp b/src/client/inputhandler.cpp index 608a405a8..978baa320 100644 --- a/src/client/inputhandler.cpp +++ b/src/client/inputhandler.cpp @@ -113,17 +113,12 @@ bool MyEventReceiver::OnEvent(const SEvent &event) if (event.EventType == irr::EET_KEY_INPUT_EVENT) { const KeyPress &keyCode = event.KeyInput; if (keysListenedFor[keyCode]) { - // If the key is being held down then the OS may - // send a continuous stream of keydown events. - // In this case, we don't want to let this - // stream reach the application as it will cause - // certain actions to repeat constantly. if (event.KeyInput.PressedDown) { - if (!IsKeyDown(keyCode)) { - keyWasDown.set(keyCode); + if (!IsKeyDown(keyCode)) keyWasPressed.set(keyCode); - } + keyIsDown.set(keyCode); + keyWasDown.set(keyCode); } else { if (IsKeyDown(keyCode)) keyWasReleased.set(keyCode); diff --git a/src/client/inputhandler.h b/src/client/inputhandler.h index 7487bbdc7..1fb4cf0ec 100644 --- a/src/client/inputhandler.h +++ b/src/client/inputhandler.h @@ -201,7 +201,7 @@ private: // The current state of keys KeyList keyIsDown; - // Whether a key was down + // Like keyIsDown but only reset when that key is read KeyList keyWasDown; // Whether a key has just been pressed |