diff options
Diffstat (limited to 'ttwhy/routers/echo.cppm')
| -rw-r--r-- | ttwhy/routers/echo.cppm | 11 |
1 files changed, 11 insertions, 0 deletions
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<typename StreamType> 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; }; } |
