void InputManager::run() { InputEvent* inputEvent; while (running && eventBuffer != NULL) { eventBuffer->waitEvent(); if (!running) { break; } inputEvent = eventBuffer->getNextEvent(); while (inputEvent != NULL) { if (inputEvent->isPressedType() && ((getCurrentTimeMillis() - timeStamp) > 150)) { timeStamp = getCurrentTimeMillis(); if (!dispatchEvent(inputEvent)) { delete inputEvent; inputEvent = eventBuffer->getNextEvent(); continue; } } dispatchProceduralEvent(inputEvent); delete inputEvent; inputEvent = eventBuffer->getNextEvent(); } } }