From 187592b6734bf8cc73b10bbcf9e100597ee3b544 Mon Sep 17 00:00:00 2001 From: Saas Date: Mon, 15 Sep 2025 22:37:31 +0200 Subject: [PATCH 1/3] add moving visject nodes in smaller increments when holding shift and alt --- Source/Editor/Surface/VisjectSurface.Input.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Source/Editor/Surface/VisjectSurface.Input.cs b/Source/Editor/Surface/VisjectSurface.Input.cs index 09df195eb..6299c1bb5 100644 --- a/Source/Editor/Surface/VisjectSurface.Input.cs +++ b/Source/Editor/Surface/VisjectSurface.Input.cs @@ -721,7 +721,12 @@ namespace FlaxEditor.Surface if (HasNodesSelection) { - var keyMoveRange = 50; + var keyMoveDelta = 50; + bool altDown = RootWindow.GetKey(KeyboardKeys.Alt); + bool shiftDown = RootWindow.GetKey(KeyboardKeys.Shift); + if (altDown || shiftDown) + keyMoveDelta = shiftDown ? 10 : 25; + switch (key) { case KeyboardKeys.Backspace: @@ -759,7 +764,7 @@ namespace FlaxEditor.Surface else if (!IsMovingSelection && CanEdit) { // Move selected nodes - var delta = new Float2(0, key == KeyboardKeys.ArrowUp ? -keyMoveRange : keyMoveRange); + var delta = new Float2(0, key == KeyboardKeys.ArrowUp ? -keyMoveDelta : keyMoveDelta); MoveSelectedNodes(delta); } return true; @@ -775,9 +780,8 @@ namespace FlaxEditor.Surface if ((key == KeyboardKeys.ArrowRight && selectedBox.IsOutput) || (key == KeyboardKeys.ArrowLeft && !selectedBox.IsOutput)) { if (_selectedConnectionIndex < 0 || _selectedConnectionIndex >= selectedBox.Connections.Count) - { _selectedConnectionIndex = 0; - } + toSelect = selectedBox.Connections[_selectedConnectionIndex]; } else @@ -805,7 +809,7 @@ namespace FlaxEditor.Surface else if (!IsMovingSelection && CanEdit) { // Move selected nodes - var delta = new Float2(key == KeyboardKeys.ArrowLeft ? -keyMoveRange : keyMoveRange, 0); + var delta = new Float2(key == KeyboardKeys.ArrowLeft ? -keyMoveDelta : keyMoveDelta, 0); MoveSelectedNodes(delta); } return true; @@ -821,13 +825,9 @@ namespace FlaxEditor.Surface return true; if (Root.GetKey(KeyboardKeys.Shift)) - { _selectedConnectionIndex = ((_selectedConnectionIndex - 1) % connectionCount + connectionCount) % connectionCount; - } else - { _selectedConnectionIndex = (_selectedConnectionIndex + 1) % connectionCount; - } return true; } } From 4d77646f2692b8c9570bd426a8c15cbb2d08b6f3 Mon Sep 17 00:00:00 2001 From: Saas Date: Mon, 15 Sep 2025 22:46:56 +0200 Subject: [PATCH 2/3] fix error when changing selected box with arrow keys --- Source/Editor/Surface/VisjectSurface.Input.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Source/Editor/Surface/VisjectSurface.Input.cs b/Source/Editor/Surface/VisjectSurface.Input.cs index 6299c1bb5..c24a82f52 100644 --- a/Source/Editor/Surface/VisjectSurface.Input.cs +++ b/Source/Editor/Surface/VisjectSurface.Input.cs @@ -777,11 +777,8 @@ namespace FlaxEditor.Surface if (selectedBox != null) { Box toSelect = null; - if ((key == KeyboardKeys.ArrowRight && selectedBox.IsOutput) || (key == KeyboardKeys.ArrowLeft && !selectedBox.IsOutput)) + if (((key == KeyboardKeys.ArrowRight && selectedBox.IsOutput) || (key == KeyboardKeys.ArrowLeft && !selectedBox.IsOutput)) && selectedBox.HasAnyConnection) { - if (_selectedConnectionIndex < 0 || _selectedConnectionIndex >= selectedBox.Connections.Count) - _selectedConnectionIndex = 0; - toSelect = selectedBox.Connections[_selectedConnectionIndex]; } else From 4f3f1cd163b287924cc04948d41c927ac6dbe9b3 Mon Sep 17 00:00:00 2001 From: Saas Date: Mon, 15 Sep 2025 23:09:07 +0200 Subject: [PATCH 3/3] make changing selected box with arrow up/ down loop --- Source/Editor/Surface/VisjectSurface.Input.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Source/Editor/Surface/VisjectSurface.Input.cs b/Source/Editor/Surface/VisjectSurface.Input.cs index c24a82f52..4ce2025a6 100644 --- a/Source/Editor/Surface/VisjectSurface.Input.cs +++ b/Source/Editor/Surface/VisjectSurface.Input.cs @@ -754,12 +754,13 @@ namespace FlaxEditor.Surface Box selectedBox = GetSelectedBox(SelectedNodes); if (selectedBox != null) { - Box toSelect = (key == KeyboardKeys.ArrowUp) ? selectedBox?.ParentNode.GetPreviousBox(selectedBox) : selectedBox?.ParentNode.GetNextBox(selectedBox); - if (toSelect != null && toSelect.IsOutput == selectedBox.IsOutput) - { - Select(toSelect.ParentNode); - toSelect.ParentNode.SelectBox(toSelect); - } + int delta = key == KeyboardKeys.ArrowDown ? 1 : -1; + List boxes = selectedBox.ParentNode.GetBoxes().FindAll(b => b.IsOutput == selectedBox.IsOutput); + int selectedIndex = boxes.IndexOf(selectedBox); + Box toSelect = boxes[Mathf.Wrap(selectedIndex + delta, 0, boxes.Count - 1)]; + + Select(toSelect.ParentNode); + toSelect.ParentNode.SelectBox(toSelect); } else if (!IsMovingSelection && CanEdit) {