terminal/src/cascadia/TerminalConnection
Mike Griese f32761849f
Add support for win32-input-mode to conhost, ConPTY, Terminal (#6309)
Adds support for `win32-input-mode` to conhost, conpty, and the Windows
Terminal.

* The shared `terminalInput` class supports sending these sequences when
  a VT client application requests this mode.
* ConPTY supports synthesizing `INPUT_RECORD`s from the input sent to it
  from a terminal
* ConPTY requests this mode immediately on startup (if started with a
  new flag, `PSEUDOCONSOLE_WIN32_INPUT_MODE`)
* The Terminal now supports sending this input as well, when conpty asks
  for it.

Also adds a new ConPTY flag `PSEUDOCONSOLE_WIN32_INPUT_MODE` which
requests this functionality from conpty, and the Terminal requests this
by default.

Also adds `experimental.input.forceVT` as a global setting to let a user
opt-out of this behavior, if they don't want it / this ends up breaking
horribly.

## Validation Steps Performed
* played with this mode in vtpipeterm
* played with this mode in Terminal
* checked a bunch of scenarios, as outlined in a [comment] on #4999

[comment]: https://github.com/microsoft/terminal/issues/4999#issuecomment-628718631

References #4999: The megathread
References #5887: The spec

Closes #879
Closes #2865
Closes #530 
Closes #3079
Closes #1119
Closes #1694 
Closes #3608 
Closes #4334
Closes #4446
2020-06-08 22:31:28 +00:00
..
Resources/en-US Rework error handling and state flow in the Azure connection (#5356) 2020-04-16 17:32:52 -07:00
AzureClient.h Rework error handling and state flow in the Azure connection (#5356) 2020-04-16 17:32:52 -07:00
AzureClientID.h Apply audit mode to TerminalConnection/Core/Settings and WinCon… (#4016) 2020-01-03 10:44:27 -08:00
AzureConnection.cpp Rework error handling and state flow in the Azure connection (#5356) 2020-04-16 17:32:52 -07:00
AzureConnection.h Rework error handling and state flow in the Azure connection (#5356) 2020-04-16 17:32:52 -07:00
AzureConnection.idl Azure connector only shows up if available (#2195) 2019-08-02 14:41:46 -07:00
ConnectionStateHolder.h Apply audit mode to TerminalConnection/Core/Settings and WinCon… (#4016) 2020-01-03 10:44:27 -08:00
ConptyConnection.cpp Add support for win32-input-mode to conhost, ConPTY, Terminal (#6309) 2020-06-08 22:31:28 +00:00
ConptyConnection.h Add WT_PROFILE_ID to the environment of the spawned process (#4852) 2020-04-17 17:15:20 +00:00
ConptyConnection.idl Add WT_PROFILE_ID to the environment of the spawned process (#4852) 2020-04-17 17:15:20 +00:00
EchoConnection.cpp Apply audit mode to TerminalConnection/Core/Settings and WinCon… (#4016) 2020-01-03 10:44:27 -08:00
EchoConnection.h Apply audit mode to TerminalConnection/Core/Settings and WinCon… (#4016) 2020-01-03 10:44:27 -08:00
EchoConnection.idl Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
init.cpp Apply audit mode to TerminalConnection/Core/Settings and WinCon… (#4016) 2020-01-03 10:44:27 -08:00
ITerminalConnection.idl Implement ConnectionState and closeOnExit=graceful/always/never (#3623) 2019-11-25 14:22:29 -08:00
packages.config deps: upgrade CppWinRT to 2.0.200316.3, gsl to v2.1.0 (#4536) 2020-03-23 17:15:24 +00:00
pch.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
pch.h Manually pass mouse wheel messages to TermControls (#5131) 2020-04-01 16:58:16 +00:00
TelnetConnection.cpp ci: run spell check in CI, fix remaining issues (#4799) 2020-03-25 11:02:53 -07:00
TelnetConnection.h Create Telnet connection type and default loopback profile for… (#3858) 2019-12-09 11:07:08 -08:00
TelnetConnection.idl Create Telnet connection type and default loopback profile for… (#3858) 2019-12-09 11:07:08 -08:00
TerminalConnection.def Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
TerminalConnection.vcxproj Move all wildcards into targets or expand them (#6406) 2020-06-08 14:01:47 -07:00
TerminalConnection.vcxproj.filters Create Telnet connection type and default loopback profile for… (#3858) 2019-12-09 11:07:08 -08:00