summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/vbexport/keyboard.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/vbexport/keyboard.c b/lib/vbexport/keyboard.c
index b6ccd5adcc..3e4a85cdf0 100644
--- a/lib/vbexport/keyboard.c
+++ b/lib/vbexport/keyboard.c
@@ -26,8 +26,16 @@ uint32_t VbExKeyboardRead(void)
goto out;
/* Read a non-Escape character or a standalone Escape character. */
- if ((c = getc()) != CSI_0 || !tstc())
+ c = getc();
+ if (c != CSI_0 || !tstc()) {
+ /*
+ * Special handle of Ctrl-Enter, which is converted into '\n'
+ * by i8042 driver.
+ */
+ if (c == '\n')
+ c = VB_KEY_CTRL_ENTER;
goto out;
+ }
/* Filter out non- Escape-[ sequence. */
if (getc() != CSI_1) {