Commit graph

129 commits

Author SHA1 Message Date
Marc Durdin
267a519943
Merge branch 'epic/web-core' into auto/A19S31-merge-master-into-web-core 2026-06-25 00:06:12 +10:00
Marc Durdin
f52f383d93
Merge pull request #16076 from keymanapp/feat/developer/16068-run-project-validation-from-tike
feat(developer): run project validation from IDE
2026-06-15 22:17:10 +10:00
Eberhard Beilharz
c1113ac21d
chore(web): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Also change a few places that I missed.
2026-06-08 19:27:12 +02:00
Marc Durdin
1da2600818 feat(developer): run project validation from IDE
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
When option 'SkipMetadataFiles' is not set in the project (inverse of
'Build metadata files for Keyman Cloud' in Project Settings dialog),
then will run the validation step and generate .keyboard_info /
.model_info from the IDE. Also add corresponding log messages (and add
formatting for some others that were missing).

Fixes: #16068
Test-bot: skip
2026-06-08 14:26:39 +02:00
Marc Durdin
3d65485ebd chore: Merge branch 'epic/web-core' into auto/A19S29-merge-master-into-web-core
Note: rewrote state_api.tests.cpp change to match new unit test pattern.
2026-05-22 11:32:24 +02:00
Marc Durdin
1588f3747c
Merge pull request #15974 from keymanapp/docs/developer/help-1423-lexical-model-distribution
docs(developer): update links to lexical model distribution
2026-05-21 23:59:25 +10:00
Marc Durdin
47518b776c chore: address review comments 2026-05-21 14:12:30 +02:00
Marc Durdin
950dcf1d2b docs(developer): write up basic internal docs on kmc modules
Fixes: #13672
Test-bot: skip
Build-bot: skip
2026-05-20 14:19:16 +02:00
Marc Durdin
ac7c682ea9 docs(developer): update links to lexical model distribution
Recommend Keyman Cloud as primary method of distribution for lexical
models.

Test-bot: skip
Build-bot: skip
Fixes: keymanapp/help.keyman.com#1423
2026-05-19 14:56:39 +02:00
Marc Durdin
8704ecf2ee
Merge pull request #15788 from keymanapp/change/developer/embed-osk/remove-font-data-from-osk
change(common): remove drafted font metadata from KMX+ format 🔱
2026-04-17 06:16:50 +10:00
Marc Durdin
2e38a50522 change(common): remove drafted font metadata from KMX+ format
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
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
2026-04-16 09:13:15 +02:00
Marc Durdin
ab23c12558
Merge branch 'epic/embed-osk-in-kmx' into auto/A19S25-merge-master-into-embed-osk-in-kmx 2026-03-27 16:27:19 +11:00
Marc Durdin
a6225bfea7
Merge pull request #15447 from keymanapp/walkthrough
docs(developer): Add Developer walkthrough tutorial
2026-03-16 10:54:54 +07:00
Marc Durdin
b6b10d1a09 chore: Merge branch 'epic/embed-osk-in-kmx' into auto/A19S24-merge-master-into-embed-osk-in-kmx 2026-03-15 07:42:03 +01:00
Marc Durdin
d09f0ec4e8
Merge pull request #15712 from keymanapp/walkthrough-content
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
docs: tweak walkthrough content
2026-03-13 15:28:15 +07:00
Marc Durdin
8beac6ee20
Merge pull request #15711 from keymanapp/walkthrough-move-folder
docs: move walkthrough up one level
2026-03-13 15:28:03 +07:00
Marc Durdin
0a896861c8 docs: address review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-03-13 07:41:03 +01:00
Marc Durdin
6872e947d3 docs: tweak walkthrough content
Test-bot: skip
Build-bot: skip
2026-03-09 16:15:30 +01:00
Marc Durdin
82e7804c3a docs: move walkthrough up one level
Test-bot: skip
2026-03-09 15:28:47 +01:00
Marc Durdin
6014885666 docs: remove old content that is deprecated by walkthrough
Remove old content and place redirects where the content is adequately
replaced by the new walkthrough. Leaves some content which does not
overlap the walkthrough. Moved reference information about package
contents.

Test-bot: skip
2026-03-09 15:04:26 +01:00
Marc Durdin
058df11f0c docs(developer): refresh ngrok help 2026-02-26 11:39:58 +01:00
Marc Durdin
1207a01645 docs(developer): address review comments on walkthrough
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2026-02-18 10:56:01 +01:00
Marc Durdin
c10a74cdf0 docs: feedback for walkthrough
Presenting as a commit as I made many minor edits in-place and this was
much simpler than trying to use GitHub review for this level of detail.

