Search code examples
c#.netvb.netwindows-8tablet

Opening docked on screen keyboard


I've been working with Windows 8 tablets this week, and I need to display an on screen keyboard in my program. Right now I'm using

Shell("cmd.exe /c start osk")

which gives me the standard windows 8 on screen keyboard

https://i.sstatic.net/7iFhr.png

But what I'd like to do is open up the docked, wider keyboard like this:

https://i.sstatic.net/XzfNj.png

I'm not sure if this is a windows 8 function or a tablet specific keyboard. I'm using an ASUS transformer right now, but this program needs to run on a variety of windows 8 tablets.

the desired end result is a larger keyboard, preferably docked at the bottom of the screen.

Anyone know of a solution?

(sorry about the links, I dont have the rep yet to post images.)


Solution

  • I've developed a working answer for this. It's not ideal but so far it works

    If My.Computer.FileSystem.FileExists("C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe") Then
            Process.Start("C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe")
            'ElseIf My.Computer.FileSystem.FileExists("C:\Program Files (x86)\Common Files\microsoft shared\ink\TabTip32.exe") Then
            '    Process.Start("C:\Program Files (x86)\Common Files\microsoft shared\ink\TabTip32.exe")
        Else
            Shell("cmd.exe /c start osk")
        End If
    

    tabtip.exe was what I was looking for. There's also a tabtip32.exe in the \programfiles (x86)\ directory, but that's not working for me.