From 43d3eca5e9e787521f857b14df79dbcdc7221437 Mon Sep 17 00:00:00 2001 From: univeous Date: Wed, 27 Jan 2021 11:47:35 +0800 Subject: [PATCH] allow input echo when changing ui focus (cherry picked from commit f5b506763e5448dfbba8414139a83a2fc3765b60) --- scene/main/viewport.cpp | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 07ee5253b46..1395b01daad 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -2520,35 +2520,27 @@ void Viewport::_gui_input_event(Ref p_event) { if (from && p_event->is_pressed()) { Control *next = NULL; - Input *input = Input::get_singleton(); - - if (p_event->is_action_pressed("ui_focus_next") && input->is_action_just_pressed("ui_focus_next")) { - + if (p_event->is_action_pressed("ui_focus_next", true)) { next = from->find_next_valid_focus(); } - if (p_event->is_action_pressed("ui_focus_prev") && input->is_action_just_pressed("ui_focus_prev")) { - + if (p_event->is_action_pressed("ui_focus_prev", true)) { next = from->find_prev_valid_focus(); } - if (!mods && p_event->is_action_pressed("ui_up") && input->is_action_just_pressed("ui_up")) { - + if (!mods && p_event->is_action_pressed("ui_up", true)) { next = from->_get_focus_neighbour(MARGIN_TOP); } - if (!mods && p_event->is_action_pressed("ui_left") && input->is_action_just_pressed("ui_left")) { - + if (!mods && p_event->is_action_pressed("ui_left", true)) { next = from->_get_focus_neighbour(MARGIN_LEFT); } - if (!mods && p_event->is_action_pressed("ui_right") && input->is_action_just_pressed("ui_right")) { - + if (!mods && p_event->is_action_pressed("ui_right", true)) { next = from->_get_focus_neighbour(MARGIN_RIGHT); } - if (!mods && p_event->is_action_pressed("ui_down") && input->is_action_just_pressed("ui_down")) { - + if (!mods && p_event->is_action_pressed("ui_down", true)) { next = from->_get_focus_neighbour(MARGIN_BOTTOM); }