Commit graph

3931 commits

Author SHA1 Message Date
rc-swag
330f2b8163 feat(windows): no arm binaries on x64 machine
kmtiparm64x.dll was correctly not installed on x86-x64 machines
however keymanarm64.dll and keymanhp.arm64.exe were still being
installed. It will be cleaner if we don't install them.
2025-12-15 15:18:39 +10:00
rc-swag
afed7da2f9
Merge branch 'epic/win-arm' into docs/windows/15237/kmtip-readme 2025-12-12 21:30:26 +10:00
rc-swag
be3fbf4845 docs(windows): review comments 2025-12-12 17:41:56 +10:00
rc-swag
4e7d2dddca
feat(windows): review comments
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-12-12 17:24:29 +10:00
rc-swag
d6568fb8f1 docs(windows): describe kmtip as well as the arm64X 2025-12-11 14:10:41 +10:00
rc-swag
4ac24f7b7b chore(windows): Merge branch 'epic/win-arm' into feat/windows/64x-pure-forwarder-wix-3 2025-12-09 14:00:45 +10:00
rc-swag
e17e91e2a6
docs(windows): apply review suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-12-08 16:11:51 +10:00
Marc Durdin
d7f21e80ec chore: Merge remote-tracking branch 'origin/epic/win-arm' into auto/A19S17-merge-master-into-win-arm
Significant conflict resolution fixes required to:
*	windows/src/engine/keyman32/build.sh
*	windows/src/engine/keyman32/keyman-engine.vcxproj
*	windows/src/engine/keyman32/keyman32.vcxproj
*	windows/src/engine/keyman32/keyman32.vcxproj.filters
*	windows/src/engine/keyman32/tests/keyman32.tests.vcxproj
2025-12-05 10:16:37 +01:00
Marc Durdin
acc86f5bce
Merge pull request #15280 from keymanapp/change/windows/add-shortcuts-to-install-dialog
change(windows): add shortcuts to 'Update Available' dialog
2025-12-05 07:11:05 +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
6c07c48235 change(windows): add shortcuts to 'Update Available' dialog
`&X` means you can press Alt+X.

Test-bot: skip
Build-bot: skip
2025-12-04 04:32:18 +01:00
Marc Durdin
e9ac9c25a3
chore(windows): don't revert minor unrelated parts of map2pdb cleanup 2025-12-03 14:25:29 +01:00
Marc Durdin
6c99f33bcc
Revert "change(windows): include map2pdb generation for relevant Delphi projects" 2025-12-03 14:13:54 +01:00
rc-swag
69f2c0dc1c docs(windows): add kmtip readme
Add a detailed desctription of kmtiparm64x.dll

Fixes:#15237
Test-bot: skip
2025-12-03 16:12:18 +10:00
Marc Durdin
c524db41b9 maint(common): use builder_launch for child builds
Fixes: #15130
Test-bot: skip
2025-12-02 06:17:31 +01:00
rc-swag
49fc44caba feat(windows): remove quotes wxs rename lowercase 2025-12-02 12:05:01 +10:00
rc-swag
8fac9c038e
feat(windows): address review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-12-02 10:47:59 +10:00
rc-swag
f385c31ba2 feat(windows): sign kmtiparm64x-dll 2025-12-01 19:55:11 +10:00
rc-swag
6aff22e259 feat(windows): update engine solution
Update engine.sln and the keyman32, keymanhp, kmtip projects for
include and exclude ARM64EC as required.
2025-12-01 17:03:28 +10:00
Marc Durdin
00d0ef5e28
Merge pull request #15246 from keymanapp/chore/windows/add-wow64kbd-explorer
chore(windows): add wow64kbd support app for researching WOW64 reqs
2025-11-28 10:48:59 +01:00
Marc Durdin
ff984c8144
chore: Update windows/src/engine/keyman32/RightAltEmulationCheck.cpp
Build-bot: skip

Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-11-28 10:26:07 +01:00
Marc Durdin
ec8908ecc7 chore(windows): add wow64kbd support app for researching WOW64 reqs
This app reports on WOW64 identification function results, and reports
on kbdxx.dll file alignment by printing a hex dump of the first 44 bytes
(which is the 32 bit size of the structure). Manual review of the hex
dump should be possible to determine if we have the expected alignment,
which should be 32 bit on a 32 bit Windows installation, but 64 bit on
any 64 bit other Windows installations, even with a 32 bit process.

wow64kbd is not included in the normal build. Build when needed; you can
copy entire folder to a target computer and run `run.bat` to get a full
report.

`./build.sh test` will also run the same test on the local machine.

Test-bot: skip
Build-bot: skip
2025-11-27 11:06:01 +01:00
Marc Durdin
404a9ea244 refactor(windows): merge syskbdnt.cpp and syskbdnt64.cpp into RightAltEmulationCheck.cpp
Remove a number of unused bits and pieces, and merge the one remaining
function in syskbdnt.cpp, `KeyboardGivesCtrlRAltForRAlt` with the
corresponding function in syskbdnt64.cpp.

Add a unit test for `ReadAltGrFlagFromKbdDll` to ensure that it is
working correctly across various architectures.

