spiegel-keyman/windows/src/engine
rc-swag 71ccb1ab6f fix(windows): merge resloution fix unused var
This fixes a merge resolution from master to the
branch. It also removes unused variables, from
a previous change.
2026-09-23 11:41:45 +10:00
..
inst feat(windows): no arm binaries on x64 machine 2025-12-15 15:18:39 +10:00
insthelper chore(common): move common cpp files and remove unused files 2026-05-20 13:44:05 +02:00
keyman maint(windows): remove koSwitchLanguageForAllApplications, koAutoSwitchOSKPages, osVista, osWin7, osWin8, cleanup 2026-08-27 07:47:25 +02:00
keyman32 Merge branch 'master' into fix/windows/15333-simplify-keyboard-refresh 2026-09-01 15:44:05 +07:00
keymanhp fix(windows): simplify keyboard refresh and make it more on-demand 2026-08-26 10:15:46 +02:00
keymanmc chore(windows): don't revert minor unrelated parts of map2pdb cleanup 2025-12-03 14:25:29 +01:00
kmcomapi fix(windows): merge resloution fix unused var 2026-09-23 11:41:45 +10:00
kmrefresh chore(common): move common cpp files and remove unused files 2026-05-20 13:44:05 +02:00
kmtip chore(common): move common cpp files and remove unused files 2026-05-20 13:44:05 +02:00
mcompile chore(common): remove commented old #defines; in some files remove paths for #include km_vkey 2026-08-11 09:46:49 +02:00
testhost feat(windows): tidy up 2025-11-27 11:26:35 +10:00
tsysinfo chore(windows): remove references unused extensions .kma and .kxx 2026-09-15 14:57:32 +02:00
tsysinfox64 chore(common): move common cpp files and remove unused files 2026-05-20 13:44:05 +02:00
xml/osk Remove xml/touch dead code for Windows 2017-09-25 13:11:29 +07:00
.gitignore maint(windows): remove koSwitchLanguageForAllApplications, koAutoSwitchOSKPages, osVista, osWin7, osWin8, cleanup 2026-08-27 07:47:25 +02: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