Onscreen keyboards not installing properly

I’ve been attempting to package Keyman for deployment through SCCM, and have had partial success at this point.
I first tried using the MSI, and then moved to using a packaged setup.exe from developer tools (including a custom setup.inf and the KMP files that I wanted to push to the users.)

The problem is, that after the install completes the keyboard layouts show up in the configuration page of Keyman, but not as available languages to actually use.
The only way I’ve been able to get the keyboards to actually show is to go back in after installing keyman, and clicking the “Install Keyboard” or “Download Keyboard” links in config.

These are the two keyboards I installed. I manually went back and added the “CreeBoard” keyboard using the “Download Keyboard” option and once I did, it now shows up in the on screen keyboard, but you can see that the “Swampy Cree” keyboard says its installed, however doesn’t show up as a usable option.

I’m hoping there’s a way to get these pushed to the users, since self service isn’t an option as regular staff can’t perform the admin/UAC escalation that the installers require, and the install seems to be user specific (as in, I installed and tested it using my admin account, but then when I switched to a different account on the same computer the keyboards were no longer available), so doing it on a case by case basis will be extremely time consuming.

Hoping someone can help.

I was able to download CreeBoard (CreeBoard keyboard) on Windows10 and using Keyman for Windows 14.0. The keyboard and OSK seem to work and it’s associated with the correct language. Of course, I don’t know about your deployment route. Perhaps others can help with that.

Hi @KenBauer, welcome to the community!

Yes, you need to run a per-user script to associate the installed keyboard with a language for the user, because that is a user-level setting.

You can run the following command in user context (not elevated) to make the language association for a user. This script can be safely run even if the language association is already present (so perhaps always run on login):

"%programfiles(x86)%\keyman\keyman desktop\kmshell.exe" -install-tips-for-packages bj_cree_east_james_bay=cr-Cans

Also, make sure you are using the latest release (14.0.290) of Keyman for Windows – we recently addressed a couple of deployment issues.

The following topic is a bit older but may also be helpful (though the newer -install-tips-for-packages command that I just gave you is a bit easier to work with):

Thanks so much @Marc I really appreciate the tip. I’m going to try that out today.

I have a couple quick questions though. Is it possible to do multiple language associations with a single command, or would it be best to just run this once for each pack? Also, at the end of the line, you have =cr-Cans. Is that part of the keyboard, or is that an additional command for the association?

Thanks

The =cr-Cans is the language association setup that links the already installed keyboard to a language in the user’s profile and makes it available in the Windows language picker. cr-Cans is the BCP 47 tag for the language, where cr is the language Cree, and Cans is the Canadian Aboriginal Syllabics writing system or script.

You can add extra keyboard=language associations to the end of the command, space-separated, for example, adding also the sil_euro_latin keyboard for the language tag fr (French):

"%programfiles(x86)%\keyman\keyman desktop\kmshell.exe" -install-tips-for-packages bj_cree_east_james_bay=cr-Cans sil_euro_latin=fr