Merge pull request #1422 from aws-lumberyard-dev/nvsickle/CameraInputHardening

Switch RenderViewportWidget to Qt based events instead of AzFramework ones
This commit is contained in:
Chris Galvan
2021-07-08 11:23:31 -05:00
committed by GitHub
13 changed files with 619 additions and 103 deletions
+2 -2
View File
@@ -714,7 +714,7 @@ void EditorViewportWidget::OnEditorNotifyEvent(EEditorNotifyEvent event)
if (m_renderViewport)
{
m_renderViewport->GetControllerList()->SetEnabled(false);
m_renderViewport->SetInputProcessingEnabled(false);
}
}
break;
@@ -738,7 +738,7 @@ void EditorViewportWidget::OnEditorNotifyEvent(EEditorNotifyEvent event)
if (m_renderViewport)
{
m_renderViewport->GetControllerList()->SetEnabled(true);
m_renderViewport->SetInputProcessingEnabled(true);
}
break;
@@ -404,7 +404,7 @@ bool LegacyViewportCameraControllerInstance::HandleInputChannelEvent(const AzFra
}
else if (auto key = GetKeyboardKey(event.m_inputChannel); key != Qt::Key_unknown)
{
if (state == InputChannel::State::Ended)
if (!event.m_inputChannel.IsActive())
{
m_pressedKeys.erase(key);
}
@@ -216,7 +216,8 @@ namespace SandboxEditor
interactionHandled, AzToolsFramework::GetEntityContextId(), targetInteractionEvent, mouseInteractionEvent);
}
return interactionHandled;
// Only filter button/key press events, not release events
return interactionHandled && event.m_inputChannel.IsActive();
}
void ViewportManipulatorControllerInstance::ResetInputChannels()