IEventManager &Display::getEventQueue() { EventQueue *queue = new EventQueue(); SDL_PollEvent(&_events); SDL_Delay(10); switch(_events.type) { case SDL_KEYDOWN: switch(_events.key.keysym.scancode) { case SDL_SCANCODE_ESCAPE: { queue->pushEvent(new Event(keyEscape)); break; } case SDL_SCANCODE_LEFT: { queue->pushEvent(new Event(keyRight)); break; } case SDL_SCANCODE_RIGHT: { queue->pushEvent(new Event(keyLeft)); break; } default: break; } break; default: break; } return *queue; }