Test-bot: skip
2025-11-27 09:37:59 +01:00
Marc Durdin
ca77e41d74 change(windows): add unit testing to keyman32 build
Rename keyman-engine-tests.vcxproj to keyman32.tests.vcxproj, move up a
folder, rename other files to match test filename conventions, update
vcxproj for vs2022, and build and run this from build.sh:test.

Also remove keyman-engine.vcxproj, instead integrating the static lib
version of keyman32 into keyman32.vcxproj. One day in the future, we
could split back the other way, and have the DLL be essentially a link
action from the .lib, but that's higher complexity to setup.

Add a configuration step to install NuGet packages for Google Test
specifically for keyman32.tests.vcxproj. If we add Google Test to other
msbuild projects, we could move the packages/ up to top level of the
repo in the future (similar to node_modules) to reduce number of
configuration downloads.

Build-bot: skip build:windows,developer
Test-bot: skip
2025-11-27 09:11:39 +01:00
rc-swag
d83bd80585 feat(windows): tidy up 2025-11-27 11:26:35 +10:00
rc-swag
dce775c52d
Merge branch 'epic/win-arm' into feat/windows/64x-pure-forwarder-wix-3 2025-11-27 10:08:00 +10:00
rc-swag
6145c1d4e7
Merge pull request #15235 from keymanapp/feat/windows/15228/keyman-x64-arm-ico
feat(windows): adds keyman x64 and ARM Icon 🦾
2025-11-27 10:01:00 +10:00
rc-swag
e0c63a4e47 chore(windows): Merge branch 'epic/win-arm' into feat/windows/64x-pure-forwarder-wix-3 2025-11-26 23:15:25 +10:00
rc-swag
dba3836f2e
feat(windows): apply review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-26 22:10:33 +10:00
rc-swag
25e5aff4cc feat(windows): update etl2log and Readme 2025-11-26 22:05:13 +10:00
rc-swag
9e7fe64f67
feat(windows): apply review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-26 21:38:35 +10:00
rc-swag
df8d93e8f9 feat(windows): remove keymandesktop90-64-ico file 2025-11-26 15:49:19 +10:00
Marc Durdin
565af2d30e fix(windows): escape backslashes in path in debugging message
Fixes: #15233
Test-bot: skip
Build-bot: skip
2025-11-26 05:53:02 +01:00
rc-swag
928120b232 feat(windows): add keyman x64 and arm icon
Fixes: 15228
Test-bot: skip
2025-11-26 11:35:33 +10:00
rc-swag
4c4b0be456 feat(windows): audit _WIN64 macro 2025-11-25 16:01:52 +10:00
rc-swag
c4b6d06e43 feat(windows): combine start host 64 process functions
also removed sentry references. Fixed the manifest
references.
2025-11-25 12:42:15 +10:00
rc-swag
bc927bc4c3 feat(windows): fix version rc files to display correct
fix the version.rc files to display the correct description
and file name for keymanhp.*.exe fix version rc files to display correct
Also fix up the Keymanengine arm64 version names.
2025-11-24 13:54:02 +10:00
rc-swag
33cdb0f54c feat(windows): fix manifest for each host 2025-11-24 13:52:51 +10:00
rc-swag
b60056b43e chore(windows): Merge branch 'feat/windows/11905/keymanx64-keymanarm64' into feat/windows/64x-pure-forwarder-wix-3
# 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
2025-11-24 13:49:01 +10:00
rc-swag
0375dea3d6 feat(windows): remove custom built sentry.arm64.dll 2025-11-24 13:46:17 +10:00
rc-swag
0837da4b7d chore(windows): Merge branch 'feat/windows/11905/keymanx64-keymanarm64' into feat/windows/64x-pure-forwarder-wix-3
# 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
2025-11-21 18:37:18 +10:00
rc-swag
ad34a44c9f chore(windows): Merge branch 'epic/win-arm' into feat/windows/11905/keymanx64-keymanarm64 2025-11-21 18:36:13 +10:00
rc-swag
23da501019 feat(windows): remove dead code 2025-11-21 15:58:25 +10:00
rc-swag
19cc857b99 feat(windows): fix version rc files to display correct
fix the version.rc files to display the correct description
and file name for keymanhp.*.exe fix version rc files to display correct
Also fix up the Keymanengine arm64 version names.
2025-11-21 14:49:57 +10:00
rc-swag
b48bfeaf8b feat(windows): fix manifest for each host 2025-11-21 11:58:49 +10:00
rc-swag
767c007ca7 feat(windows): rename kmtiparm64EC to kmtiparm64X 2025-11-21 10:07:09 +10:00
Keyman Server
248d4205f0
Merge branch 'epic/win-arm' into auto/A19S16-merge-master-into-win-arm 2025-11-20 11:09:43 +01:00
rc-swag
9881cbb689 chore(windows): Merge branch 'feat/windows/11905/keymanx64-keymanarm64' into feat/windows/64x-pure-forwarder-wix-3 2025-11-20 19:25:55 +10:00
rc-swag
6e5fb1cefe feat(windows): copy sentry arm build to bin folder 2025-11-20 11:28:05 +10:00
rc-swag
59c8ff6d75 feat(windows): remove shared data arm64 test
the arm64 shared data test will only be possible on arm64
machine which is capable of running the x64 applications
2025-11-19 16:05:57 +10:00