Skip to content

Commit ec5b13b

Browse files
committed
Remove alt key transforms in 3D to prevent navigation key conflicts
1 parent e37c626 commit ec5b13b

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

editor/plugins/node_3d_editor_plugin.cpp

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1949,8 +1949,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
19491949
clicked = ObjectID();
19501950

19511951
bool node_selected = get_selected_count() > 0;
1952-
1953-
if (after != EditorPlugin::AFTER_GUI_INPUT_CUSTOM && !b->is_alt_pressed()) {
1952+
if (after != EditorPlugin::AFTER_GUI_INPUT_CUSTOM && (spatial_editor->get_tool_mode() != Node3DEditor::TOOL_MODE_SELECT || !b->is_command_or_control_pressed())) {
19541953
// Single item selection.
19551954
clicked = _select_ray(b->get_position());
19561955

@@ -1968,21 +1967,11 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
19681967
}
19691968
}
19701969

1971-
if (!clicked_wants_append && node_selected && ((spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT && b->is_command_or_control_pressed()) || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE)) {
1970+
if (!clicked_wants_append && node_selected && spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT && b->is_command_or_control_pressed()) {
19721971
begin_transform(TRANSFORM_ROTATE, false);
19731972
break;
19741973
}
19751974

1976-
if (!clicked_wants_append && node_selected && spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_MOVE) {
1977-
begin_transform(TRANSFORM_TRANSLATE, false);
1978-
break;
1979-
}
1980-
1981-
if (!clicked_wants_append && node_selected && spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SCALE) {
1982-
begin_transform(TRANSFORM_SCALE, false);
1983-
break;
1984-
}
1985-
19861975
surface->queue_redraw();
19871976
} else {
19881977
if (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_RULER) {
@@ -2135,10 +2124,22 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
21352124
return;
21362125
}
21372126

2138-
if (clicked.is_valid() && movement_threshold_passed && (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_MOVE)) {
2139-
_compute_edit(_edit.original_mouse_pos);
2140-
clicked = ObjectID();
2141-
_edit.mode = TRANSFORM_TRANSLATE;
2127+
if (clicked.is_valid() && movement_threshold_passed) {
2128+
TransformMode mode = TRANSFORM_NONE;
2129+
2130+
if (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_MOVE) {
2131+
mode = TRANSFORM_TRANSLATE;
2132+
} else if (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_ROTATE) {
2133+
mode = TRANSFORM_ROTATE;
2134+
} else if (spatial_editor->get_tool_mode() == Node3DEditor::TOOL_MODE_SCALE) {
2135+
mode = TRANSFORM_SCALE;
2136+
}
2137+
2138+
if (mode != TRANSFORM_NONE) {
2139+
_compute_edit(_edit.original_mouse_pos);
2140+
clicked = ObjectID();
2141+
_edit.mode = mode;
2142+
}
21422143
}
21432144

21442145
if (_edit.mode == TRANSFORM_NONE || _edit.numeric_input != 0 || _edit.numeric_next_decimal != 0) {

0 commit comments

Comments
 (0)