When gestures are found in the touch layout file, the compiler will now
automatically upgrade the version to 17.0, if no `store(&VERSION)` rule
is found. Also adds corresponding unit tests.
Fixes: #11961
Special key caps on normal keys in touch layout files are supported with
Keyman 14.0 and later versions. Handle automatic determination of the
version number if `store(&VERSION)` is not present. Add corresponding
unit tests.
Fixes: #11960
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
# Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
# Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
# Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
# Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
The IM display call back is used to show the IM window. With this change
deadcode is removed and a check is made to ensure the IM window is
completley visible coordinates for the monitor that has focus. If not
it will be position close to where the caret in the application that has
focus.
Adds a unit test to verify that automatic versioning of notany() in
conjunction with context() is correctly managed. Removes compiler error
that could never be generated (replace with safety-check exception).
Fixes: #11959
Adds support for determining minimum version 10.0 when chiral modifiers
or state modifiers are found in virtual keys, e.g. `[LCTRL K_A]`,
`[CAPS K_A]`, and corresponding unit tests.
Fixes: #11958
Currently, automatic Keyman minimum version determination works for all
features in Keyman keyboards _except_ `U_xxxx_yyyy` touch key
identifiers.
This change adds the automatic keyboard versioning functionality to the
keymanweb compiler as well, following the pattern that's in kmcmplib.
This makes the `store(&version)` line completely optional, and it may
be possible to deprecate it in future versions of Keyman Developer.