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

Nov 13, 2008
257
3
www.thedave.me
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
 
Nov 13, 2008
257
3
www.thedave.me
I've also confirmed that this can be re-produced using the Touch keyboard on a non-touch desktop-only environment, so no special hardware is required to troubleshoot this, just a modern OS.
 

rconn

Administrator
Staff member
May 14, 2008
10,889
97
Unfortunately, the bug is in Microsoft's code. They've known about it for a while, but since it only affects apps that forward keystrokes to other apps, they're probably not too concerned. Unless Microsoft sends me the source code, there's not much I can do about it.
 
May 30, 2008
81
0
Gerakas, Greece
  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)
 
May 30, 2008
81
0
Gerakas, Greece
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