Harden a few pieces of viewport controller logic
-Don't eat mouse/keyboard release events in the ViewportManipulatorController -Do a key activity check in the LegacyViewportCameraController instead of checking state (this could be done elsewhere but it seems to be working as-is and is scheduled to go away) -Ignore idle mouse delta updates sent to the modular camera controller Signed-off-by: nvsickle <nvsickle@amazon.com>
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user