diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/input/backend/inputhandler.cpp | 10 | ||||
-rw-r--r-- | src/input/backend/inputhandler_p.h | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/input/backend/inputhandler.cpp b/src/input/backend/inputhandler.cpp index a26ebce61..82b017b1c 100644 --- a/src/input/backend/inputhandler.cpp +++ b/src/input/backend/inputhandler.cpp @@ -309,6 +309,16 @@ void InputHandler::updateEventSource() } } +AbstractActionInput *InputHandler::lookupActionInput(Qt3DCore::QNodeId id) const +{ + AbstractActionInput *input = nullptr; + if ((input = actionInputManager()->lookupResource(id)) != nullptr) + return input; + if ((input = inputSequenceManager()->lookupResource(id)) != nullptr) + return input; + return inputChordManager()->lookupResource(id); // nullptr if not found +} + } // namespace Input } // namespace Qt3DInput diff --git a/src/input/backend/inputhandler_p.h b/src/input/backend/inputhandler_p.h index 72078b54c..2cfb56e3f 100644 --- a/src/input/backend/inputhandler_p.h +++ b/src/input/backend/inputhandler_p.h @@ -61,6 +61,7 @@ QT_BEGIN_NAMESPACE namespace Qt3DCore { class QEventFilterService; +class QNodeId; } namespace Qt3DInput { @@ -69,6 +70,7 @@ class QInputDeviceIntegration; namespace Input { +class AbstractActionInput; class KeyboardInputManager; class KeyboardDeviceManager; class KeyboardEventFilter; @@ -144,6 +146,8 @@ public: void updateEventSource(); + AbstractActionInput *lookupActionInput(Qt3DCore::QNodeId id) const; + private: KeyboardDeviceManager *m_keyboardDeviceManager; KeyboardInputManager *m_keyboardInputManager; |