aboutsummaryrefslogtreecommitdiff
path: root/ttwhy/routers/echo.cppm
diff options
context:
space:
mode:
Diffstat (limited to 'ttwhy/routers/echo.cppm')
-rw-r--r--ttwhy/routers/echo.cppm11
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;
};
}