summaryrefslogtreecommitdiff
path: root/src/keyboardconfig.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-04-18 02:58:23 +0300
committerAndrei Karas <akaras@inbox.ru>2012-04-18 02:58:23 +0300
commit23f87c10db7e6b149e9e1f351e1a82516c545df7 (patch)
treea64be1829568f16108c0a39c4a9a5e3957466831 /src/keyboardconfig.cpp
parent0f82a8b4a599fbeb2663680deb406bbc15a67576 (diff)
downloadmv-23f87c10db7e6b149e9e1f351e1a82516c545df7.tar.gz
mv-23f87c10db7e6b149e9e1f351e1a82516c545df7.tar.bz2
mv-23f87c10db7e6b149e9e1f351e1a82516c545df7.tar.xz
mv-23f87c10db7e6b149e9e1f351e1a82516c545df7.zip
First step for dehardcode input handling in widgets.
Now widgets can check for input event.
Diffstat (limited to 'src/keyboardconfig.cpp')
-rw-r--r--src/keyboardconfig.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/keyboardconfig.cpp b/src/keyboardconfig.cpp
index c9f4fef38..1dc68df79 100644
--- a/src/keyboardconfig.cpp
+++ b/src/keyboardconfig.cpp
@@ -108,6 +108,15 @@ KeysVector *KeyboardConfig::getActionVector(const SDL_Event &event)
return nullptr;
}
+int KeyboardConfig::getActionId(const SDL_Event &event)
+{
+ const int i = getKeyValueFromEvent(event);
+// logger->log("getActionId: %d", i);
+ if (i != 0 && i < SDLK_LAST && mKeyToId.find(i) != mKeyToId.end())
+ return mKeyToId[i];
+ return -1;
+}
+
bool KeyboardConfig::isActionActive(int index) const
{
if (!mActiveKeys)
@@ -136,7 +145,7 @@ bool KeyboardConfig::isActionActive(int index) const
void KeyboardConfig::update()
{
- inputManager.updateKeyActionMap(mKeyToAction, INPUT_KEYBOARD);
+ inputManager.updateKeyActionMap(mKeyToAction, mKeyToId, INPUT_KEYBOARD);
}
void KeyboardConfig::handleActicateKey(const SDL_Event &event)