@@ -2183,23 +2183,26 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
21832183 }
21842184 }
21852185
2186- ViewportNavMouseButton orbit_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/orbit_mouse_button" ).operator int ();
2187- ViewportNavMouseButton pan_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/pan_mouse_button" ).operator int ();
2188- ViewportNavMouseButton zoom_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/zoom_mouse_button" ).operator int ();
2189- bool orbit_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_orbit_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_orbit_modifier_2" );
2190- bool pan_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_pan_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_pan_modifier_2" );
2191- bool zoom_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_zoom_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_zoom_modifier_2" );
2192- 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" );
2193- 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" );
2194- 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" );
2195- bool orbit_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_orbit_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_orbit_modifier_2" );
2196- bool pan_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_pan_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_pan_modifier_2" );
2197- bool zoom_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_zoom_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_zoom_modifier_2" );
21982186 Vector<ShortcutCheckSet> shortcut_check_sets;
2199- shortcut_check_sets.push_back (ShortcutCheckSet (orbit_mod_pressed, orbit_not_empty, orbit_mod_input_count, orbit_mouse_preference, NAVIGATION_ORBIT));
2200- shortcut_check_sets.push_back (ShortcutCheckSet (pan_mod_pressed, pan_not_empty, pan_mod_input_count, pan_mouse_preference, NAVIGATION_PAN));
2201- shortcut_check_sets.push_back (ShortcutCheckSet (zoom_mod_pressed, zoom_not_empty, zoom_mod_input_count, zoom_mouse_preference, NAVIGATION_ZOOM));
2202- shortcut_check_sets.sort_custom <ShortcutCheckSetComparator>();
2187+
2188+ if (Input::get_singleton ()->get_mouse_mode () != Input::MOUSE_MODE_CAPTURED) {
2189+ ViewportNavMouseButton orbit_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/orbit_mouse_button" ).operator int ();
2190+ ViewportNavMouseButton pan_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/pan_mouse_button" ).operator int ();
2191+ ViewportNavMouseButton zoom_mouse_preference = (ViewportNavMouseButton)EDITOR_GET (" editors/3d/navigation/zoom_mouse_button" ).operator int ();
2192+ bool orbit_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_orbit_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_orbit_modifier_2" );
2193+ bool pan_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_pan_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_pan_modifier_2" );
2194+ bool zoom_mod_pressed = _is_nav_modifier_pressed (" spatial_editor/viewport_zoom_modifier_1" ) && _is_nav_modifier_pressed (" spatial_editor/viewport_zoom_modifier_2" );
2195+ 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" );
2196+ 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" );
2197+ 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" );
2198+ bool orbit_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_orbit_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_orbit_modifier_2" );
2199+ bool pan_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_pan_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_pan_modifier_2" );
2200+ bool zoom_not_empty = !_is_shortcut_empty (" spatial_editor/viewport_zoom_modifier_1" ) || !_is_shortcut_empty (" spatial_editor/viewport_zoom_modifier_2" );
2201+ shortcut_check_sets.push_back (ShortcutCheckSet (orbit_mod_pressed, orbit_not_empty, orbit_mod_input_count, orbit_mouse_preference, NAVIGATION_ORBIT));
2202+ shortcut_check_sets.push_back (ShortcutCheckSet (pan_mod_pressed, pan_not_empty, pan_mod_input_count, pan_mouse_preference, NAVIGATION_PAN));
2203+ shortcut_check_sets.push_back (ShortcutCheckSet (zoom_mod_pressed, zoom_not_empty, zoom_mod_input_count, zoom_mouse_preference, NAVIGATION_ZOOM));
2204+ shortcut_check_sets.sort_custom <ShortcutCheckSetComparator>();
2205+ }
22032206
22042207 Ref<InputEventMouseMotion> m = p_event;
22052208
0 commit comments