Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Developing a custom virtual keyboard for Windows 10

I would like to create a custom virtual keyboard for touch on Windows 10. I am primarily a c# developer but if Windows 10 Dev is anything like the previous version, I'll probably have to revert back to C/C++. I want to be able to define everything, shape, regions, and data that it spits out when keys are pressed.

Windows 10 has a keyboard selection menu (see picture), I would like it to integrate with this so that it can be used with the native keyboard interfaces.

enter image description here

I'm an experienced programmer of business applications but I have no idea where to start with this. I saw this article for a Windows 7 keyboard but I'm hoping that things have changed for Windows 10.

My questions are:

  1. Is it possible to create a custome virtual keyboard that integrates natively?
  2. How do I integrate it with the Windows 10 Virtual Keyboard selector (pictured)?
  3. Where do I start?

Any help/direction/words of wisdom would be appreciated.

Update: I think maybe I haven't explained it very well. I want to build a virtual keyboard that isn't in the same shape as a normal one and essentially works like a shortcut keyboard. You tap a key and it insert a preset snippet of text in to the context window. And is selectable from the virtual keyboard options pictured (blue bit).

like image 668
Robert Avatar asked Oct 20 '15 14:10

Robert


People also ask

Can I create my own virtual keyboard?

Create, market, and distribute your own product using the Hot Virtual Keyboard Engine. You can build your own on-screen keyboard customized for your needs. Types of kiosk keyboards: Telekiosk keyboard.

How do I create a Windows virtual keyboard?

Go to Start , then select Settings > Accessibility > Keyboard, and turn on the On-Screen Keyboard toggle. A keyboard that can be used to move around the screen and enter text will appear on the screen. The keyboard will remain on the screen until you close it.

Can you make a custom keyboard layout Windows 10?

Windows 10's keyboard layout can be easily changed at any time via built-in Settings. If you don't like the default options, you can opt to create a custom keyboard layout for your Windows 10 device. In doing so, you will need to use the Microsoft Keyboard Layout Creator app, available for free.

How do I create a virtual keyboard in HTML?

Add an HTML div to a blank page and insert several input buttons into the div. Ten of these buttons stand for number 0 to number 9 and the last button stands for the Backspace button. Set the onclick events of the ten number buttons to input() function, and then set the parameter of the input() function to this.


1 Answers

Update:

I just tried using the Keyboard Layout Manager... OMG, so much easier to use than MSKLC, and it works on Windows 10; but I was still seeing the "Unavailable input method" message.


Actually, I just added a custom layout using MS Keyboard Layout Creator.

Changing the layout also modifies how the physical keyboard maps keys.

The trick is you can develop a new layout on Windows 10, but you can't use the "Build DLL and Setup Package" method on Windows 10 because the program needs .NET frameworks 2.0. I tried installing v2.0 on my system, but it just would not do it. I was able to build the files on a Windows 8.1 system.

Steps to take:

  1. Download & install MS Keyboard Layout Creator on a Windows 8.1 or older systemv
  2. Make sure .NET Framework 3.5 (includes .NET 2.0 and 3.0) or older is installed
  3. Design your layout; before saving, make sure to remember what base language is set.
  4. Project > Validate Layout
  5. Project > Build DLL and Setup Package
  6. A folder containing the following structure will be created ("mylayout" will be the name you chose)

    mylayout
     |_ amd64
     |  |_ Mylayout.dll
     |_ i386 
     |  |_ Mylayout.dll
     |_ ia64
     |  |_ Mylayout.dll
     | wow64
     |  |_ Mylayout.dll
     |_ Mylayout_amd64.msi
     |_ Mylayout_i386.msi
     |_ Mylayout_ia64.msi
     |_ setup.exe
    
  7. Install the appropriate file

  8. The custom keyboard should now show up as a dropdown in the virtual keyboard, if not select "Language preferences".
  9. You should now be on the "Country or Region" page. From here if the keyboard is based on a language, the language will show up here, or it may be added in an existing language (e.g. "English (United States)")... click on the language, then select "Options".
  10. You should see your custom keyboard added here. If not, select "Additional date, time & regional settings", then "Change input methods". Then click on the "Options" in the custom language. It should let you preview the layout from here.

Caveat: Initially, I chose a base "UK" layout & a Gaelic language option showed up. This did add an option to the virtual keyboard language selector, but on the second time around I started with a base US Dvorak layout and the selection would not show up for me. In the control panel input method section, I saw a "Unavailable input method" message. I'm not sure how to get around that issue.

Maybe you'll have better luck.

like image 170
Mottie Avatar answered Sep 30 '22 19:09

Mottie