godotengine / godotengine/godot

GraphEdit mouse input still triggers node actions (such as showing a node creation dialog) when Space is held to pan

Open
#95,251 0 comments 0 reactions 0 assignees View on GitHub
bug topic:editor topic:gui usability
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

- Reproducible in: 3.5.3.stable, 4.2.2.stable, 4.3.rc ddd31d0d5

### System information

Godot v4.3.rc (ddd31d0d5) - Fedora Linux 40 (KDE Plasma) - X11 - GLES3 (Compatibility) - NVIDIA GeForce RTX 4090 (nvidia; 555.58.02) - 13th Gen Intel(R) Core(TM) i9-13900K (32 Threads)

### Issue description

GraphEdit mouse input still triggers node actions (such as showing a node creation dialog) when Space is held to pan.

In this video, I hold Space while using the left mouse button to pan. Notice that if I click on an output connection, a dialog to create a new node appears, even though I just wanted to pan around.

Likewise, left-clicking something within a GraphNode will open the node's dropdown as opposed to panning as I want it to.

In short, Space + Left mouse button should act just like the middle mouse button regardless of where you initially clicked.

https://github.com/user-attachments/assets/495c17c6-e876-40e0-9896-2719790c63fa

### Steps to reproduce

- Create a VisualShader resource and some nodes within it.
- Hold Space and use the left mouse button to pan around. Try doing so when initially clicking on a connection dot.
- Notice how a node creation popup appears, even though it doesn't if you pan with the middle mouse button.

### Minimal reproduction project (MRP)

N/A

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in a VisualShader resource using GraphEdit, holding Space while clicking connections and GraphNode contents. Start by tracing GraphEdit's mouse-input handling and compare Space-plus-left-button behavior with middle-button panning. Done means those clicks consistently pan without opening node actions or creation dialogs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, godot
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.