You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was apparently caused by an intentional change ("Send mouse move events to focused window instead of hovered window."), but I don't understand the intent. The result is just bad data: input events that say the mouse cursor is somewhere it isn't.
Thank you for bringing this issue to my attention: The focused window will receive InputEventMouseMotion events in _input, but with mouse coordinates from the non-focused window.
I can confirm this bug. Apparently I missed this corner case during my implementation. The behavior differs from linuxbsd, where the mouse-coordinates are relative to the focused window.
I believe, that the correct solution is to adjust the mouse position in the event and not adjust the window, that receives the input. I will investigate a solution for this.
"Send mouse move events to focused window instead of hovered window." is related to the special case of Popups that handle focus differently.
By the way: Before #67903, mouse move events outside of the focused window were simply dropped on Windows, when no Mouse-Drag-and-Drop was active.
Godot version
v4.0.beta6.mono.official [7f8ecff]
System information
Windows 11 22H2
Issue description
This is a platform-specific bug, because it behaves correctly on macOS 13. No idea about Linux.
In a project with multiple native windows:
Have one window focused, and hover your mouse over another window.
The focused window will receive
InputEventMouseMotion
events in_input
, but with mouse coordinates from the non-focused window.Or to look at it another way, the events are correct but the wrong window is receiving them.
Steps to reproduce
Run the MRP, observe output as you focus one window and hover over the other.
Minimal reproduction project
native_windows_hover.zip
The text was updated successfully, but these errors were encountered: