I've installed a 32-bit desktop application onto Windows 10 Pro x64 for the first time. Previously it has been used succesfully on Windows 7.

It is a PC with an external touchscreen monitor used in a Kiosk mode so that the only thing available to the user is the program itself. With out a physical keyboard or closing the program they cannot see the task bar or the system tray.

Under Settings/Devices/Typing I have selected the "Show the touch keyboard or handwriting panel when not in tablet mode and there's no keyboard attached."

The application only has a couple of places that allow the user to type. The keyboard appears nicely at the Windows login and for screens that use a TextBox. But there are a couple of places that use a generic InputBox dialog and the keyboard does not appear.

I've tried the "Add the standard keyboard layout as a touch keyboard option" which didn't seem to have an effect.

Setting OSK to autostart, which is what I used to do in Windows 7, is awkward at best because you can't minimize it without losing it to the hidden system tray and it is oversized compared to the other keyboard.

Is there another setting I need to examine to make it work?

Update: The reason the TextBox opens the keyboard is that it is assigned a password character. A normal TextBox does not bring the the keyboard forward either.

  • I think the "Show the touch keyboard..." option makes the keyboard icon appear in the system tray, so if it's hidden, that won't make any difference. Hard to tell from your post, but if you have access to the source code, you could write put in event handler that launches the touch screen executable every time an inputbox is clicked. I've done this as a workaround before. – BrianC Aug 27 '16 at 18:34
  • run the device in tablet mode all the time, here the keyboard should always show up – magicandre1981 Aug 27 '16 at 18:34
  • @magicandre1981 Same experience in tablet mode. – Rich Shealer Aug 27 '16 at 23:38
  • @BrianC I do have access, but I was trying to avoid changing the source. I don't think I have choice though. – Rich Shealer Aug 27 '16 at 23:38
  • can you provide (github) a small demo app (2 inputs, 1 were OSK is shown and 1 were it is not) were you see the issue? – magicandre1981 Aug 28 '16 at 7:12

Working with the program and doing further research I can summarize where the keyboard automatically appears with a WinForm program.

  • TextBox with the PasswordChar property set.
  • A ComboBox with the DropSownStyle property set to DropDown.

I found that there was no way to get the InputBox to use the touch. I ended up making a custom form with a TextBox and attached some custom routines to the Enter and Leave events of the TextBox.

Since this isn't the programing site I'll keep it short.

I used the TabletDeviceCollection to see if the computer had a TabletDevice with a Type of TabletDeviceType.Touch.

If it did I then launched the keyboard like this:

Process.Start("C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe")

Then to close it I called the unmanaged Win32 function FindWindow("IPTIP_Main_Window", "") to get a handle and then called another WIn32 to send it a message. SendMessage(handle, WM_SYSCOMMAND, SC_CLOSE, 0)

For more information search on those phrases.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.