Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When more than 1 viewport is open, fly mode may incorrectly trigger selection mode change #81475

Closed
bitinn opened this issue Sep 9, 2023 · 4 comments

Comments

@bitinn
Copy link

bitinn commented Sep 9, 2023

Godot version

v4.1.1.stable.official [bd6af8e]

System information

Godot v4.1.1.stable - macOS 13.5.0 - Vulkan (Forward+) - integrated Apple M2 Max - Apple M2 Max (12 Threads)

Issue description

When 2 viewports are open, using fly mode (hold right mouse button, then press QWE keys) in the second viewport will cause all Godot viewports to switch mode. See attached videos.

https://streamable.com/izeh07

Steps to reproduce

Open any 3D scene and navigate it as described.

Minimal reproduction project

N/A as it is pretty trivial to repro, but note sometimes it is only reproduced in the second / third viewport; so my presumption is somehow input are not captured correctly and it triggered both fly mode and selection mode change.

@bitinn
Copy link
Author

bitinn commented Sep 9, 2023

Note: I did try to repro this on a brand new project and it is semi-consistently reproduced on the 2nd / 3rd viewport, the 1st viewport seems less affected.

@timothyqiu
Copy link
Member

I can confirm this.

It seems that capturing the mouse still sends movement events. So whichever viewport covering center point of the screen grabs focus.

@timothyqiu timothyqiu added this to the 4.2 milestone Sep 9, 2023
@Sauermann
Copy link
Contributor

Conceptually it looks like the QWE-keys are intended to be use for navigating the camera, but fail to set the input event as handled, so they are additionally interpreted for changing the mode.

@YuriSizov YuriSizov modified the milestones: 4.2, 4.3 Nov 15, 2023
@ryevdokimov
Copy link
Contributor

ryevdokimov commented May 19, 2024

Duplicate of: #87639

Which was solved by: #88275

Specifically, by the addition of this (because the title of the PR doesn't suggest anything to do with this issue):

void Node3DEditorViewport::_surface_mouse_enter() {
if (Input::get_singleton()->get_mouse_mode() == Input::MOUSE_MODE_CAPTURED) {
return;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants