WAD Unable to type various characters using Windows 8's onscreen keyboard

I recently purchased a Microsoft Surface Pro 3, which uses an on-screen keyboard as well as an optional physical keyboard.

When using TCMD, I'm unable to type various characters using the Windows 8 on-screen keyboard, including : and " -- In general, any punctuation that would need you to hold shift to type.

If I switch to TCC, punctuation works normally.

You should be able to reproduce this on any Windows 8.1 machine by enabling the "Touch Keyboard" toolbar of the Windows Taskbar and then clicking on the touch keyboard icon.

Everything works when using the physical keyboard.

TCC 16.03.55 x64 Windows 8.1 [Version 6.3.9600]
TCC Build 55 Windows 8.1 Build 9600
  1. It's not exactly like this. Some symbols get translated to other symbols. Specifically, symbols that should be shifted (for example the double quotes (") or the exclamation mark (!)) are passed to the underlying console as unshifted (specifically as single quote (') and the digits one (1) respectively). It seems as if the shift state is lost (or perhaps it's read from an irrelevant place, such as the true shift state at the time, or by using a different API than is supposed to be used).
  2. There is a perfectly good workaround, using the on-screen keyboard in the "full" mode, instead of the "compact" mode (the last mode in the mode list).
  3. That being said, it *should* be possible for Take Command to pass the correct character to the backend, as can be demonstrated by some of the "Windows Console Replacement" programs that have been mentioned on JPSoft's blog (I have only tried ConEmu so far, but I'll be downloading and testing more)
Just finished my tests:

  1. mintty: Works (not really surprising, as it isn't really a console application)
  2. Console2: Doesn't work (same as TCMD)
  3. PromptPal: Doens't work (same as TCMD)
  4. PowerCmd: Works
  5. ColorConsole: Works (but the program itself is extremely slow)
  6. ConEmu: Works