diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-04-18 02:58:23 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-04-18 02:58:23 +0300 |
commit | 23f87c10db7e6b149e9e1f351e1a82516c545df7 (patch) | |
tree | a64be1829568f16108c0a39c4a9a5e3957466831 /src/keyboardconfig.cpp | |
parent | 0f82a8b4a599fbeb2663680deb406bbc15a67576 (diff) | |
download | manaplus-23f87c10db7e6b149e9e1f351e1a82516c545df7.tar.gz manaplus-23f87c10db7e6b149e9e1f351e1a82516c545df7.tar.bz2 manaplus-23f87c10db7e6b149e9e1f351e1a82516c545df7.tar.xz manaplus-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.cpp | 11 |
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) |