Keyman Package Metadata files
- Used by:
- Keyman applications on all platforms except web.
- Description:
- The files
kmp.infandkmp.jsonare metadata for a Keyman package file. - Details:
- When Keyman Developer compiles a Keyman package source file (.KPS),
it creates and automatically adds
kmp.infandkmp.jsoninto the Keyman Package file (.KMP). - Keyman mobile products use
kmp.jsonto install the touch keyboards (.JS) in the package. - Keyman Desktop 10.0 also uses
kmp.jsonto install the keyboards (.KMX) in the package. - Older versions of Keyman use
kmp.inf, a parallel format of the package metadata. Note: the lexical model compiler does not addkmp.inf - Package purposes:
- A Keyman Package file can be used to distribute keyboards (most common), lexical models, or user interface localizations for Keyman Desktop.
systemObjectSystemobject.optionsObject- An
Optionsobject. startMenuObjectStart Menuobject.infoObjectInfoobject.filesObject- Array of objects, each containing a name and description of each file in in the package
keyboardsObject- Array of
Keyboardobjects. lexicalModelsObject- Array of
LexicalModelobjects. keymanDeveloperVersionstring- The version of Keyman Developer used to create the package file. If undefined, use
'0.0.0.0' fileVersion,stringreadmeFilestring- The file for the keyboard package documentation
graphicFilestring- The image associated with the keyboard package.
folderstring- The folder that Keyman Desktop will create
itemsArray- An array of Item objects
namestring- The item name
filenamestring- The filename of the item
locationstring- The location for Keyman Desktop to place the item
namestring- The Keyman package name
versionstring- The version number of the package in dotted number format. Defaults to
'1.0'if missing copyrightstringoptional- Copyright information
authorstringoptional- The Keyman package author and email address
websitestringoptional- Description and URL for additional Keyboard package documentation
namestring- Name of keyboard
idstring- ID of the keyboard, always matches the filename of the keyboard
rtlbooleanoptionaltrueif the keyboard targets a right-to-left script.falseif absent.versionstring- version number of the keyboard in dotted number format. Defaults to
'1.0'if missing languagesArray- An array of
Languageobjects linked to the keyboard. displayFontstringoptional- The filename of the font for input fields (and OSK, if
oskFontis not present). oskFontstringoptional- The filename of the font for the OSK
namestring- The name of the language
idstring- BCP 47 language code
namestring- Name of model
idstring- ID of the model, always matches the filename of the model
rtlbooleanoptionaltrueif the model targets a right-to-left script.falseif absent.versionstring- version number of the model in dotted number format.
languagesArray- An array of
Languageobjects linked to the model.
KMP.JSON
The package object
The kmp.json file is a base object described as
The System object
The System object is used by Keyman Desktop to install keyboards
The Options object
The Options object is used by Keyman Desktop to install keyboards
The Start Menu object
The StartMenu object is used by Keyman Desktop to install windows
The Item Object
The Item object
The Info object
The Info object describes the Keyman package
The Keyboard object
The Keyboard object describes an individual keyboard in the Keyman package. A package cannot contain both lexical models and keyboards.
The Language object
The Language object describes the language that can be typed with the keyboard
The LexicalModel object
The LexicalModel object describes an individual model in the Keyman package. A package cannot contain both lexical models and keyboards.


