mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-26 10:17:41 +00:00
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, (and legacy kmlmc, kmlmp)
|
|
|
|
### 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.
|
|
|
|
|