diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-03-15 20:16:16 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-03-15 20:16:16 +0300 |
commit | 5c83a96b8ad85ad0562542b9720a0df6c5fb550c (patch) | |
tree | 1759cd93802d506583c7030119f1115b0444e226 /src/input | |
parent | a260aeab234704ace8ba672b1d1ce57e18425e07 (diff) | |
parent | 22cb237571e06395ec241377721c02716f0ea8a7 (diff) | |
download | plus-5c83a96b8ad85ad0562542b9720a0df6c5fb550c.tar.gz plus-5c83a96b8ad85ad0562542b9720a0df6c5fb550c.tar.bz2 plus-5c83a96b8ad85ad0562542b9720a0df6c5fb550c.tar.xz plus-5c83a96b8ad85ad0562542b9720a0df6c5fb550c.zip |
Merge branch 'master' into stable
Diffstat (limited to 'src/input')
-rw-r--r-- | src/input/inputmanager.cpp | 79 | ||||
-rw-r--r-- | src/input/inputmanager.h | 2 | ||||
-rw-r--r-- | src/input/keyboarddata.h | 94 | ||||
-rw-r--r-- | src/input/keydata.h | 13 | ||||
-rw-r--r-- | src/input/keyinput.h | 87 |
5 files changed, 137 insertions, 138 deletions
diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp index 5d157f0fa..d611e4790 100644 --- a/src/input/inputmanager.cpp +++ b/src/input/inputmanager.cpp @@ -216,69 +216,46 @@ void InputManager::store() const } } -void InputManager::resetKeys() +void InputManager::resetKey(const int i) { - for (int i = 0; i < Input::KEY_TOTAL; i++) + KeyFunction &key = mKey[i]; + for (size_t i2 = 1; i2 < KeyFunctionSize; i2 ++) { - KeyFunction &key = mKey[i]; - for (size_t i2 = 1; i2 < KeyFunctionSize; i2 ++) - { - KeyItem &ki2 = key.values[i2]; - ki2.type = INPUT_UNKNOWN; - ki2.value = -1; - } - const KeyData &kd = keyData[i]; - KeyItem &val0 = key.values[0]; - val0.type = kd.defaultType1; - KeyItem &val1 = key.values[1]; - val1.type = kd.defaultType2; + KeyItem &ki2 = key.values[i2]; + ki2.type = INPUT_UNKNOWN; + ki2.value = -1; + } + const KeyData &kd = keyData[i]; + KeyItem &val0 = key.values[0]; + val0.type = kd.defaultType1; + KeyItem &val1 = key.values[1]; + val1.type = kd.defaultType2; #ifdef USE_SDL2 - if (kd.defaultType1 == INPUT_KEYBOARD) - val0.value = SDL_GetScancodeFromKey(kd.defaultValue1); - else - val0.value = kd.defaultValue1; - if (kd.defaultType2 == INPUT_KEYBOARD) - val1.value = SDL_GetScancodeFromKey(kd.defaultValue2); - else - val1.value = kd.defaultValue2; -#else + if (kd.defaultType1 == INPUT_KEYBOARD) + val0.value = SDL_GetScancodeFromKey(kd.defaultValue1); + else val0.value = kd.defaultValue1; + if (kd.defaultType2 == INPUT_KEYBOARD) + val1.value = SDL_GetScancodeFromKey(kd.defaultValue2); + else val1.value = kd.defaultValue2; +#else + val0.value = kd.defaultValue1; + val1.value = kd.defaultValue2; #endif - } +} + +void InputManager::resetKeys() +{ + for (int i = 0; i < Input::KEY_TOTAL; i++) + resetKey(i); } void InputManager::makeDefault(const int i) { if (i >= 0 && i < Input::KEY_TOTAL) { - KeyFunction &key = mKey[i]; - for (size_t i2 = 1; i2 < KeyFunctionSize; i2 ++) - { - KeyItem &ki2 = key.values[i2]; - ki2.type = INPUT_UNKNOWN; - ki2.value = -1; - } - const KeyData &kd = keyData[i]; - KeyItem &val0 = key.values[0]; - val0.type = kd.defaultType1; - KeyItem &val1 = key.values[1]; - val1.type = kd.defaultType2; - -#ifdef USE_SDL2 - if (kd.defaultType1 == INPUT_KEYBOARD) - val0.value = SDL_GetScancodeFromKey(kd.defaultValue1); - else - val0.value = kd.defaultValue1; - if (kd.defaultType2 == INPUT_KEYBOARD) - val1.value = SDL_GetScancodeFromKey(kd.defaultValue2); - else - val1.value = kd.defaultValue2; -#else - val0.value = kd.defaultValue1; - val1.value = kd.defaultValue2; -#endif - + resetKey(i); update(); } } diff --git a/src/input/inputmanager.h b/src/input/inputmanager.h index fcd1252c0..bf9e04f34 100644 --- a/src/input/inputmanager.h +++ b/src/input/inputmanager.h @@ -181,6 +181,8 @@ class InputManager final void executeAction(const int keyNum); protected: + void resetKey(const int i); + static bool isActionActive0(const int index) A_WARN_UNUSED; Setup_Input *mSetupInput; /**< Reference to setup window */ diff --git a/src/input/keyboarddata.h b/src/input/keyboarddata.h index e6bafb61b..37a36b45f 100644 --- a/src/input/keyboarddata.h +++ b/src/input/keyboarddata.h @@ -1977,7 +1977,7 @@ static const KeyData keyData[Input::KEY_TOTAL] = { COND_ARROWKEYS}, {"keyGUICtrl", INPUT_KEYBOARD, SDLK_LCTRL, - INPUT_UNKNOWN, Input::KEY_NO_VALUE, + INPUT_KEYBOARD, SDLK_RCTRL, Input::GRP_GUICHAN, nullptr, Input::KEY_NO_VALUE, 50, @@ -2087,6 +2087,98 @@ static const KeyData keyData[Input::KEY_TOTAL] = { &ActionManager::openTrade, Input::KEY_NO_VALUE, 50, COND_GAME | COND_NOTARGET}, + + {"keyGUIF1", + INPUT_KEYBOARD, SDLK_F1, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF2", + INPUT_KEYBOARD, SDLK_F2, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF3", + INPUT_KEYBOARD, SDLK_F3, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF4", + INPUT_KEYBOARD, SDLK_F4, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF5", + INPUT_KEYBOARD, SDLK_F5, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF6", + INPUT_KEYBOARD, SDLK_F6, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF7", + INPUT_KEYBOARD, SDLK_F7, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF8", + INPUT_KEYBOARD, SDLK_F8, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF9", + INPUT_KEYBOARD, SDLK_F9, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF10", + INPUT_KEYBOARD, SDLK_F10, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF11", + INPUT_KEYBOARD, SDLK_F11, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyGUIF12", + INPUT_KEYBOARD, SDLK_F12, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_GUICHAN | Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyWindowAbout", + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_DEFAULT | Input::GRP_GUI, + &ActionManager::aboutWindowShow, + Input::KEY_NO_VALUE, 50, + COND_SHORTCUT0}, }; #endif // INPUT_KEYBOARDDATA_H diff --git a/src/input/keydata.h b/src/input/keydata.h index 62517b64b..41a0e85a5 100644 --- a/src/input/keydata.h +++ b/src/input/keydata.h @@ -358,6 +358,19 @@ namespace Input KEY_PREV_COMMANDS_TAB, KEY_NEXT_COMMANDS_TAB, KEY_OPEN_TRADE, + KEY_GUI_F1, + KEY_GUI_F2, + KEY_GUI_F3, + KEY_GUI_F4, + KEY_GUI_F5, + KEY_GUI_F6, + KEY_GUI_F7, + KEY_GUI_F8, + KEY_GUI_F9, + KEY_GUI_F10, + KEY_GUI_F11, + KEY_GUI_F12, + KEY_WINDOW_ABOUT, KEY_TOTAL }; } // namespace Input diff --git a/src/input/keyinput.h b/src/input/keyinput.h index 9920cfa17..b7b7a7936 100644 --- a/src/input/keyinput.h +++ b/src/input/keyinput.h @@ -79,12 +79,7 @@ class KeyInput final #ifdef USE_SDL2 mText(), #endif - mActionId(-2), - mShiftPressed(false), - mControlPressed(false), - mAltPressed(false), - mMetaPressed(false), - mNumericPad(false) + mActionId(-2) { } ~KeyInput() @@ -120,56 +115,6 @@ class KeyInput final return mKey; } - bool isShiftPressed() const - { - return mShiftPressed; - } - - void setShiftPressed(bool pressed) - { - mShiftPressed = pressed; - } - - bool isControlPressed() const - { - return mControlPressed; - } - - void setControlPressed(bool pressed) - { - mControlPressed = pressed; - } - - bool isAltPressed() const - { - return mAltPressed; - } - - void setAltPressed(bool pressed) - { - mAltPressed = pressed; - } - - bool isMetaPressed() const - { - return mMetaPressed; - } - - void setMetaPressed(bool pressed) - { - mMetaPressed = pressed; - } - - bool isNumericPad() const - { - return mNumericPad; - } - - void setNumericPad(bool numpad) - { - mNumericPad = numpad; - } - void setActionId(const int n) { mActionId = n; @@ -208,36 +153,6 @@ class KeyInput final #endif int mActionId; - - /** - * True if shift was pressed at the same time as the key, - * false otherwise. - */ - bool mShiftPressed; - - /** - * True if control was pressed at the same time as the key, - * false otherwise. - */ - bool mControlPressed; - - /** - * True if alt was pressed at the same time as the key, - * false otherwise. - */ - bool mAltPressed; - - /** - * True if meta was pressed at the same time as the key, - * false otherwise. - */ - bool mMetaPressed; - - /** - * True if the numeric pad was used when the key was pressed, - * false otherwise. - */ - bool mNumericPad; }; #endif // INPUT_KEYINPUT_H |