spiegel-keyman/windows/src/engine
Marc Durdin f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
..
inst maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
insthelper maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
keyman maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
keyman32 maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
keymanmc maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
keymanx64 maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
kmcomapi maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
kmrefresh maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
kmtip maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
mcompile maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
testhost maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
tsysinfo maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
tsysinfox64 maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10: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 maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
engine.groupproj chore(windows): make build paths consistent 2021-07-01 07:38:00 +10:00
engine.sln fix(windows): align engine.sln platforms and configurations 2024-07-25 09:38:02 +07:00
README.md refactor(windows): merge keyman64 build into keyman32 2024-07-02 17:00:38 +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

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

keymanmc - keymanmc.dll

Message library for Windows events.

keymanx64 - keymanx64.exe

64-bit version of keyman.exe. All UI is in keyman.exe, so this is a thin wrapper around the keyman32 build.

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

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

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