I am trying to compile my keyboard but am getting the error message, error KM07002: Key "U_2600_FE0F" on "phone", layer "EMOJI_1" has a multi-part identifier which requires version 15.0 or newer.
I searched around but couldn’t find any information about error KM07002.
I am using Keyman 17.0.305-beta, well past version 15.0. How can I compile my keyboard? Are multi-part identifiers supported?
I think you’ll want to reduce it to 15 (or at least 16) if you end up submitting the keyboard to the Keyman repository, since the build system is currently still using v16 and would refuse to compile your keyboard since it claims it needs version 17.
The general rule is to use the lowest version number possible.
Ok, thanks! I make use of flicking, so we’ll see how the timing goes. I might need to comment out that feature for a while if I want to get into the repository before 17 is released.
We use the setting of store(&VERSION) to determine the minimum version of Keyman that the keyboard will be recommended to.
If there are a number of keys only available via flicking, that might be a good reason to target version 17.0 with store(&VERSION) - flicks aren’t available for earlier versions. If there are other ways to produce the flicks’ keys, yeah, go with 15.0.
Generally, you don’t need to specify &version, except if the compiler cannot easily determine the minimum supported version early enough in the compile process. This is one of those unfortunate cases.
Like the others, I recommend store(&version) '15.0' unless flicks are necessary in order to use your keyboard.