Cygwin: console: fix key input for native console application
- After 24 bit color support patch, arrow keys and function keys do not work properly in native console applications if they are started in cygwin console. This patch fixes this issue.
This commit is contained in:
parent
d3a69d32b1
commit
6a06c6bc8f
@ -455,6 +455,15 @@ sig_exit:
|
|||||||
fhandler_console::input_states
|
fhandler_console::input_states
|
||||||
fhandler_console::process_input_message (void)
|
fhandler_console::process_input_message (void)
|
||||||
{
|
{
|
||||||
|
if (wincap.has_con_24bit_colors ())
|
||||||
|
{
|
||||||
|
DWORD dwMode;
|
||||||
|
/* Enable xterm compatible mode in input */
|
||||||
|
GetConsoleMode (get_handle (), &dwMode);
|
||||||
|
dwMode |= ENABLE_VIRTUAL_TERMINAL_INPUT;
|
||||||
|
SetConsoleMode (get_handle (), dwMode);
|
||||||
|
}
|
||||||
|
|
||||||
char tmp[60];
|
char tmp[60];
|
||||||
|
|
||||||
if (!shared_console_info)
|
if (!shared_console_info)
|
||||||
@ -2881,6 +2890,14 @@ fhandler_console::fixup_after_fork_exec (bool execing)
|
|||||||
{
|
{
|
||||||
set_unit ();
|
set_unit ();
|
||||||
setup_io_mutex ();
|
setup_io_mutex ();
|
||||||
|
if (wincap.has_con_24bit_colors ())
|
||||||
|
{
|
||||||
|
DWORD dwMode;
|
||||||
|
/* Disable xterm compatible mode in input */
|
||||||
|
GetConsoleMode (get_handle (), &dwMode);
|
||||||
|
dwMode &= ~ENABLE_VIRTUAL_TERMINAL_INPUT;
|
||||||
|
SetConsoleMode (get_handle (), dwMode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// #define WINSTA_ACCESS (WINSTA_READATTRIBUTES | STANDARD_RIGHTS_READ | STANDARD_RIGHTS_WRITE | WINSTA_CREATEDESKTOP | WINSTA_EXITWINDOWS)
|
// #define WINSTA_ACCESS (WINSTA_READATTRIBUTES | STANDARD_RIGHTS_READ | STANDARD_RIGHTS_WRITE | WINSTA_CREATEDESKTOP | WINSTA_EXITWINDOWS)
|
||||||
|
Loading…
Reference in New Issue
Block a user