@@ -5694,6 +5694,25 @@ void Node3DEditorViewport::_add_advanced_debug_draw_mode_item(PopupMenu *p_popup
56945694 display_submenu->set_item_tooltip (-1 , tooltip);
56955695}
56965696
5697+ void Node3DEditorViewport::_load_viewport_inputs () {
5698+ // Registering with Key::NONE intentionally creates an empty Array.
5699+ register_shortcut_action (" spatial_editor/viewport_orbit_modifier_1" , TTRC (" Viewport Orbit Modifier 1" ), Key::NONE);
5700+ register_shortcut_action (" spatial_editor/viewport_orbit_modifier_2" , TTRC (" Viewport Orbit Modifier 2" ), Key::NONE);
5701+ register_shortcut_action (" spatial_editor/viewport_pan_modifier_1" , TTRC (" Viewport Pan Modifier 1" ), Key::SHIFT);
5702+ register_shortcut_action (" spatial_editor/viewport_pan_modifier_2" , TTRC (" Viewport Pan Modifier 2" ), Key::NONE);
5703+ register_shortcut_action (" spatial_editor/viewport_zoom_modifier_1" , TTRC (" Viewport Zoom Modifier 1" ), Key::SHIFT);
5704+ register_shortcut_action (" spatial_editor/viewport_zoom_modifier_2" , TTRC (" Viewport Zoom Modifier 2" ), Key::CTRL);
5705+
5706+ register_shortcut_action (" spatial_editor/freelook_left" , TTRC (" Freelook Left" ), Key::A, true );
5707+ register_shortcut_action (" spatial_editor/freelook_right" , TTRC (" Freelook Right" ), Key::D, true );
5708+ register_shortcut_action (" spatial_editor/freelook_forward" , TTRC (" Freelook Forward" ), Key::W, true );
5709+ register_shortcut_action (" spatial_editor/freelook_backwards" , TTRC (" Freelook Backwards" ), Key::S, true );
5710+ register_shortcut_action (" spatial_editor/freelook_up" , TTRC (" Freelook Up" ), Key::E, true );
5711+ register_shortcut_action (" spatial_editor/freelook_down" , TTRC (" Freelook Down" ), Key::Q, true );
5712+ register_shortcut_action (" spatial_editor/freelook_speed_modifier" , TTRC (" Freelook Speed Modifier" ), Key::SHIFT);
5713+ register_shortcut_action (" spatial_editor/freelook_slow_modifier" , TTRC (" Freelook Slow Modifier" ), Key::ALT);
5714+ }
5715+
56975716Node3DEditorViewport::Node3DEditorViewport (Node3DEditor *p_spatial_editor, int p_index) {
56985717 cpu_time_history_index = 0 ;
56995718 gpu_time_history_index = 0 ;
@@ -5862,22 +5881,8 @@ Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, int p
58625881 display_submenu->connect (SceneStringName (id_pressed), callable_mp (this , &Node3DEditorViewport::_menu_option));
58635882 view_display_menu->set_disable_shortcuts (true );
58645883
5865- // Registering with Key::NONE intentionally creates an empty Array.
5866- register_shortcut_action (" spatial_editor/viewport_orbit_modifier_1" , TTRC (" Viewport Orbit Modifier 1" ), Key::NONE);
5867- register_shortcut_action (" spatial_editor/viewport_orbit_modifier_2" , TTRC (" Viewport Orbit Modifier 2" ), Key::NONE);
5868- register_shortcut_action (" spatial_editor/viewport_pan_modifier_1" , TTRC (" Viewport Pan Modifier 1" ), Key::SHIFT);
5869- register_shortcut_action (" spatial_editor/viewport_pan_modifier_2" , TTRC (" Viewport Pan Modifier 2" ), Key::NONE);
5870- register_shortcut_action (" spatial_editor/viewport_zoom_modifier_1" , TTRC (" Viewport Zoom Modifier 1" ), Key::SHIFT);
5871- register_shortcut_action (" spatial_editor/viewport_zoom_modifier_2" , TTRC (" Viewport Zoom Modifier 2" ), Key::CTRL);
5872-
5873- register_shortcut_action (" spatial_editor/freelook_left" , TTRC (" Freelook Left" ), Key::A, true );
5874- register_shortcut_action (" spatial_editor/freelook_right" , TTRC (" Freelook Right" ), Key::D, true );
5875- register_shortcut_action (" spatial_editor/freelook_forward" , TTRC (" Freelook Forward" ), Key::W, true );
5876- register_shortcut_action (" spatial_editor/freelook_backwards" , TTRC (" Freelook Backwards" ), Key::S, true );
5877- register_shortcut_action (" spatial_editor/freelook_up" , TTRC (" Freelook Up" ), Key::E, true );
5878- register_shortcut_action (" spatial_editor/freelook_down" , TTRC (" Freelook Down" ), Key::Q, true );
5879- register_shortcut_action (" spatial_editor/freelook_speed_modifier" , TTRC (" Freelook Speed Modifier" ), Key::SHIFT);
5880- register_shortcut_action (" spatial_editor/freelook_slow_modifier" , TTRC (" Freelook Slow Modifier" ), Key::ALT);
5884+ _load_viewport_inputs ();
5885+ InputMap::get_singleton ()->connect (" project_settings_loaded" , callable_mp (this , &Node3DEditorViewport::_load_viewport_inputs));
58815886
58825887 ED_SHORTCUT (" spatial_editor/lock_transform_x" , TTRC (" Lock Transformation to X axis" ), Key::X);
58835888 ED_SHORTCUT (" spatial_editor/lock_transform_y" , TTRC (" Lock Transformation to Y axis" ), Key::Y);
0 commit comments