From eef58035c1848a8cffbcb17373b6afbe43be1440 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 9 May 2017 00:29:58 +0300 Subject: Add chat command for send any gui key. New chat command: guikey. --- src/input/inputactionmap.h | 6 ++++++ src/input/inputmanager.cpp | 12 ++++++++++++ src/input/inputmanager.h | 3 +++ 3 files changed, 21 insertions(+) (limited to 'src/input') diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index a717c7e5e..f4d8f5739 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -5612,6 +5612,12 @@ static const InputActionData inputActionData "translate|trans|tran", UseArgs_false, Protected_true}, + {"keyCommandSendGuiKey", + defaultAction(&Actions::sendGuiKey), + InputCondition::ENABLED, + "guikey|sendguikey", + UseArgs_false, + Protected_true}, }; #undef defaultAction diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp index eda8ba7b1..40397e91f 100644 --- a/src/input/inputmanager.cpp +++ b/src/input/inputmanager.cpp @@ -1019,6 +1019,18 @@ InputActionT InputManager::getActionByKey(const SDL_Event &restrict event) return InputAction::NO_VALUE; } +InputActionT InputManager::getActionByConfigField(const std::string &field) + const restrict2 +{ + for (int i = 0; i < CAST_S32(InputAction::TOTAL); i ++) + { + const std::string cf = inputActionData[i].configField; + if (field == cf) + return static_cast(i); + } + return InputAction::NO_VALUE; +} + void InputManager::addChatCommands(std::list &restrict arr) restrict { diff --git a/src/input/inputmanager.h b/src/input/inputmanager.h index 94e85b7d2..8455ef9b0 100644 --- a/src/input/inputmanager.h +++ b/src/input/inputmanager.h @@ -139,6 +139,9 @@ class InputManager final InputActionT getActionByKey(const SDL_Event &restrict event) const restrict2 A_WARN_UNUSED; + InputActionT getActionByConfigField(const std::string &field) + const restrict2 A_WARN_UNUSED; + void executeAction(const InputActionT keyNum) restrict2; bool executeChatCommand(const std::string &restrict cmd, -- cgit v1.2.3-60-g2f50