Keyboard Support

Contact and Search

Keyman.com Homepage

Header bottom

Keyman.com

Other versions
Version 18.0Version 17.0 (current version)Version 16.0Version 15.0Version 14.0Version 13.0Version 12.0Version 11.0Version 10.0Version 9.0

On this page

You are viewing an old version of this documentation. Click here to open the current version, 17.0.

KMComp Command-line Compiler

KMComp is the command-line compiler included in Keyman Developer. It is located in %ProgramFiles(x86)%\Tavultesoft\Keyman Developer 9.0.

The following parameters are available:

Compiler mode

kmcomp [-s[s]] [-nologo] [-c] [-d] [-w] [-e [installer.msi [-u]]] 
       [-l username password] [-p RuntimeSourcePath] infile [-t target] 
       [outfile.kmx|outfile.js [error.log]]

General compiler parameters

infile
A .kmn file (Keyboard Source), .kps file (Package Source), or .kpj (project). Required in compiler mode. If a .kpj is specified, the .kpj will determine output paths and all files referenced in the project will be built (see -t).
outfile.kmx
Generate an output file for Windows/Mac OS X; can only be specified for a .kmn infile. Optional; if omitted, generates an output file with the same base name as the input file.
outfile.js
Generate an output file for KeymanWeb/touch devices; can only be specified for a .kmn infile. Optional; if omitted for a .kmn input, no JavaScript keyboard will be built.
error.log
Write output to a text file specified by error.log instead of stdout.
-s
Mostly silent; don't print information-level messages
-ss
Fully silent; don't print anything except fatal internal errors
-nologo
Don't print the compiler description and registration
-c
Clean target(s) instead of building (only for .kpj)
-d
Include debug information
-w
Treat warnings as errors
-t target
Build only the target file from the project (only for .kpj)

Branding Pack parameters

-l username password
Login and password override for compiling product installers
-p RuntimeSourcePath
Set Keyman runtime source path to RuntimeSourcePath
-e [installer.msi]
Create a .exe installer for a package as well, using installer.msi if specified
-u
update .kps to refer to latest version of installer.msi

Encryption mode

Encryption mode is used with the Branding Pack to prepare files for distribution.

kmcomp -x filetoencrypt [product.pxx]

Encryption parameters

filetoencrypt
Name of the .kmx or .kct file to encrypt. If .kmx, then product.pxx must also be specified.
product.pxx
Name of product to encrypt a .kmx file for.