Windows 10 settings do not recognize Keyman keyboards


#1

I have the latest version of Keyman (10.0.1113.0). When I install keyboards in Keyman desktop, they are listed as associated with a language. But when I go to settings > Time and Language > Region and language, find the language associated with a Keyman keyboard and click Options, it does not list the keyboard, it says “unavailable input method.” I cannot add a Keyman keyboard as an option to another language in Windows settings, because it does not show the Keyman keyboards in the list of keyboards the way earlier versions of Windows did. I can use the Windows language bar to switch to my Keyman keyboards. What I am unable to do is set up automatic keyboard switching in Toolbox, Toolbox doesn’t show the Keyman keyboards in the list of installed keyboards.

My Windows 10 version: 1803 Home.


#2

I also tried this in Windows 7 and had a similar problem. You can associate a keyboard with a language in Keyman, and that shows in the Windows language list. In Windows 7, it does not say “unavailable input method” but gives the name of the Keyman keyboard. But I still could not add a Keyman keyboard to a language in the Windows control panel, and Toolbox would not show the Keyman keyboards in the list of keyboards installed.


#3

The “unavailable input method” issue is unrelated to Toolbox’s inability to enumerate Keyman keyboards. Keyman keyboards cannot be enumerated by Toolbox because they are Text Service Framework (TSF) Text Input Processors (TIPs). In earlier versions of Keyman (8 and below), Keyman created a “shadow system keyboard” which was essentially a clone of kbdus.dll, and that’s what Toolbox would see; however Keyman 9 and 10 present only as TIPs (in Keyman 8, TSF integration worked quite differently).

We are working through the “Unavailable input method” message with Microsoft.

The reason that a Keyman keyboard cannot be added to another language is that the registration of the keyboard is only for the languages that you have selected in Keyman Configuration. I haven’t tried with Windows 10, but in earlier versions of Windows, registering a keyboard or TIP to be available for any language caused it in some circumstances to be installed for every language, resulting in hundreds of keyboard layouts installed (and crashing some Windows language bar UI elements). So Keyman only installs a layout for the languages you select in Keyman Configuration.