diff options
Diffstat (limited to 'userland/terminal')
-rw-r--r-- | userland/terminal/term.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/userland/terminal/term.c b/userland/terminal/term.c index 62aaa55..b734bb5 100644 --- a/userland/terminal/term.c +++ b/userland/terminal/term.c @@ -248,7 +248,12 @@ void run() { if (0 == e.ev.c) { continue; } - write(cmdfd, &e.ev.c, 1); + char c = e.ev.c; + int ctrl_down = (1 == ((e.ev.mode >> 2) & 1)); + if (ctrl_down) { + c &= 0x1f; + } + write(cmdfd, &c, 1); } } } |