Keyman Server
7bdd4b5254
Merge branch 'epic/embed-osk-in-kmx' into auto/A19S22-merge-master-into-embed-osk-in-kmx
2026-02-13 04:58:57 +01:00
dependabot[bot]
7f62458843
chore(deps): bump @isaacs/brace-expansion
...
Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.
---
updated-dependencies:
- dependency-name: "@isaacs/brace-expansion"
dependency-version: 5.0.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-03 19:54:22 +00:00
Marc Durdin
e8b94f147c
Merge pull request #15526 from keymanapp/dependabot/npm_and_yarn/fast-xml-parser-5.3.4
...
chore(deps): bump fast-xml-parser from 5.2.2 to 5.3.4
2026-02-02 01:18:12 +07:00
Keyman Server
7243112b03
Merge branch 'epic/embed-osk-in-kmx' into auto/A19S21-merge-master-into-embed-osk-in-kmx
2026-01-31 06:30:19 +01:00
dependabot[bot]
13a59f124f
chore(deps): bump fast-xml-parser from 5.2.2 to 5.3.4
...
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser ) from 5.2.2 to 5.3.4.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases )
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.2.2...v5.3.4 )
---
updated-dependencies:
- dependency-name: fast-xml-parser
dependency-version: 5.3.4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 20:48:02 +00:00
dependabot[bot]
0dd1d843e2
chore(deps): bump tar
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.6 to 7.5.7.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.6...v7.5.7 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.7
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-29 14:03:10 +00:00
dependabot[bot]
2d3fe885b7
chore(deps): bump tar
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.3 to 7.5.6.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.3...v7.5.6 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 00:46:55 +00:00
dependabot[bot]
0956254ecd
chore(deps): bump tar and node-gyp
...
Bumps [tar](https://github.com/isaacs/node-tar ) to 7.5.3 and updates ancestor dependency [node-gyp](https://github.com/nodejs/node-gyp ). These dependencies need to be updated together.
Updates `tar` from 6.2.1 to 7.5.3
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.3 )
Updates `node-gyp` from 10.2.0 to 12.1.0
- [Release notes](https://github.com/nodejs/node-gyp/releases )
- [Changelog](https://github.com/nodejs/node-gyp/blob/main/CHANGELOG.md )
- [Commits](https://github.com/nodejs/node-gyp/compare/v10.2.0...v12.1.0 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.3
dependency-type: indirect
- dependency-name: node-gyp
dependency-version: 12.1.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 08:01:45 +00: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
Jeff Heath
7158a56097
Update link to PrimerPrep in step-3.md
2026-01-13 17:40:33 -05:00
Marc Durdin
4e496d1937
feat(developer): write UTF-8 .kmn file in kmdecomp
...
Writes a UTF-8 format file, without BOM, matching the standard file
encoding used in Keyman for many years, rather than the legacy encoding
UTF-16LE+BOM.
Note: uses codecvt for UTF-8 conversion to avoid linking in additional
deps.
Fixes : #15336
Test-bot: skip
2025-12-23 13:45:40 +11:00
Marc Durdin
b452d589fb
fix(developer): prevent duplicate layer name in Layer Properties dialog
...
Matches the test in New Layer dialog.
Fixes : #15188
Test-bot: skip
Build-bot: skip
2025-12-19 07:52:08 +11:00
Marc Durdin
5d5c46c85c
fix(developer): clear message when selecting custom layer name in touch layout editor
...
Fixes : #15216
Test-bot: skip
2025-12-19 07:44:03 +11:00
Marc Durdin
2ff967f106
Merge pull request #15338 from keymanapp/fix/developer/15215-handle-submit-in-touch-editor-dialogs
...
fix(developer): handle Enter key in dialogs in Touch Layout Editor
2025-12-18 20:37:56 +01:00
Marc Durdin
cab9230211
fix(developer): handle Enter key in dialogs in Touch Layout Editor
...
Fixes : #15215
Test-bot: skip
2025-12-11 02:16:03 +08:00
Marc Durdin
7c5064af47
feat(developer): show keyboard version in web debugger
...
This shows the keyboard version from the loaded keyboard .js file in the
Keyman Developer Web Debugger, once the keyboard has been loaded. The
version information is not visible in the keyboard menu, because the
version data has not been loaded at that point (being available only in
the compiled .js file).
Fixes : #14212
Test-bot: skip
2025-12-10 22:28:44 +08:00
DavidLRowe
8ca724ff07
Clarify keystrokes
2025-12-08 13:28:41 -09:00
Marc Durdin
de875ff39c
fix(developer): verify project file loaded successfully in analyze
...
Fixes : #15315
Fixes: KEYMAN-DEVELOPER-338
Test-bot: skip
Build-bot: skip
2025-12-08 08:08:08 +01: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
f813442c40
Merge pull request #15276 from keymanapp/revert-14799-change/windows/include-map2pdb-for-relevant-projects
...
change(windows): Revert "change(windows): include map2pdb generation for relevant Delphi projects"
2025-12-05 07:10:52 +01:00
Marc Durdin
cb8150c896
Merge pull request #15275 from keymanapp/docs/developer/api-refresh
...
docs(developer): add/update API docs
2025-12-03 15:02:41 +01:00
Marc Durdin
6c99f33bcc
Revert "change(windows): include map2pdb generation for relevant Delphi projects"
2025-12-03 14:13:54 +01:00
dependabot[bot]
e4606e4925
chore(deps): bump glob
...
Bumps [glob](https://github.com/isaacs/node-glob ) from 10.4.5 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md )
- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0 )
---
updated-dependencies:
- dependency-name: glob
dependency-version: 10.5.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 12:55:03 +00: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
99409aba91
Merge pull request #15229 from keymanapp/feat/developer/embed-osk/convert-kvk-into-kmx-plus
...
feat(developer): convert .kvk into KMX+ and embed into .kmx 🔱
2025-12-01 12:01:42 +01:00
Marc Durdin
f3bab43e96
chore(developer): Apply suggestions from code review
...
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-12-01 11:15:58 +01:00
Marc Durdin
ce5a5bb2f1
refactor(developer): move KVK embed into embed-osk-kvk.ts
2025-11-27 11:44:53 +01:00
Marc Durdin
3eaaacd706
fix(developer): handle errors in .keyman-touch-layout file when loading
...
If the .keyman-touch-layout file has validation errors, Keyman Developer
will now report the first validation error in the message window, rather
than silently closing the whole keyboard editor. The
.keyman-touch-layout file will be loaded in Code view, and once the
first validation error is addressed, switching to Design view will
report the next error.
For future improvement:
* reporting multiple validation errors
* reporting line number of error
Fixes : #15242
Test-bot: skip
2025-11-27 05:50:36 +01:00
Marc Durdin
2751b531a3
Apply suggestions from code review
...
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-11-26 06:51:57 +01:00
Marc Durdin
12b77a5a78
feat(developer): convert .kvk into KMX+ and embed into .kmx
...
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
2025-11-25 11:59:34 +01:00
Marc Durdin
c546bf3bd6
feat(developer): inject KMX+ into .kmx
...
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
2025-11-24 07:27:36 +01:00
Marc Durdin
0090d62978
Merge branch 'epic/embed-osk-in-kmx' into refactor/developer/groundwork-extra-data-and-move-helpers-for-embed
2025-11-21 14:45:38 +01:00
Marc Durdin
770b6e3347
Merge pull request #15183 from keymanapp/feat/developer/reserve-space-for-kmxplus
...
feat(developer): reserve space for KMX+ header in KMX written from kmcmplib 🔱
2025-11-21 14:45:14 +01:00
Marc Durdin
d033c634d7
Update developer/src/kmc-kmn/test/embed-osk.tests.ts
...
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-11-21 10:48:51 +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
eb4b10996d
Merge pull request #15087 from keymanapp/fix/developer/11363-prevent-race-on-server-load-kmw
...
fix(developer): avoid race in page.onload vs kmw.init in Server
2025-11-21 10:39:43 +01:00
Marc Durdin
76a4980848
Merge branch 'feat/developer/reserve-space-for-kmxplus' into refactor/developer/groundwork-extra-data-and-move-helpers-for-embed
2025-11-20 15:16:36 +01:00
Marc Durdin
3e1c8ed04e
Merge branch 'feat/common/kmx-plus-osk-embed-support' into feat/developer/reserve-space-for-kmxplus
2025-11-20 15:16:21 +01:00
Marc Durdin
45496aaf30
Merge branch 'epic/embed-osk-in-kmx' into feat/common/kmx-plus-osk-embed-support
2025-11-20 15:15:35 +01:00
Keyman Server
7ad056bf5f
Merge branch 'epic/embed-osk-in-kmx' into auto/A19S16-merge-master-into-embed-osk-in-kmx
2025-11-20 11:08:48 +01:00
Marc Durdin
f11803651d
refactor(developer): pass extra data from kmcmplib and move helpers for embed
...
Move some modifier key conversion utilities to a shared unit and also
add touchLayoutFilename and targetVersion to the kmcmplib extra data,
in preparation for generating and embedding OSK data.
Test-bot: skip
2025-11-20 10:47:55 +01:00
Marc Durdin
4932790ac0
feat(developer): reserve space for KMX+ header in KMX written from kmcmplib
...
For keyboards that are v19 or later, always reserve space for the KMX+
header that will be written out in kmc-kmn, to avoid rewriting the whole
file. At this time, zero out that space.
Test-bot: skip
Build-bot: skip build:developer
2025-11-19 10:14:57 +01:00
Marc Durdin
fa90df7c07
chore(common): Merge branch 'feat/common/kmx-plus-osk-embed-support'
2025-11-18 15:52:16 +01:00
Marc Durdin
ede398cf7b
chore(developer): rename lists to forms
...
Missed this in earlier refactor.
2025-11-18 15:51:44 +01:00
Marc Durdin
2076cd9989
Merge branch 'epic/embed-osk-in-kmx' into feat/common/kmx-plus-osk-embed-support
2025-11-18 15:41:05 +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
Marc Durdin
6e470efa3e
Merge pull request #14799 from keymanapp/change/windows/include-map2pdb-for-relevant-projects
...
change(windows): include map2pdb generation for relevant Delphi projects
2025-11-17 17:02:25 +01:00
Marc Durdin
edca16f508
change(windows): include map2pdb generation for relevant Delphi projects
...
Adds a call to map2pdb for Delphi projects, if map2pdb is an executable
on the path. This way, we get .pdb files we can use for debugging and
for performance profiling. This also replaces tds2dbg.
If map2dbg is available, then the build and install actions will copy
the PDB to be alongside the corresponding executable, making most debug
actions relatively seamless for finding symbols.
Also fixes up setup.exe in Windows and Developer to extend setup.exe to
a 512-byte boundary after map2pdb patches the PE.
Relates-to: #14787
Build-bot: skip release:developer,windows
Test-bot: skip
2025-11-13 14:48:18 +01:00
Marc Durdin
34e71c4df2
Apply suggestions from code review
...
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-11-13 13:06:16 +01:00
Marc Durdin
fc0ff90684
refactor(developer): rename layr.lists to layr.forms
...
The name `form` better represents the semantic meaning of the
structure, and reduces confusion with the `list` section and other uses
of `list` in KMX+.
Test-bot: skip
2025-11-12 11:29:58 +01:00