/**\brief Translates key down events to Epiar events. */ void Input::_UpdateHandleKeyDown( SDL_Event *event ) { assert( event ); events.push_back( InputEvent( KEY, KEYDOWN, event->key.keysym.sym ) ); // typed events go here because SDL will repeat KEYDOWN events for us at the set SDL repeat rate PushTypeEvent( events, event->key.keysym.sym ); heldKeys[ event->key.keysym.sym ] = 1; }
bool Input::_UpdateHandleKeyDown( SDL_Event *event ) { bool quitSignal = false; assert( event ); switch( event->key.keysym.sym ) { case SDLK_ESCAPE: quitSignal = true; break; default: events.push_front( InputEvent( KEY, KEYDOWN, event->key.keysym.sym ) ); // typed events go here because SDL will repeat KEYDOWN events for us at the set SDL repeat rate PushTypeEvent( events, event->key.keysym.sym ); keyDown[ event->key.keysym.sym ] = 1; break; } return quitSignal; }