Thank you so much for developing this amazing tool!
I am trying to develop a keyboard with Keyman Developer 16.0.145. When I try to debug, the output is the result of what my keystrokes would output on a standard English keyboard. I get the same result when I compile, install, activate, and test the keyboard. However, my American laptop keyboard and Latinoamericano external keyboard are normally set to Latinoamericano, so the key assignations are different than the American ones.
For example, I have "&" + "c" > "ĉ". But when I hit “Shift” + " “7” + “c” (like the American keyboard) I get "&c ". And when I hit “Shift” + " “6” + “c” (like the Latinoamericano keyboard) I get “^c”. I don’t get “ĉ” as desired.
I added the store(&MnemonicLayout) "1" option because I want my rules to work according to the actual output. But I realize that I also want my keyboard’s key mapping to be based on the Latinoamericano keyboard. That must be part of why I can’t get my keyboard to work. How do I specify that?
Simple answer is that the Keyman Developer Debugger currently only supports US English base layout. Keyman for Windows fully supports mnemonic layouts. Keyman on other platforms only support US English base layout at this point.
So to test, you could install the keyboard into Keyman for Windows first.
Good morning Marc! Thanks so much for the quick answer. I did try installing and it didn’t give me the desired result. It was like I was just using the default English keyboard, without Keyman.
What might I be doing wrong?
Thanks!
P.S. after getting it to work on Windows I also want to configure the Touch Layout and then get an app in the Play Store. I’m not sure if that affects things.
Depending on how different the US English and the Latinoamericano keyboards are, you may (instead of using &MnemonicLayout with one keyboard) want to create two separate keyboards for the different desktop layouts (with corresponding touch layouts). In other words, if users are accustomed to the Latinoamericano touch layout, and the US English one is wildly different, you may not want to be limited to a single touch layout, but would rather have a touch layout that matches the corresponding desktop layout.
Note that &MnemonicLayout is only fully supported on the Windows desktop platform.
Latinoamericano (I think it might actually be called “Latin American” in English) is like US English, but there are many changes to the symbols in the top number row, and on the right side. There is also a Ñ key to the right of the L key, and the < and > are in a single key to the left of Z.
Most of the intended audience of this keyboard will be accustomed to the Latin American keyboard, which is why I feel comfortable giving a single keyboard to both those with US English keyboards and Latin American keyboards.
For posterity, in Keyman Configuration (not in Keyman developer) I selected options, scrolled down to the bottom, clicked Base Keyboard, and chose Spanish- Latin American.
Is there no way for the Keyman keyboard to select the base keyboard, or at least prompt the user to change to the base keyboard it was designed for? As it is, it looks like I will have to instruct the users to make the settings change, in addition to installing the keyboard. (I understand that the base keyboard setting applies to all Keyman keyboards installed.)
Generally, if you want the default keyboard to be changed, then you probably didn’t want to create a a mnemonic keyboard. I maintain separate keyboards for US and AZERTY-based keyboards because they are VERY different, much different than what you describe. We also have to deal with the missing >< key.
If you need them to respond differently, you may want to create a positional layout for both keyboards and you should define anything that should (or shouldn’t) be output. The easiest way to do that is probably to import the Latinamericano keyboard from Windows (Project>New project>Import Import Windows Keyboard) and modify that to add your special characters.
With that said, I don’t know what triggers that Keyman setting to be adjusted when installed on a new machine. Does it read something about the physical keyboard or pick the default that the user chose?
Thanks so much @Marc, @drowe, and @Matthew_Lee for weighing in. Based on your feedback I decided to start working on a positional layout based on the Latin American keyboard rather than a mnemonic layout. I’m running into some issues there but I will make a new post for that.