From 5d359dba8e39361d06b051c6e3603f3893c4ddca Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Mon, 28 May 2018 19:22:09 +0000 Subject: [PATCH] Set an initial focus when the 3D screen appears. --- addons/accessibility/accessibility.gd | 15 +++++++++++++++ addons/accessibility/accessible.gd | 1 + 2 files changed, 16 insertions(+) diff --git a/addons/accessibility/accessibility.gd b/addons/accessibility/accessibility.gd index 9e30764..039eeee 100644 --- a/addons/accessibility/accessibility.gd +++ b/addons/accessibility/accessibility.gd @@ -7,8 +7,23 @@ func _augment_node(node): if node is Control: Accessible.new(node) +func _set_initial_screen_focus(screen): + var focus + var root = self + while root.get_parent() != null: + root = root.get_parent() + if screen == "3D": + focus = root.find_node("LineEdit", true, false) + print("Focus ",focus) + focus.grab_focus() + +func _set_initial_scene_focus(scene): + print("Set focus in scene") + func _enter_tree(): get_tree().connect("node_added", self, "_augment_node") + connect("scene_changed", self, "_set_initial_scene_focus") + connect("main_screen_changed", self, "_set_initial_screen_focus") func _exit_tree(): # Clean-up of the plugin goes here diff --git a/addons/accessibility/accessible.gd b/addons/accessibility/accessible.gd index 05627e1..75d3a67 100644 --- a/addons/accessibility/accessible.gd +++ b/addons/accessibility/accessible.gd @@ -9,6 +9,7 @@ func _gui_input(): print("GUI input.") func _init(node): + print(node.get_path()) self.node = node self.node.connect("focus_entered", self, "_focused") self.node.connect("mouse_entered", self, "_focused")