Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
chardev/char-win-stdio: Support VT sequences on Windows 11 host
If the monitor or the serial port use STDIO as backend on Windows 11 host,
e.g. -nographic options is used, the monitor or the guest Linux do not
response to arrow keys.

When Windows creates a console, ENABLE_VIRTUAL_PROCESS_INPUT is disabled
by default. Arrow keys cannot be retrieved by ReadFile or ReadConsoleInput
functions.

Add ENABLE_VIRTUAL_PROCESS_INPUT to the flag which is passed to SetConsoleMode,
when opening stdio console.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1674

Signed-off-by: Zhang Huasen <huasenzhang@foxmail.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <tencent_8DA57B405D427A560FD40F8FB0C0B1ADDE09@qq.com>
  • Loading branch information
Zhang Huasen authored and elmarco committed Jun 27, 2023
1 parent b097b80 commit 1e0c544
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion chardev/char-win-stdio.c
Expand Up @@ -190,7 +190,7 @@ static void qemu_chr_open_stdio(Chardev *chr,
}
}

dwMode |= ENABLE_LINE_INPUT;
dwMode |= ENABLE_LINE_INPUT | ENABLE_VIRTUAL_TERMINAL_INPUT;

if (is_console) {
/* set the terminal in raw mode */
Expand Down

0 comments on commit 1e0c544

Please sign in to comment.