From ff4d6afb603c1d50786dfcce9d483ddd452648e7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 24 Jan 2019 20:43:45 +0100 Subject: [PATCH] Terminal: Turn ctrl+character into the appropriate ^character. --- Terminal/main.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Terminal/main.cpp b/Terminal/main.cpp index 977ce17b4c..05ffd932c7 100644 --- a/Terminal/main.cpp +++ b/Terminal/main.cpp @@ -115,7 +115,15 @@ int main(int, char**) if (event.type == GUI_Event::Type::Paint) { terminal.paint(); } else if (event.type == GUI_Event::Type::KeyDown) { - write(ptm_fd, &event.key.character, 1); + char ch = event.key.character; + if (event.key.ctrl) { + if (ch >= 'a' && ch <= 'z') { + ch = ch - 'a' + 1; + } else if (ch == '\\') { + ch = 0x1c; + } + } + write(ptm_fd, &ch, 1); } else if (event.type == GUI_Event::Type::WindowActivated) { terminal.set_in_active_window(true); } else if (event.type == GUI_Event::Type::WindowDeactivated) {