-
-
Notifications
You must be signed in to change notification settings - Fork 133
epic: embed-osk-in-kmx 🔱 #14857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
mcdurdin
wants to merge
84
commits into
master
Choose a base branch
from
epic/embed-osk-in-kmx
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
epic: embed-osk-in-kmx 🔱 #14857
+5,712
−2,352
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
User Test ResultsTest specification and instructions User tests are not required |
These two files were largely the same, with legacy_kmx_file.h trailing kmx_file.h in features. The primary difference was that legacy_kmx_file.h still had Windows-specific types, but the types in km_types.h made this a drop-in replacement. Test-bot: skip
Use legacy_kmx_memory.h instead of mc_kmxfile.h for mcompile. Removing the unused 'hbitmap' and replacing with the binary file dword data. Test-bot: skip
Add version 19.0 flags and metadata relating to embed-osk-in-kmx to kmx_file.h and corresponding headers for other languages. Test-bot: skip
…nto-embed-osk-in-kmx
…to-embed-osk-in-kmx auto: A19S13 merge master into embed-osk-in-kmx 🔱
…-legacy_kmx_file.h refactor(windows): consolidate legacy_kmx_file.h into kmx_file.h 🔱
Build-bot: skip
…-mc_kmxfile.h refactor(windows): consolidate mc_kmxfile.h 🔱
…g-in-header feat(common): add KF_KMXPLUSOSK and VERSION_190 to kmx_file.h 🔱
Split kmx-plus.ts into two files, so that the in-memory parsed representation of the file can be maintained separately from the binary structures, which need to maintain version metadata. This refactor makes no functional changes. Test-bot: skip Build-bot: build
Special key caps such as '*ZWNJ*' are defined in a number of places in the source. In theory, we could DRY these definitions out, but that would add a number of unhelpful dependencies or take considerable time to implement. So, for now I opted to write a unit test to compare the definitions as found in the following files, treating web's definition as primary: * web/src/engine/osk/src/specialCharacters.ts * developer/src/tike/xml/layoutbuilder/constants.js * developer/src/kmc-kmn/kmw-compiler/constants.ts * developer/docs/help/reference/file-types/keyman-touch-layout.md * core/include/ldml/keyman_core_ldml.ts Note that the keyman_core_ldml.ts file changes are not included in this commit, and hence the unit test for it is currently skipped. This will be enabled in a subsequent commit along with other KMX+ changes to support epic/embed-osk-in-kmx. Test-bot: skip
…rk-extra-data-and-move-helpers-for-embed
…k-extra-data-and-move-helpers-for-embed refactor(developer): pass extra data from kmcmplib and move helpers for embed 🔱
Add a function to inject KMX+ data into a .kmx file, along with unit tests. Groundwork for embedding the OSK into KMX. Test-bot: skip
Implement the conversion from .kvk into KMX+ format, and embed the result into the .kmx file. This change does not yet support &displaymap. Move some virtual key modifier state helpers out of visual-keyboard-compiler.ts and into shared module modifier-key-constants.ts. This change also flags the need to update the package compiler to rewrite the font metadata into the KMX+ tables. Test-bot: skip
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
In order to avoid embedding unused tables of constants into KeymanWeb, we need to make their declarations pure. https://esbuild.github.io/api/#tree-shaking-and-side-effects
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
…ect-kmxplus-into-kmx feat(developer): inject KMX+ into .kmx 🔱
…vert-kvk-into-kmx-plus feat(developer): convert .kvk into KMX+ and embed into .kmx 🔱
…to-embed-osk-in-kmx
…o-embed-osk-in-kmx auto: A19S17 merge master into embed-osk-in-kmx 🔱
…to-embed-osk-in-kmx
…o-embed-osk-in-kmx auto: A19S20 merge master into embed-osk-in-kmx 🔱
…to-embed-osk-in-kmx
…o-embed-osk-in-kmx auto: A19S21 merge master into embed-osk-in-kmx 🔱
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
android/
common/web/
common/
core/
Keyman Core
developer/compilers/
developer/ide/
developer/
docs
epic
A long lived branch, home for a new feature, usually will have child PRs based on it
epic-embed-osk-in-kmx
mac/
web/
windows/engine/
windows/
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Design document: https://docs.google.com/document/d/15EjtSH7NAsGrdapfB3E7SlS6CqI-2zPy3PNyfUiAv54/edit?tab=t.0
Relates-to: #12620
Relates-to: #12610
Relates-to: #12695
Relates-to: #13424
Relates-to: #12741
Relates-to: #9055
Relates-to: #9021
Build-bot: skip
Test-bot: skip