Commit graph

34500 commits

Author SHA1 Message Date
rc-swag
3c1b47eedc fix(windows): Free the correct object
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-09-02 12:37:03 +10:00
rc-swag
0c68b1e031 fix(windows): typos and return type in interface declaration 2026-09-02 10:10:16 +10:00
rc-swag
155b8e15ed fix(windows): strtoint for command line basekeyboardid
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
Also rebuild kmcomapi_TLB.pas
2026-09-01 15:53:48 +10:00
rc-swag
82fb40002b fix(windows): pass basekeyboardid to installation api
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
The updates all the apis so that the basekeyboardid or klid
can be passed in as an argument. This in needed so that
elevated process required to compile the keyboard has
the call users keyboard base id.
2026-08-31 15:34:45 +10:00
rc-swag
62dd0de786 fix(windows): add compile for base keyoard to api
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
What we was needed was the ability to recompile
installed keyboards against a basekeyboard id.
MCompileForBaseKeyboard which will take the
base keyboard id. This allows the call to be done
elevated and seperates out the actuall selecting
the base keyboard.
2026-08-21 13:53:26 +10:00
rc-swag
9108af2ed2 chore(windows): Merge branch 'master' into fix/windows/15152/basekeyboard-user-not-admin
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
# 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
2026-08-18 16:16:55 +10:00
Marc Durdin
f9b083b0fa
Merge pull request #16387 from keymanapp/chore/disable-null-checks
chore(common): disable strictNullChecks for TypeScript for now
2026-08-17 15:31:25 +02:00
Marc Durdin
cb77aa14ea
Merge pull request #16371 from keymanapp/chore/resources/langtags-2026-06-09
chore(resources): update langtags to 2026-06-09, iso639-3 to current, language-subtag-registry to 2026-08-08, cleanup and add download scripts
2026-08-17 14:47:46 +02:00
Marc Durdin
89a136be12
docs(resources): add note on langtags.json staging
Build-bot: skip

Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-17 14:46:23 +02:00
Marc Durdin
5642b8c047 chore(common): disable strictNullChecks for TypeScript for now
As we have a lot of code that does not have comprehensive null checking,
and TypeScript has moved to enable this by default in recent versions,
for now, disable at top-level to avoid being spammed with unhelpful null
errors in editors.

Test-bot: skip
Build-bot: skip
2026-08-17 11:25:04 +02:00
Marc Durdin
c2c6a4ef31 chore(resources): update download scripts and data 2026-08-17 09:20:37 +02:00
Marc Durdin
f131a245e2 chore(linux): update langtags.json unit test for changed sga code 2026-08-17 09:20:36 +02:00
Marc Durdin
a25b7241c5 chore(resources): update langtags to 2026-06-09 and add download script
Test-bot: skip
Build-bot: build:all
2026-08-17 09:20:34 +02:00
Marc Durdin
b1b5db26b0
Merge pull request #16370 from keymanapp/fix/developer/16128-mark-file-dirty-after-applying-touch-layout-template
fix(developer): mark touch layout file as modified after applying template
2026-08-17 07:57:27 +02:00
Marc Durdin
eebe740888
Merge pull request #16364 from keymanapp/feat/windows/15542-pass-lang-parameter-to-keyboard-download
feat(windows): pass UI language to keyboard download page
2026-08-17 07:57:13 +02:00
Keyman Server
765c1feecf
Merge pull request #16383 from keymanapp/auto/version-master-19.0.268
auto: increment master version to 19.0.268
2026-08-14 20:05:44 +02:00
Keyman Build Agent
ff549a51a7 auto: increment master version to 19.0.268
Test-bot: skip
Build-bot: skip
2026-08-14 13:02:34 -05:00
Darcy Wong
669afb25b0
Merge pull request #16358 from keymanapp/chore/crowdin-es
chore(android,ios): Update Crowdin strings for Spanish - Latin America
2026-08-14 08:32:07 -05:00
Joshua Horton
15eeca081e
Merge pull request #16368 from keymanapp/fix/web/mobile-app-sourcemap-linkage
fix(web): adjust sourcemap linking pattern used for error reporting within mobile apps
2026-08-14 20:13:01 +07:00
Marc Durdin
3e7630e37a fix(developer): mark touch layout file as modified after applying template
Fixes: #16128
Test-bot: skip
2026-08-14 14:29:01 +02:00
Marc Durdin
9f8717e4f8
Merge pull request #16361 from keymanapp/fix/windows/12611-release-shift-on-osk-with-right-shift
fix(windows): release shift key on OSK when user releases physical right shift
2026-08-14 11:30:39 +02:00
Marc Durdin
9526eb72a6
Merge pull request #16365 from keymanapp/chore/windows/remove-junk-files
chore(windows): remove junk files from kmshell
2026-08-14 08:07:58 +02:00
Marc Durdin
3742e0ce9c
Merge pull request #16369 from keymanapp/chore/common/history
chore(common): add missing history
2026-08-14 08:07:30 +02:00
Marc Durdin
16559f9a31 docs(windows): update comment for TfrmOSKOnScreenKeyboard.OskModifierEvent 2026-08-14 07:54:20 +02:00
Marc Durdin
fecb3b9d73 chore(common): add missing history
Due to accidental bottom-first PR merges.

Test-bot: skip
Build-bot: skip
2026-08-14 07:49:59 +02:00
Joshua Horton
bc497a5fcf fix(web): adjust sourcemap linking pattern used for error reporting within mobile apps
Fixes: #16367

Build-bot: skip build:web release:android release:ios
Test-bot: skip
2026-08-13 14:56:33 -05:00
Keyman Server
2277196c08
Merge pull request #16366 from keymanapp/auto/version-master-19.0.267
auto: increment master version to 19.0.267
2026-08-13 20:03:43 +02:00
Keyman Build Agent
57ff337316 auto: increment master version to 19.0.267
Test-bot: skip
Build-bot: skip
2026-08-13 13:01:43 -05:00
Marc Durdin
2c5157b570 chore(windows): remove junk files from kmshell
Test-bot: skip
2026-08-13 15:26:49 +02:00
Marc Durdin
43550fa58e feat(windows): pass UI language to keyboard download page
Fixes: #15542
Relates-to: keymanapp/keyman.com#818
2026-08-13 15:11:26 +02:00
SabineSIL
5f10226179
Merge pull request #14360 from keymanapp/chore/developer/scatteredCode/cleanup_VKeys
chore(common): cleanup and merge Preprocessor constants 🧽
2026-08-13 12:31:24 +02:00
SabineSIL
1f298027fd
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys 2026-08-13 11:26:08 +02:00
Sabine
c34de1873e Merge branch 'chore/developer/scatteredCode/cleanup_VKeys' of https://github.com/keymanapp/keyman into chore/developer/scatteredCode/cleanup_VKeys 2026-08-13 11:23:16 +02:00
Sabine
7517531a3a chore(common): remove stray keylayout file 2026-08-13 11:22:52 +02:00
Marc Durdin
2e7772b87c fix(windows): release shift key on OSK when user releases physical right shift
When the user clicks either Shift key on the OSK, that emits a VK_LSHIFT
down key event. If the user subsequently presses and releases the Right
Shift key on their hardware keyboard, that does not reset the isDown
state for the Left Shift key, so the key is not released on the OSK, and
the state becomes inconsistent for apps also.

This change emits a key up event, if when Right Shift is released,
Keyman detects that Left Shift is still "down". Note that if the user
presses and holds Left Shift, and presses and releases Right Shift, the
left shift state will be reset before the users releases Left Shift. But
that's a pathological state!

Fixes: #12611
2026-08-13 10:49:13 +02:00
Marc Durdin
b75f0eefc0
Merge pull request #16351 from keymanapp/feat/web/versionInfo
feat(web): add `keyman.versionInfo` API
2026-08-13 09:14:55 +02:00
Marc Durdin
85d7b398bc chore(web): add test for versionInfo.full
Test-bot: skip
2026-08-13 08:40:21 +02:00
Marc Durdin
6c3b68ca59
Merge pull request #16353 from keymanapp/fix/web/loaduserinterface-api-consistency
fix(web): cleanup `loaduserinterface` and `unloaduserinterface` events
2026-08-13 08:22:17 +02:00
Marc Durdin
512481c473
Merge pull request #16354 from keymanapp/docs/web/cleanup
docs(web): deprecate unused and obsolete API endpoints and docs cleanup
2026-08-13 08:22:07 +02:00
Marc Durdin
0624bc900a
Merge pull request #16095 from keymanapp/dependabot/npm_and_yarn/esbuild-0.28.1
chore(deps-dev): bump esbuild from 0.25.0 to 0.28.1
2026-08-13 08:21:33 +02:00
Darcy Wong
190cde8fd0 chore(ios): Update crowdin for Spanish - Latin America
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-12 16:48:30 -05:00
Darcy Wong
e285b5aa39 chore(android): Update crowdin strings for Spanish - Latin America 2026-08-12 16:48:12 -05:00
Keyman Server
740ec33cad
Merge pull request #16357 from keymanapp/auto/version-master-19.0.266
auto: increment master version to 19.0.266
2026-08-12 20:05:46 +02:00
Keyman Build Agent
d397febeb6 auto: increment master version to 19.0.266
Test-bot: skip
Build-bot: skip
2026-08-12 13:03:34 -05:00
Darcy Wong
e2249734ea chore(common): Update Crowdin strings for Spanish (Latin America) 2026-08-12 09:20:12 -05:00
Marc Durdin
1f82507730 docs(web): deprecate unused and obsolete API endpoints and docs cleanup
Deprecate the following obsolete functions and properties:
* `keyman.helpURL`
* `keyman.util.rgba`
* `keyman.util.toFloat`
* `keyman.util.toNumber`
* `keyman.util.toNzString`

Use correct language for code blocks in Keyman Engine for Web
documentation.

Test-bot: skip
2026-08-12 16:07:22 +02:00
Marc Durdin
b40c4b376b fix(web): cleanup loaduserinterface and unloaduserinterface events
The `loaduserinterface` and `unloaduserinterface` events were
incompletely implemented, and the documentation was incomplete. This
change:

1. ensures `loaduserinterface` is called any time a UI is set, either
   during initialization or when the property is set later.
2. ensures `unloaduserinterface` is called immediately before a UI is
   shutdown.
3. updates documentation
4. removes misleading commented code in kmwuifloat.ts

Test-bot: skip
2026-08-12 15:51:55 +02:00
Marc Durdin
f1361a94f0 feat(web): add keyman.versionInfo API
KeymanWeb has long had `keyman.build` and `keyman.version`. Neither of
these properties expose the full version string, and consumers are
forced to manipulate them to get a partial version string.

This change deprecates both these properties, and introduces a new
`keyman.versionInfo` property, which returns an object with all the
version information, most importantly `full`.

Update documentation and add a unit test for this, following the unit
test pattern established throughout Keyman of a unit test filename
matching the implementation class. The `KeymanEngineBase` class is a
little difficult to instantiate so this unit test module currently has
a minimal instantiation which provides enough to fulfill the one
included test.

Test-bot: skip
2026-08-12 11:07:31 +02:00
SabineSIL
450e23aae1
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-12 10:44:53 +02:00
Sabine
a621106ef3 chore(common): remove namespace km::vkey 2026-08-12 10:04:20 +02:00