@@ -2080,23 +2080,26 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
20802080 }
20812081 }
20822082
2083- ViewportNavMouseButton orbit_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/orbit_mouse_button" ).operator int ();
2084- ViewportNavMouseButton pan_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/pan_mouse_button" ).operator int ();
2085- ViewportNavMouseButton zoom_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/zoom_mouse_button" ).operator int ();
2086- bool orbit_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_orbit_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_orbit_modifier_2" );
2087- bool pan_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_pan_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_pan_modifier_2" );
2088- bool zoom_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_zoom_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_zoom_modifier_2" );
2089- int orbit_mod_input_count = _get_shortcut_input_count (" spatial_editor/viewport_orbit_modifier_1" ) + _get_shortcut_input_count (" spatial_editor/viewport_orbit_modifier_2" );
2090- int pan_mod_input_count = _get_shortcut_input_count (" spatial_editor/viewport_pan_modifier_1" ) + _get_shortcut_input_count (" spatial_editor/viewport_pan_modifier_2" );
2091- int zoom_mod_input_count = _get_shortcut_input_count (" spatial_editor/viewport_zoom_modifier_1" ) + _get_shortcut_input_count (" spatial_editor/viewport_zoom_modifier_2" );
2092- bool orbit_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_orbit_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_orbit_modifier_2" );
2093- bool pan_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_pan_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_pan_modifier_2" );
2094- bool zoom_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_zoom_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_zoom_modifier_2" );
20952083 Vector<ShortcutCheckSet> shortcut_check_sets;
2096- shortcut_check_sets.push_back (ShortcutCheckSet (orbit_mod_pressed, orbit_not_empty, orbit_mod_input_count, orbit_mouse_preference, NAVIGATION_ORBIT));
2097- shortcut_check_sets.push_back (ShortcutCheckSet (pan_mod_pressed, pan_not_empty, pan_mod_input_count, pan_mouse_preference, NAVIGATION_PAN));
2098- shortcut_check_sets.push_back (ShortcutCheckSet (zoom_mod_pressed, zoom_not_empty, zoom_mod_input_count, zoom_mouse_preference, NAVIGATION_ZOOM));
2099- shortcut_check_sets.sort_custom <ShortcutCheckSetComparator>();
2084+
2085+ if (Input::get_singleton ()->get_mouse_mode () != Input::MOUSE_MODE_CAPTURED) {
2086+ ViewportNavMouseButton orbit_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/orbit_mouse_button" ).operator int ();
2087+ ViewportNavMouseButton pan_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/pan_mouse_button" ).operator int ();
2088+ ViewportNavMouseButton zoom_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/zoom_mouse_button" ).operator int ();
2089+ bool orbit_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_orbit_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_orbit_modifier_2" );
2090+ bool pan_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_pan_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_pan_modifier_2" );
2091+ bool zoom_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_zoom_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_zoom_modifier_2" );
2092+ int orbit_mod_input_count = _get_shortcut_input_count (" spatial_editor/viewport_orbit_modifier_1" ) + _get_shortcut_input_count (" spatial_editor/viewport_orbit_modifier_2" );
2093+ int pan_mod_input_count = _get_shortcut_input_count (" spatial_editor/viewport_pan_modifier_1" ) + _get_shortcut_input_count (" spatial_editor/viewport_pan_modifier_2" );
2094+ int zoom_mod_input_count = _get_shortcut_input_count (" spatial_editor/viewport_zoom_modifier_1" ) + _get_shortcut_input_count (" spatial_editor/viewport_zoom_modifier_2" );
2095+ bool orbit_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_orbit_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_orbit_modifier_2" );
2096+ bool pan_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_pan_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_pan_modifier_2" );
2097+ bool zoom_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_zoom_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_zoom_modifier_2" );
2098+ shortcut_check_sets.push_back (ShortcutCheckSet (orbit_mod_pressed, orbit_not_empty, orbit_mod_input_count, orbit_mouse_preference, NAVIGATION_ORBIT));
2099+ shortcut_check_sets.push_back (ShortcutCheckSet (pan_mod_pressed, pan_not_empty, pan_mod_input_count, pan_mouse_preference, NAVIGATION_PAN));
2100+ shortcut_check_sets.push_back (ShortcutCheckSet (zoom_mod_pressed, zoom_not_empty, zoom_mod_input_count, zoom_mouse_preference, NAVIGATION_ZOOM));
2101+ shortcut_check_sets.sort_custom <ShortcutCheckSetComparator>();
2102+ }
21002103
21012104 Ref<InputEventMouseMotion> m = p_event;
21022105
0 commit comments