spiegel-keyman/developer/js
Marc Durdin 0d4a6e428a fix(windows): base layout support in Keyman Core
While Keyman Core already supported the base layout flags, they were not
being passed in from Keyman Engine for Windows. This meant that any
rules that used `baselayout` would fail, such as in sil_ipa with AltGr+0
for }

0bf72bed74/release/sil/sil_ipa/source/sil_ipa.kmn (L348-L350)

This patch adds support for the following properties:

* KM_KBP_KMX_ENV_BASELAYOUT: the legacy base layout name, e.g. kbdus.dll
* KM_KBP_KMX_ENV_BASELAYOUTALT: the BCP 47 base layout name, e.g. en-US
* KM_KBP_KMX_ENV_SIMULATEALTGR: whether the user has selected to emulate
  AltGr with Ctrl+Alt, for example on laptops without a right alt key.
* KM_KBP_KMX_ENV_BASELAYOUTGIVESCTRLRALTFORRALT: whether the system base
  layout in use generates Ctrl+RAlt when RAlt is pressed, which can be
  true for many European system layouts. This is necessary when
  associating the keyboard with a European language because the base
  keyboard becomes the language's default keyboard, rather than kbdus.
2022-11-14 12:27:04 +11:00
..
libexec docs(developer/compilers): document purpose of create-override-script-regexp 2020-08-26 14:55:21 -06:00
source feat(developer): promote 'info' messages to 'hint' 2022-03-30 17:04:48 +11:00
tests fix(developer): downgrade additional let and arrow functions 2021-03-18 17:51:59 +11:00
.gitignore [developer] Initial lexical model compiler files (not yet working) 2019-05-08 10:40:46 +10:00
.npmignore chore(developer): refactor model compiler bundling into bash script 2021-12-22 04:47:05 +11:00
build.sh fix(developer): npm publish with correct tier 2022-02-13 14:18:42 +07:00
bundle.sh fix(windows): base layout support in Keyman Core 2022-11-14 12:27:04 +11:00
package-lock.json auto: increment stable-15.0 version to 15.0.273 2022-11-01 23:07:55 -04:00
package.json auto: increment stable-15.0 version to 15.0.273 2022-11-01 23:07:55 -04:00
README.md fix(windows): improve version numbers 2020-10-08 09:13:48 +11:00
tsconfig.json fix(common/models): use correct paths for models-types 2020-05-22 11:42:28 -06:00

Keyman Developer

This package provides the following Keyman command line tools:

  • kmlmc — takes lexical model sources and compiles them in to a .js file.
  • kmlmp — uses a .model.kmp file to generate a redistributable lexical model package.
  • kmlmi — merges Keyman lexical model .model_info files.

kmlmc is intended to be used standalone, or as part of a build system. kmlmp is used only by command line tools. kmlmi is used exclusively in the lexical-models repository.

In order to build lexical models, these tools must be built and compiled.

Install

Install kmlmc, kmlmp, and kmlmi globally:

npm install -g @keymanapp/lexical-model-compiler

Usage

To compile a lexical model from its .model.ts source, use kmlmc:

kmlmc my-lexical-model.model.ts --outFile my-lexical-model.js

To see more command line options by using the --help option:

kmlmc --help
kmlmp --help
kmlmi --help

How to build from source

Run build.sh:

./build.sh

How to run the tests

./build.sh -test