Skip to content

chore(developer): enable skipped test for disp key cap constants 🔱#15822

Merged
mcdurdin merged 7 commits intoepic/embed-osk-in-kmxfrom
chore/developer/embed-osk/enable-constants-test
Apr 16, 2026
Merged

chore(developer): enable skipped test for disp key cap constants 🔱#15822
mcdurdin merged 7 commits intoepic/embed-osk-in-kmxfrom
chore/developer/embed-osk/enable-constants-test

Conversation

@mcdurdin
Copy link
Copy Markdown
Member

@mcdurdin mcdurdin commented Apr 7, 2026

Test-bot: skip

mcdurdin and others added 6 commits March 26, 2026 17:15
This comes out of a design philosophy review on what we include when we
embed OSK data into KMX.

We will now avoid embedding font name into the OSK (and hence .kmx)
altogether, and leave that metadata to the packaging data. Reasons:

1. The font information is specified in the .kps, so we have to do a
   patchup on the .kmx during packaging if we want to embed the info
   into the OSK.

2. The referenced font must be supplied separately anyway (via .kmp,
   @font-face, or system supplied, etc), so including the font facename
   in the keyboard is not really all that helpful.

3. Philosophically, the font is really a presentation level factor
   (aside from displaymap considerations). Keeping it together with
   future theming and styling choices, rather than the key layout data,
   seems appropriate.

4. This makes fewer places where font data is referenced -- in fact, to
   just one place: in the .kps/.kmp for LDML keyboards, which is great.

This also simplifies some aspects of the embed-osk-in-kmx work, removing
the need to patch the .kmx after the build, and eliminates the smelly
kmx-plus-osk-token.ts file.

A corresponding change has been made to the design document referenced
in #14857.

Test-bot: skip
Addresses comments in #15752 review.

Test-bot: skip
See-also: #15752
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
Refactor the `getModifierState` and `getStateFromLayer` functions into a
cleaner `modifierStringToState` function, and move from web into common.

Marks existing functions as deprecated but does not update usage at this
time.
Add mappings for key to vkey + mod for .kvk and .keyman-touch-layout,
and clarify the key identifiers for .keyman-touch-layout within KMX+
format.

Update unit test fixture khmer_angkor.keyman_touch_layout to remove
dependency on .kmn (T_xxxx_yyyy -> U_xxxx_yyyy), as the relevant
VKDictionary will not be present, because the corresponding .kmn is not
compiled for the unit tests where the fixture is used.

Test-bot: skip
@keymanapp-test-bot
Copy link
Copy Markdown

keymanapp-test-bot Bot commented Apr 7, 2026

User Test Results

Test specification and instructions

User tests are not required

@keymanapp-test-bot keymanapp-test-bot Bot changed the title chore(developer): enable skipped test for disp key cap constants chore(developer): enable skipped test for disp key cap constants 🔱 Apr 7, 2026
@keymanapp-test-bot keymanapp-test-bot Bot added this to the A19S26 milestone Apr 7, 2026
@mcdurdin mcdurdin requested a review from ermshiperete April 7, 2026 14:15
@keyman-server keyman-server modified the milestones: A19S26, A19S27 Apr 14, 2026
@mcdurdin mcdurdin force-pushed the feat/developer/embed-osk/kmap branch from 2399324 to 401c0db Compare April 16, 2026 07:22
Base automatically changed from feat/developer/embed-osk/kmap to epic/embed-osk-in-kmx April 16, 2026 20:17
@mcdurdin mcdurdin merged commit 71503fa into epic/embed-osk-in-kmx Apr 16, 2026
9 checks passed
@mcdurdin mcdurdin deleted the chore/developer/embed-osk/enable-constants-test branch April 16, 2026 20:17
@github-project-automation github-project-automation Bot moved this from Todo to Done in Keyman Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants