mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-24 01:07:41 +00:00
These were replaced by kmc in v17.0. We kept them as legacy alternatives in v18.0, but it is time to remove them now to reduce the maintenance of having multiple entry points to kmc. Fixes: #13181 Test-bot: skip
155 lines
4.6 KiB
Markdown
155 lines
4.6 KiB
Markdown
# Keyman Developer
|
|
|
|
This is the current home for Keyman Developer.
|
|
|
|
## Build Prerequisites
|
|
|
|
* See [Windows Build Environment Configuration](../../docs/build/windows.md).
|
|
|
|
## Building Keyman Developer
|
|
|
|
1. Start 'Git Bash' (part of Git for Windows).
|
|
2. Run `developer/src/build.sh`.
|
|
3. Artifacts from a successful build will be placed in **developer/bin** folder.
|
|
|
|
*Note*: running `build.sh` will currently reset the packages and path settings
|
|
in your Delphi environment. If you use Delphi for other projects, you should
|
|
consider building Keyman under a login user dedicated to it, or in a VM.
|
|
|
|
Type `build.sh` to see build targets and actions. Common build actions are:
|
|
|
|
* `build.sh build`
|
|
: builds Keyman Developer
|
|
|
|
* `build.sh clean`
|
|
: remove temporary files and build artifacts
|
|
|
|
* `build.sh publish`
|
|
: makes a release of all Keyman Developer projects
|
|
|
|
* `build.sh install`
|
|
: install some or all components to Program Files (requires elevated command prompt).
|
|
|
|
### Building without Delphi
|
|
|
|
It is possible to build all components that do _not_ require Delphi. Currently a
|
|
few components are Delphi-based (TIKE, setup, a few others), but you may be able
|
|
to get away without building them. In this situation, we recommend copying the
|
|
relevant Delphi-built components into developer/bin folders from a compatible
|
|
installed version of Keyman Developer for testing and debugging purposes.
|
|
|
|
# Folders
|
|
|
|
## common
|
|
|
|
Units shared among Keyman Developer projects, Delphi
|
|
|
|
## ext
|
|
|
|
3rd party code and components, mostly Delphi
|
|
|
|
## inst - keymandeveloper.msi
|
|
|
|
Building and signing of the installation archive keymandeveloper.msi.
|
|
|
|
### inst/node
|
|
|
|
Contains a minimal distribution of node.js intended just for running kmc. If
|
|
more dependencies are required, then the developer will be expected to install
|
|
node.js themselves; this gets users going without requiring a large installer or
|
|
a full node.js install.
|
|
|
|
## kmanalyze - kmanalyze.exe
|
|
|
|
A keyboard source analysis and automated regression test tool. Testing for
|
|
logical errors of a keyboard.
|
|
|
|
## kmconvert - kmconvert.exe & kmconvert.x64.exe
|
|
|
|
KMConvert converts keyboard layouts between different formats. 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. Also used to generate new projects from templates.
|
|
|
|
## kmdecomp - kmdecomp.exe
|
|
|
|
Unsupported utility decompiles a Keyman .kmx keyboard. It will produce a .kmn
|
|
source file and optionally a .ico or .bmp image. see kmdecomp/kmdecomp.md for
|
|
details.
|
|
|
|
## kmdbrowserhost - kmdbrowserhost.exe
|
|
|
|
Hosts Chromium components for Keyman Developer; similar to kmbrowserhost.exe
|
|
in Keyman for Windows.
|
|
|
|
## kmc
|
|
|
|
node-based next generation compiler, hosts kmc
|
|
|
|
### kmc-analyze - Analysis tools
|
|
|
|
File analysis tools for Keyman files.
|
|
|
|
### kmc-copy - Project copying and renaming tools
|
|
|
|
Tools to copy and rename Keyman keyboard files and projects
|
|
|
|
### kmc-generate - Generation tools
|
|
|
|
Project generation tools for Keyman.
|
|
|
|
### kmc-keyboard-info - Keyboard Info Compiler
|
|
|
|
Builds .keyboard_info files for use on the Keyman Cloud keyboard repository
|
|
at https://github.com/keymanapp/keyboards. Command line access through kmc.
|
|
|
|
### kmc-kmn - Keyboard Compiler
|
|
|
|
Builds .kmx files from .kmn. Command line access through kmc.
|
|
|
|
### kmc-ldml - LDML Keyboard Compiler
|
|
|
|
Next Generation keyboard compiler - LDML keyboards. Command line access through
|
|
kmc.
|
|
|
|
### kmc-model - Lexical Model Compiler
|
|
|
|
The Lexical Model Compiler, runs on nodeJS on all supported desktop platforms.
|
|
Command line access through kmc.
|
|
|
|
### kmc-model-info - Model Info Compiler
|
|
|
|
Builds .model_info files for use on the Keyman Cloud lexical model repository at
|
|
https://github.com/keymanapp/lexical-models. Command line access through kmc.
|
|
|
|
### kmc-package - Package Compiler
|
|
|
|
Compiles .kps packages into .kmp files. Works with both lexical model packages
|
|
and keyboard packages. Command line access through kmc.
|
|
|
|
## samples
|
|
|
|
Contains sample keyboards and sample developer projects. See readme.txt for
|
|
details.
|
|
|
|
## server
|
|
|
|
Keyman Developer Server. Node-based, cross platform host app for Keyman
|
|
Developer. Used currently for web-based test and deployment. In future, will
|
|
be the foundation for a web-based Keyman Developer project.
|
|
|
|
## setup - setup.exe
|
|
|
|
Installation program for Keyman Developer for Windows. Bundles with
|
|
keymandeveloper.msi to generate single deployable installer executable.
|
|
|
|
## tike - "Tavultesoft Integrated Keyboard Editor"
|
|
|
|
This is the designer side of the Developer. Used for designing, developing,
|
|
testing and packing keyboards for distribution.
|
|
|
|
## tools
|
|
|
|
Various build-time tools for Keyman Developer.
|
|
|
|
|