diff --git a/addons/godot_xterm/native/src/terminal.cpp b/addons/godot_xterm/native/src/terminal.cpp index 02adb19..cde35e7 100644 --- a/addons/godot_xterm/native/src/terminal.cpp +++ b/addons/godot_xterm/native/src/terminal.cpp @@ -646,8 +646,6 @@ void Terminal::initialize_input() { selection_timer->set_wait_time(0.05); selection_timer->connect("timeout", Callable(this, "_on_selection_held")); add_child(selection_timer, false, INTERNAL_MODE_FRONT); - - connect("gui_input", Callable(this, "_on_gui_input")); } void Terminal::_handle_key_input(Ref event) { diff --git a/test/test_rendering.gd b/test/test_rendering.gd index 5503838..5fa0c23 100644 --- a/test/test_rendering.gd +++ b/test/test_rendering.gd @@ -57,6 +57,13 @@ class TestKeyPressed: await wait_for_signal(terminal.key_pressed, 1) assert_signal_emitted(terminal, "key_pressed") + func test_key_pressed_emitted_only_once_per_key_input(): + input_event.keycode = KEY_B + input_event.unicode = "b".unicode_at(0) + + await wait_for_signal(terminal.key_pressed, 1) + assert_signal_emit_count(terminal, "key_pressed", 1) + func test_key_pressed_emits_interpreted_key_input_as_first_param(): input_event.keycode = KEY_UP input_event.unicode = 0