spiegel-keyman/windows/src/engine
2025-12-16 07:05:09 +11:00
..
inst feat(windows): combine start host 64 process functions 2025-11-25 12:42:15 +10:00
insthelper Revert "change(windows): include map2pdb generation for relevant Delphi projects" 2025-12-03 14:13:54 +01:00
keyman chore: Merge remote-tracking branch 'origin/epic/win-arm' into auto/A19S17-merge-master-into-win-arm 2025-12-05 10:16:37 +01:00
keyman32 fix(windows): use Thai Kedmanee instead of Arabic 101 in RightAltEmulationCheck.tests.cpp 2025-12-16 07:05:09 +11:00
keymanhp Merge pull request #15235 from keymanapp/feat/windows/15228/keyman-x64-arm-ico 2025-11-27 10:01:00 +10:00
keymanmc chore(windows): don't revert minor unrelated parts of map2pdb cleanup 2025-12-03 14:25:29 +01:00
kmcomapi Revert "change(windows): include map2pdb generation for relevant Delphi projects" 2025-12-03 14:13:54 +01:00
kmrefresh chore(windows): Merge branch 'epic/win-arm' into feat/windows/11905/keymanx64-keymanarm64 2025-11-03 09:59:10 +10:00
kmtip feat(windows): audit _WIN64 macro 2025-11-25 16:01:52 +10:00
mcompile feat(windows): audit _WIN64 macro 2025-11-25 16:01:52 +10:00
testhost feat(windows): audit _WIN64 macro 2025-11-25 16:01:52 +10:00
tsysinfo Merge pull request #15276 from keymanapp/revert-14799-change/windows/include-map2pdb-for-relevant-projects 2025-12-05 07:10:52 +01:00
tsysinfox64 chore(windows): don't revert minor unrelated parts of map2pdb cleanup 2025-12-03 14:25:29 +01:00
xml/osk Remove xml/touch dead code for Windows 2017-09-25 13:11:29 +07:00
.gitignore refactor(windows): merge keyman64 build into keyman32 2024-07-02 17:00:38 +10:00
build.sh Merge branch 'epic/win-arm' into feat/windows/11905/keymanx64-keymanarm64 2025-10-01 14:11:23 +10:00
engine.groupproj chore(windows): make build paths consistent 2021-07-01 07:38:00 +10:00
engine.sln chore: Merge remote-tracking branch 'origin/epic/win-arm' into auto/A19S17-merge-master-into-win-arm 2025-12-05 10:16:37 +01:00
README.md feat(windows): update etl2log and Readme 2025-11-26 22:05:13 +10:00

Keyman Engine for Windows

There are a number of build artifacts that make up the Keyman Engine. This is a brief description of each artifact's purpose. For FAQs on the architecture see the Keyman Wiki.

inst - keymanengine.msm

The installation merge module database for the Keyman Engine.

keyman - keyman.exe

Host application for the Keyman Engine. Shows the Keyman icon, Keyman menu, OSK, and handles language switching etc, as well as running the windows hooks to capture and translate keystrokes.

keyman32 - keyman32.dll | keyman64.dll | keymanarm64.dll

Main keyboard processing library and hook library (x86, x64, arm64).

keymanmc - keymanmc.dll

Message library for Windows events.

keymanhp - keymanhp.x64.exe | keymanhp.arm64.exe

64-bit versions of keyman.exe. All UI is in keyman.exe, so this is a thin wrapper around the keyman32 build. One is for x64 CPU architecture and the other Arm64.

In v18.0 and earlier, this was called keymanx64.exe.

kmcomapi - kmcomapi.dll | kmcomapi.x64.dll

This is the public COM API library, used by keyman.exe, kmshell.exe, and various other Keyman and 3rd party programs.

kmrefresh - kmrefresh.x86.exe & kmrefresh.x64.exe

A helper app to refresh Windows language settings, due to a bug in Windows; read ../kmrefresh/kmrefresh.cpp for details.

kmtip - kmtip.dll | kmtip64.dll | kmtiparm64.dll

Implementation of a Text Service for the Text Services Framework (TSF). This implementation is named Keyman TIP. Architecturally it sits between the TSF Manager and Keyman.exe

kmtiparm64.dll is built as an Arm64X, file it supports both x64 and arm64 on a Windows on Arm machine. kmtip64.dll is therefore only used only on Windows x64 Machines.

mcompile - mcompile.exe

A tool to recompile keyboard layouts after install to map to various European Latin script keyboard layouts

testhost - testhost.exe

Test application to allow simple debugging of keystroke processing (not distributed)

tsysinfo - tsysinfo.exe & tsysinfox64.exe

Diagnostics