A Windows software package providing an interface similar to a Unix pty-master for communicating with Windows console programs.
Go to file
Ryan Prichard ac76cbcc20 Initial checkin of improved console input handling.
* Generate Ctrl-C events by calling GenerateConsoleCtrlEvent.

   I noticed that calls to this routine don't behave exactly the same as
   a real Ctrl-C keypress.  In Python, pressing Ctrl-C immediately
   displays a new "KeyboardInterrupt" line.  Calling
   GenerateConsoleCtrlEvent has no immediate effect, but after pressing
   Enter, Python displays a stack trace where a KeyboardInterrupt was
   raised.  After some testing, I suspect the issue is that a real Ctrl-C
   keypress interrupts a blocking console read, but
   GenerateConsoleCtrlEvent does not.

   I also tried synthesizing Ctrl-C using (a) PostMessage with
   WM_{CHAR,KEYDOWN}, and (b) SendInput.  I couldn't get either to work.

 * Recognize ESC sequences.  The set of recognized sequences is ad hoc.

 * Recognize UTF-8-encoded characters and convert them to UTF-16.

 * The code currently uses a timeout to differentiate between pressing ESC
   and pressing a key that generates an ESC sequence.  I have a theory that
   I can use the "Device Status Report" ESC sequences to avoid this
   timeout.
2012-03-19 21:30:16 -07:00
agent Initial checkin of improved console input handling. 2012-03-19 21:30:16 -07:00
include Add TODO comments. 2012-03-13 22:15:02 -07:00
libpconsole Add some TODO comments. 2012-02-20 04:54:18 -08:00
Misc Display Ctrl-C events in the ShowConsoleInput test program. 2012-03-19 21:13:10 -07:00
Shared Various changes intended to help with debugging. 2012-03-15 01:59:12 -07:00
TestNetClient Fix terminal output bugs in the TestNet client. 2011-11-24 03:03:25 -08:00
TestNetServer Update the TestNetServer. 2012-01-23 22:04:34 -08:00
unix-adapter Add some TODO comments. 2012-02-20 04:54:18 -08:00
.gitignore Work on switching from qmake to makefiles and reorganize code a little. 2012-01-21 17:30:41 -08:00
config-mingw.mk Remove cruft. 2012-01-21 17:33:41 -08:00
config-unix.mk Make the unix-adapter work on MSYS. 2012-02-20 03:34:14 -08:00
config.mk Use -MMD instead of -MD. It keeps the dependency files smaller. 2012-02-20 03:36:36 -08:00
deploy.sh Add a PseudoConsole.dll library providing a client to the PseudoConsole 2012-01-09 00:56:55 -08:00
Makefile Add a Unix pty<->pconsole adapter. 2012-01-28 14:23:31 -08:00
Notes.txt Add TODO comments. 2012-03-13 22:15:02 -07:00