|
@@ -819,7 +819,6 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
switch(p_event.type) {
|
|
switch(p_event.type) {
|
|
case InputEvent::MOUSE_BUTTON: {
|
|
case InputEvent::MOUSE_BUTTON: {
|
|
|
|
|
|
@@ -1204,11 +1203,9 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|
}
|
|
}
|
|
} break;
|
|
} break;
|
|
case InputEvent::MOUSE_MOTION: {
|
|
case InputEvent::MOUSE_MOTION: {
|
|
-
|
|
|
|
const InputEventMouseMotion &m=p_event.mouse_motion;
|
|
const InputEventMouseMotion &m=p_event.mouse_motion;
|
|
_edit.mouse_pos=Point2(p_event.mouse_motion.x,p_event.mouse_motion.y);
|
|
_edit.mouse_pos=Point2(p_event.mouse_motion.x,p_event.mouse_motion.y);
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
if (spatial_editor->get_selected()) {
|
|
if (spatial_editor->get_selected()) {
|
|
|
|
|
|
|
|
|
|
@@ -1244,7 +1241,7 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|
|
|
|
|
NavigationScheme nav_scheme = _get_navigation_schema("3d_editor/navigation_scheme");
|
|
NavigationScheme nav_scheme = _get_navigation_schema("3d_editor/navigation_scheme");
|
|
NavigationMode nav_mode = NAVIGATION_NONE;
|
|
NavigationMode nav_mode = NAVIGATION_NONE;
|
|
-
|
|
|
|
|
|
+
|
|
if (_edit.gizmo.is_valid()) {
|
|
if (_edit.gizmo.is_valid()) {
|
|
|
|
|
|
Plane plane=Plane(_edit.gizmo_initial_pos,_get_camera_normal());
|
|
Plane plane=Plane(_edit.gizmo_initial_pos,_get_camera_normal());
|
|
@@ -1558,6 +1555,26 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|
if (m.mod.alt)
|
|
if (m.mod.alt)
|
|
nav_mode = NAVIGATION_PAN;
|
|
nav_mode = NAVIGATION_PAN;
|
|
}
|
|
}
|
|
|
|
+ }else{
|
|
|
|
+ // Handle trackpad (no external mouse) use case
|
|
|
|
+ int mod = 0;
|
|
|
|
+ if (m.mod.shift)
|
|
|
|
+ mod=KEY_SHIFT;
|
|
|
|
+ if (m.mod.alt)
|
|
|
|
+ mod=KEY_ALT;
|
|
|
|
+ if (m.mod.control)
|
|
|
|
+ mod=KEY_CONTROL;
|
|
|
|
+ if (m.mod.meta)
|
|
|
|
+ mod=KEY_META;
|
|
|
|
+
|
|
|
|
+ if(mod){
|
|
|
|
+ if (mod == _get_key_modifier("3d_editor/pan_modifier"))
|
|
|
|
+ nav_mode = NAVIGATION_PAN;
|
|
|
|
+ else if (mod == _get_key_modifier("3d_editor/zoom_modifier"))
|
|
|
|
+ nav_mode = NAVIGATION_ZOOM;
|
|
|
|
+ else if (mod == _get_key_modifier("3d_editor/orbit_modifier"))
|
|
|
|
+ nav_mode = NAVIGATION_ORBIT;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
switch(nav_mode) {
|
|
switch(nav_mode) {
|