diff --git a/Source/Editor/GUI/Tree/Tree.cs b/Source/Editor/GUI/Tree/Tree.cs
index 3a9780ed9..e86e1382a 100644
--- a/Source/Editor/GUI/Tree/Tree.cs
+++ b/Source/Editor/GUI/Tree/Tree.cs
@@ -19,7 +19,7 @@ namespace FlaxEditor.GUI.Tree
///
/// The key updates timeout in seconds.
///
- public static float KeyUpdateTimeout = 0.12f;
+ public static float KeyUpdateTimeout = 0.25f;
///
/// Delegate for selected tree nodes collection change.
@@ -113,7 +113,7 @@ namespace FlaxEditor.GUI.Tree
AutoFocus = false;
_supportMultiSelect = supportMultiSelect;
- _keyUpdateTime = KeyUpdateTimeout * 10;
+ _keyUpdateTime = KeyUpdateTimeout;
}
internal void OnRightClickInternal(TreeNode node, ref Float2 location)
@@ -347,10 +347,12 @@ namespace FlaxEditor.GUI.Tree
if (ContainsFocus && node != null && node.AutoFocus)
{
var window = Root;
+ if (window.GetKeyDown(KeyboardKeys.ArrowUp) || window.GetKeyDown(KeyboardKeys.ArrowDown))
+ _keyUpdateTime = KeyUpdateTimeout;
if (_keyUpdateTime >= KeyUpdateTimeout && window is WindowRootControl windowRoot && windowRoot.Window.IsFocused)
{
- bool keyUpArrow = window.GetKeyDown(KeyboardKeys.ArrowUp);
- bool keyDownArrow = window.GetKeyDown(KeyboardKeys.ArrowDown);
+ bool keyUpArrow = window.GetKey(KeyboardKeys.ArrowUp);
+ bool keyDownArrow = window.GetKey(KeyboardKeys.ArrowDown);
// Check if arrow flags are different
if (keyDownArrow != keyUpArrow)