From b198d40e35050c8692296f06acedfaf5e3c8a023 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 19 Jun 2026 14:07:58 +0200 Subject: lib/io: extend scanner --- ttwhy/routers/echo.cppm | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'ttwhy/routers') diff --git a/ttwhy/routers/echo.cppm b/ttwhy/routers/echo.cppm index 41b7b51..fb392d6 100644 --- a/ttwhy/routers/echo.cppm +++ b/ttwhy/routers/echo.cppm @@ -15,6 +15,8 @@ namespace ttwhy::routers using namespace std::string_view_literals; constexpr auto vte_backspace_sequence = "\b \b"sv; + constexpr auto vte_newline_sequence = "\r\n"sv; + constexpr auto vte_horizontal_tab_sequqnce = "\t"sv; export template struct echo @@ -59,9 +61,18 @@ namespace ttwhy::routers co_await asio::async_write(m_output_stream, asio::buffer(vte_backspace_sequence), asio::as_tuple(asio::use_awaitable)); break; + case control_key::enter: + co_await asio::async_write(m_output_stream, asio::buffer(vte_newline_sequence), + asio::as_tuple(asio::use_awaitable)); + break; + case control_key::tab: + co_await asio::async_write(m_output_stream, asio::buffer(vte_horizontal_tab_sequqnce), + asio::as_tuple(asio::use_awaitable)); + break; default: co_await asio::async_write(m_output_stream, asio::buffer(std::format("{{CTRL:{}}}", std::to_underlying(key))), asio::as_tuple(asio::use_awaitable)); + break; }; } -- cgit v1.2.3