Test-bot: skip
Build-bot: skip
2026-02-17 14:01:17 +01:00
DavidLRowe
0373122027
update macOS references in glossary 2026-02-02 13:52:54 -05:00
DavidLRowe
aa6f6d2fa3
update arrows and macOS references 2026-02-02 13:47:19 -05:00
DavidLRowe
8f36d07278
add TOC link
in response to Darcy's suggestion

Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2026-02-02 13:01:35 -05:00
Marc Durdin
414092abf6
Merge branch 'epic/embed-osk-in-kmx' into auto/A19S20-merge-master-into-embed-osk-in-kmx 2026-01-16 08:39:08 +01:00
DavidLRowe
441a385cb1
Add files for walkthrough tutorial 2026-01-15 19:47:22 -09:00
DavidLRowe
0844780104
Update index.md to include walkthrough 2026-01-15 19:45:56 -09:00
Jeff Heath
7158a56097
Update link to PrimerPrep in step-3.md 2026-01-13 17:40:33 -05:00
DavidLRowe
8ca724ff07
Clarify keystrokes 2025-12-08 13:28:41 -09:00
Keyman Server
2d29ef52e4
Merge branch 'epic/embed-osk-in-kmx' into auto/A19S17-merge-master-into-embed-osk-in-kmx 2025-12-05 07:58:49 +01:00
Marc Durdin
9de8371cfe docs(developer): add/update API docs
Test-bot: skip
Build-bot: skip
2025-12-03 13:51:30 +01:00
Marc Durdin
75847a389f
Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-11-21 10:48:11 +01:00
Marc Durdin
a53a1593ec feat(common): add v19 sections to KMX+ in Core and Developer
The disp and layr sections have new v19 layouts, to support the Keyman
OSK requirements for epic/embed-osk-in-kmx. This supports writing the
new versions of these sections in Developer and loading them into Core,
doing transformations where necessary so that Core always works with v19
structures after load.

This does not implement the transformations required to support the OSK
APIs; that will be implemented in a follow-up PR. Nor is support for
writing the OSK data from source .kvks and .keyman-touch-layout
supported; this is just the scaffolding for supporting the structures in
the KMX+ data.

Test-bot: skip
2025-11-18 13:55:01 +01:00
Keyman Server
b7c93d9e37
Merge branch 'epic/embed-osk-in-kmx' into auto/A19S15-merge-master-into-embed-osk-in-kmx 2025-11-07 14:06:33 +01:00
Marc Durdin
933ea5bb58 change(developer): remove kmlmc and kmlmp
These were replaced by kmc in v17.0. We kept them as legacy alternatives
in v18.0, but it is time to remove them now to reduce the maintenance of
having multiple entry points to kmc.

Fixes: #13181
Test-bot: skip
2025-10-31 17:08:56 +01:00
Keyman Server
87420e15c1
Merge branch 'epic/embed-osk-in-kmx' into chore/A19S14-merge-master-into-embed-osk-in-kmx 2025-10-24 11:14:03 +02:00
Marc Durdin
db5aa518c0 change(developer): add unit test to verify special key cap definitions
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
2025-10-16 12:37:44 +02:00
DavidLRowe
618fd3b1a0
Update keyboard-editor.md
I think this change avoids the misunderstanding that deleting the rightmost ("last") key on the row will delete the entire row.
2025-10-09 11:20:52 -08:00
Eberhard Beilharz
f8ab9c7192
Update developer/docs/help/reference/file-types/metadata.md
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-09-17 08:12:14 +02:00
Eberhard Beilharz
4baa5ff3ce
docs(developer): document fileVersion
Build-bot: skip
Test-bot: skip
2025-09-16 18:31:33 +02:00
Eberhard Beilharz
8e65d13559
Merge pull request #14646 from keymanapp/refactor/common/13205_UnifyWhatsNew
Standardize on `whatsnew.md`.

Fixes: #13205
Related: https://github.com/keymanapp/help.keyman.com/pull/2234
2025-09-05 09:44:02 +02:00
Eberhard Beilharz
e615139348
Merge pull request #14669 from keymanapp/chore/windows/desktop 2025-09-03 11:53:46 +02:00
Marc Durdin
07617c2f2a
Merge pull request #14667 from keymanapp/docs/history-and-get-started
docs(developer): tweak get-started for kmc and add entry to HISTORY.md
2025-09-03 04:41:14 +02:00
Marc Durdin
76ed9b55dd
Merge pull request #14659 from keymanapp/fix/developer/new-lm-project-validation-message
fix(developer): add clear messages about validation failures to New LM Project Parameters form
2025-09-03 04:39:36 +02:00
Marc Durdin
d407857717 docs(developer): tweak get-started for kmc and add entry to HISTORY.md
Yeah, two things but they are both minor!

Build-bot: skip
Test-bot: skip
2025-09-02 15:12:14 +02:00
Eberhard Beilharz
f166f11d14
docs(common): update docs Keyman Desktop → Keyman for Windows
Also change path to engine help pages. This requires a corresponding
change in help.keyman.com.

Test-bot: skip
2025-09-02 14:29:53 +02:00
Marc Durdin
c263a2bd2a
Merge pull request #14658 from keymanapp/fix/developer/new-ldml-keyboard-project-validation-message
fix(developer): add clear messages about validation failures to New LDML Project Parameters form
2025-09-02 11:29:39 +02:00
Marc Durdin
5f64033603
docs(developer): Update developer/docs/help/context/new-project-parameters.md
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-09-02 05:38:03 +02:00