From 7d9d6fb797a190f0bcdb0f3afe5410d4d257ca3f Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 30 Dec 2016 00:45:11 +0100 Subject: [PATCH] Translate \n to \r when receiving text from an IME Fixes issue with fzf and return using the stock cyanogenmod keyboard reported by @mklein994 on gitter. --- app/src/main/java/com/termux/view/TerminalView.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/com/termux/view/TerminalView.java b/app/src/main/java/com/termux/view/TerminalView.java index ccd0fefd..a0a73bd4 100644 --- a/app/src/main/java/com/termux/view/TerminalView.java +++ b/app/src/main/java/com/termux/view/TerminalView.java @@ -298,6 +298,14 @@ public final class TerminalView extends View { boolean ctrlHeld = false; if (codePoint <= 31 && codePoint != 27) { + if (codePoint == '\n') { + // The AOSP keyboard and descendants seems to send \n as text when the enter key is pressed, + // instead of a key event like most other keyboard apps. A terminal expects \r for the enter + // key (although when icrnl is enabled this doesn't make a difference - run 'stty -icrnl' to + // check the behaviour). + codePoint = '\r'; + } + // E.g. penti keyboard for ctrl input. ctrlHeld = true; switch (codePoint) {