From 9fb897476e21b02c3b65d9ccefdc256ea0c809c4 Mon Sep 17 00:00:00 2001 From: Anthony Thibault Date: Fri, 11 Mar 2016 17:29:18 -0800 Subject: [PATCH] Application: fix for mouse control in third-person camera Process the keyboard & mouse input plugin after the userInputMapper()->update(). --- interface/src/Application.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 9bd4b00246..ce8f4e48d9 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3186,9 +3186,12 @@ void Application::update(float deltaTime) { myAvatar->getHMDSensorMatrix() }; + InputPluginPointer keyboardMousePlugin; bool jointsCaptured = false; for (auto inputPlugin : PluginManager::getInstance()->getInputPlugins()) { - if (inputPlugin->isActive()) { + if (inputPlugin->getName() == KeyboardMouseDevice::NAME) { + keyboardMousePlugin = inputPlugin; + } else if (inputPlugin->isActive()) { inputPlugin->pluginUpdate(deltaTime, calibrationData, jointsCaptured); if (inputPlugin->isJointController()) { jointsCaptured = true; @@ -3198,6 +3201,10 @@ void Application::update(float deltaTime) { userInputMapper->update(deltaTime); + if (keyboardMousePlugin && keyboardMousePlugin->isActive()) { + keyboardMousePlugin->pluginUpdate(deltaTime, calibrationData, jointsCaptured); + } + _controllerScriptingInterface->updateInputControllers(); // Transfer the user inputs to the driveKeys