diff options
author | univeous <univeous@gmail.com> | 2021-01-27 11:47:35 +0800 |
---|---|---|
committer | univeous <univeous@gmail.com> | 2021-01-27 11:47:56 +0800 |
commit | f5b506763e5448dfbba8414139a83a2fc3765b60 (patch) | |
tree | 77dfb4156deadaa4c132c22bc5b7519620a2b5b4 | |
parent | 1f5669d8d4a9515d605ad9fc55313fc27bd6d250 (diff) |
allow input echo when changing ui focus
-rw-r--r-- | scene/main/viewport.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 82053e1557..9ff869669b 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -2391,29 +2391,27 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { if (from && p_event->is_pressed()) { Control *next = nullptr; - 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_neighbor(SIDE_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_neighbor(SIDE_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_neighbor(SIDE_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_neighbor(SIDE_BOTTOM); } |