Keyboard Support

Contact and Search Homepage

Header bottom

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

On this page

KMConvert Command Line Keyboard Conversion Utility

KMConvert converts keyboard layouts between different formats. It is located in %ProgramFiles(x86)%\Keyman\Keyman Developer. KMConvert will generate a full Keyman template project from the imported layout or data, in a new folder named with the ID of the keyboard. It will not overwrite an existing folder.

The following parameters are available:

kmconvert import-windows -klid <source-klid> [additional-options]
kmconvert template -id <keyboard_id> [additional-options]

Available conversion modes

The conversion mode must be specified as the first parameter.

Imports a Windows keyboard into a new Keyman keyboard project. The -klid parameter is required.
Creates a blank keyboard project in the repository template format. The -id parameter is required.


-klid <source-klid>
The KLID of the keyboard to import, per LoadKeyboardLayout. This must be an eight digit hex identifier, such as 00000409 for English (US), kbdus.dll. This parameter is only valid for import-windows conversion mode.
-id <keyboard_id>
The id of the keyboard to create. Required for template, optional for import-windows. In import-windows mode, you can use a format string with the placeholder %s which will be replaced with the source filename, e.g. kbdus. If not specified, then the source filename will form the id of the generated keyboard.
Don't show the program description and copyright banner
-o <destination>
The target folder to write the keyboard project into, defaults to .\
-name <data>
Name of the keyboard, e.g. My First Keyboard, %s Basic. Format strings are only valid in import-windows mode; %s will be replaced with the friendly English name of the imported keyboard.
-copyright <data>
Copyright string for the keyboard, defaults to Copyright (C)
-version <data>
Version number of the keyboard, defaults to 1.0
-languages <data>
Space-separated list of BCP 47 tags, e.g. en-US tpi-PG
-author <data>
Name of author of the keyboard, no default.