diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-04-19 23:48:29 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-04-19 23:48:29 +0300 |
commit | 0b7e752bd177c90a05ca752fa31810f9e34c432c (patch) | |
tree | db1809a48faf051af11c94058e8f126c9e9ef1ab /src/gui/sdlinput.cpp | |
parent | 23f87c10db7e6b149e9e1f351e1a82516c545df7 (diff) | |
download | mv-0b7e752bd177c90a05ca752fa31810f9e34c432c.tar.gz mv-0b7e752bd177c90a05ca752fa31810f9e34c432c.tar.bz2 mv-0b7e752bd177c90a05ca752fa31810f9e34c432c.tar.xz mv-0b7e752bd177c90a05ca752fa31810f9e34c432c.zip |
Dehardcode keys in gui widgets.
Add new tab with keys settings in input settings tab.
Diffstat (limited to 'src/gui/sdlinput.cpp')
-rw-r--r-- | src/gui/sdlinput.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/sdlinput.cpp b/src/gui/sdlinput.cpp index 94519469b..6828158d2 100644 --- a/src/gui/sdlinput.cpp +++ b/src/gui/sdlinput.cpp @@ -127,7 +127,7 @@ void SDLInput::pushInput(const SDL_Event &event) keyInput.setMetaPressed(event.key.keysym.mod & KMOD_META); keyInput.setNumericPad(event.key.keysym.sym >= SDLK_KP0 && event.key.keysym.sym <= SDLK_KP_EQUALS); - int actionId = inputManager.getActionByKey(event); + const int actionId = inputManager.getActionByKey(event); if (actionId >= 0) keyInput.setActionId(actionId); mKeyInputQueue.push(keyInput); @@ -135,6 +135,7 @@ void SDLInput::pushInput(const SDL_Event &event) } case SDL_KEYUP: + { keyInput.setKey(gcn::Key(convertKeyCharacter(event))); keyInput.setType(gcn::KeyInput::RELEASED); keyInput.setShiftPressed(event.key.keysym.mod & KMOD_SHIFT); @@ -143,9 +144,12 @@ void SDLInput::pushInput(const SDL_Event &event) keyInput.setMetaPressed(event.key.keysym.mod & KMOD_META); keyInput.setNumericPad(event.key.keysym.sym >= SDLK_KP0 && event.key.keysym.sym <= SDLK_KP_EQUALS); - + const int actionId = inputManager.getActionByKey(event); + if (actionId >= 0) + keyInput.setActionId(actionId); mKeyInputQueue.push(keyInput); break; + } case SDL_MOUSEBUTTONDOWN: mMouseDown = true; |