spiegel-keyman/windows/src/engine
rc-swag 02db51c9b6
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
fix(windows): address review comments
2026-04-28 23:16:17 +10:00
..
inst feat(windows): no arm binaries on x64 machine 2025-12-15 15:18:39 +10:00
insthelper Revert "change(windows): include map2pdb generation for relevant Delphi projects" 2025-12-03 14:13:54 +01:00
keyman Merge pull request #14621 from keymanapp/epic/win-arm 2025-12-22 03:37:22 +01:00
keyman32 fix(windows): address review comments 2026-04-28 23:16:17 +10:00
keymanhp feat(windows): update engine solution 2025-12-01 17:03:28 +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 feat(windows): update engine solution 2025-12-01 17:03:28 +10:00
kmtip fix(windows): rename fTestEatenBuf to fOnTestEatenBuf 2026-04-02 16:19:45 +10:00
mcompile feat(windows): address review comments 2025-12-02 10:47:59 +10:00
testhost feat(windows): tidy up 2025-11-27 11:26:35 +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(windows): Merge branch 'epic/win-arm' into feat/windows/64x-pure-forwarder-wix-3 2025-12-09 14:00:45 +10:00
README.md feat(windows): review comments 2025-12-12 17:24:29 +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 | kmtiparm64x.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

kmtiparm64x.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 on Windows x64 Machines. See the kmtip README for deeper description of kmtip*.dll.

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