Fix keyWasDown in input handler

This was changed 291a6b70d6 but should have never been done.
This commit is contained in:
sfan5 2021-02-23 14:21:15 +01:00
parent 35b476c65d
commit 9b59b2f75d
2 changed files with 4 additions and 9 deletions

View File

@ -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);

View File

@ -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