Fixes#4366
- Added support for sending text events from the Qt event mapper
- Fixed several issues found while running the Profiler gem in debug
- Added ability to track AZ-consumed events in the Qt event mapper
- Minor clean up to input handling in ImGuiManager
- Select ImGui mouse events can now be properly consumed during AZ-input processing in the editor viewport
- Added tests for the Qt event mapper
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* rename QtEventToAzInputManager.h/cpp to QtEventToAzInputMapper.h/cpp to match type name
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* update #includes to refer to QtEventToAzInputMapper.h
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* remove HandleFocusChange from FocusIn/Out events in QtEventToAzInputManager
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* ensure we clear input channels when application state changes
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* wip changes for focus switching tests
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* updates to test to verify focus change not affecting input
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add test to ensure input is not cleared when focus changes
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* ensure key press goes to correct widget
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add test to verify input is cleared when application state changes
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* clear input for all types of application state change
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* update input key for focus test
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* use the Settings Registry to tell the InputSystemComponent to disable various devices
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* update how we simulate the application state change event
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* revert Settings Registry changes
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* remove some unused code in RenderViewportWidget and make viewing devicePixelRatioF easier
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* updates to how cursor positions are calculate to handle the viewport widget moving
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* remove optional for previous position
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add test to capture error with moving the widget
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* minor comment updates before publishing PR
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix for drift accumulating in the viewport camera
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix typo and update how events are stored
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* respond to PR feedback and fix linux and windows build issues
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix failing unit tests in camera input
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix for events that should have been consumed by manipulators making their way to the main viewport handler
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add missing include for SANDBOX_API macro
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* add dependency on Qt::Test for AzToolsFrameworkTestCommon
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix order of buttons passed to QMouseEvent
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* potential fix for vtable error on linux
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* potential fix for vtable error on linux again
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* Make Viewport input events fully Qt based.
This should fix an issue with Qt touch event -> mouse event translation in the Editor, and may also fix issues with the Mac Editor and remote desktop (though, lacking the requisite hardware, I can test precisely none of these things personally).
See https://github.com/o3de/o3de/issues/1889
- Adapted LegacyViewportCameraController to use Movement::X & Y (mostly for testing purposes, it's on the slate for being removed soon)
- Moved cursor capture logic from RenderViewportWidget into QtEventToAzInputManager so that it can make sure it generates correct movement deltas
- Removed ViewportMouseCursorRequests::PreviousViewportCursorScreenPosition to have our viewport controllers use our dedicated Movement::X and Y channels instead, which will work in the launcher
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Address review feedback
Signed-off-by: nvsickle <nvsickle@amazon.com>
* Fix Linux build
Signed-off-by: nvsickle <nvsickle@amazon.com>