@keymanapp/kmc-kmn 17.0.155-alpha → 17.0.157-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/compiler/compiler.d.ts +98 -50
- package/build/src/compiler/compiler.d.ts.map +1 -1
- package/build/src/compiler/compiler.js +405 -268
- package/build/src/compiler/compiler.js.map +1 -1
- package/build/src/compiler/messages.d.ts +230 -218
- package/build/src/compiler/messages.d.ts.map +1 -1
- package/build/src/compiler/messages.js +242 -234
- package/build/src/compiler/messages.js.map +1 -1
- package/build/src/import/kmcmplib/wasm-host.d.ts +5 -3
- package/build/src/import/kmcmplib/wasm-host.d.ts.map +1 -1
- package/build/src/import/kmcmplib/wasm-host.js +3264 -1145
- package/build/src/import/kmcmplib/wasm-host.js.map +1 -1
- package/build/src/import/kmcmplib/wasm-host.wasm +0 -0
- package/build/src/kmw-compiler/compiler-globals.d.ts +21 -0
- package/build/src/kmw-compiler/compiler-globals.d.ts.map +1 -0
- package/build/src/kmw-compiler/compiler-globals.js +37 -0
- package/build/src/kmw-compiler/compiler-globals.js.map +1 -0
- package/build/src/kmw-compiler/constants.d.ts +16 -0
- package/build/src/kmw-compiler/constants.d.ts.map +1 -0
- package/build/src/kmw-compiler/constants.js +62 -0
- package/build/src/kmw-compiler/constants.js.map +1 -0
- package/build/src/kmw-compiler/javascript-strings.d.ts +35 -0
- package/build/src/kmw-compiler/javascript-strings.d.ts.map +1 -0
- package/build/src/kmw-compiler/javascript-strings.js +854 -0
- package/build/src/kmw-compiler/javascript-strings.js.map +1 -0
- package/build/src/kmw-compiler/keymanweb-key-codes.d.ts +25 -0
- package/build/src/kmw-compiler/keymanweb-key-codes.d.ts.map +1 -0
- package/build/src/kmw-compiler/keymanweb-key-codes.js +806 -0
- package/build/src/kmw-compiler/keymanweb-key-codes.js.map +1 -0
- package/build/src/kmw-compiler/kmw-compiler.d.ts +16 -0
- package/build/src/kmw-compiler/kmw-compiler.d.ts.map +1 -0
- package/build/src/kmw-compiler/kmw-compiler.js +535 -0
- package/build/src/kmw-compiler/kmw-compiler.js.map +1 -0
- package/build/src/kmw-compiler/messages.d.ts +85 -0
- package/build/src/kmw-compiler/messages.d.ts.map +1 -0
- package/build/src/kmw-compiler/messages.js +48 -0
- package/build/src/kmw-compiler/messages.js.map +1 -0
- package/build/src/kmw-compiler/util.d.ts +77 -0
- package/build/src/kmw-compiler/util.d.ts.map +1 -0
- package/build/src/kmw-compiler/util.js +249 -0
- package/build/src/kmw-compiler/util.js.map +1 -0
- package/build/src/kmw-compiler/validate-layout-file.d.ts +10 -0
- package/build/src/kmw-compiler/validate-layout-file.d.ts.map +1 -0
- package/build/src/kmw-compiler/validate-layout-file.js +246 -0
- package/build/src/kmw-compiler/validate-layout-file.js.map +1 -0
- package/build/src/kmw-compiler/visual-keyboard-compiler.d.ts +5 -0
- package/build/src/kmw-compiler/visual-keyboard-compiler.d.ts.map +1 -0
- package/build/src/kmw-compiler/visual-keyboard-compiler.js +121 -0
- package/build/src/kmw-compiler/visual-keyboard-compiler.js.map +1 -0
- package/build/src/main.d.ts +6 -3
- package/build/src/main.d.ts.map +1 -1
- package/build/src/main.js +6 -3
- package/build/src/main.js.map +1 -1
- package/package.json +7 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"debug_id":"1f10f77d-0a21-5ce4-bd41-bace1702a801","file":"keymanweb-key-codes.js","mappings":";AAAA,MAAM,CAAC,MACL,kBAAkB,GAAa;IAC7B,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IAEJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IAEJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI,CAAE,sBAAsB;CAC7B,CAAC;AAEJ,GAAG;AACH,0DAA0D;AAC1D,oDAAoD;AACpD,GAAG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,QAAQ;IACR,OAAO;IACP,EAAE;IACF,EAAE;IACF,EAAE;IACF,SAAS;IACT,EAAE;IACF,EAAE;IACF,SAAS;IACT,WAAW;IACX,OAAO;IACP,SAAS;IACT,QAAQ;IACR,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,OAAO;IACP,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,EAAE;IACF,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,aAAa;IACb,WAAW;IACX,SAAS;IACT,WAAW;IACX,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,WAAW;IACX,UAAU;IACV,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,UAAU;IACV,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,WAAW;IACX,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,SAAS;IACT,WAAW;IACX,SAAS;IACT,SAAS;IACT,EAAE;IACF,EAAE;IACF,EAAE;IACF,OAAO;IACP,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACzB,YAAY;IACZ,OAAO;IACP,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;IACX,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;IACT,WAAW;IACX,OAAO;IACP,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IAEP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,aAAa;IACb,WAAW;IACX,SAAS;IACT,WAAW;IACX,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IAEP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IAEP,WAAW;IACX,UAAU;IAEV,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IAEP,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,WAAW;IAEX,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IAEP,SAAS;IACT,WAAW;IACX,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IAEP,OAAO;IAEP,OAAO;IAEP,OAAO;IACP,OAAO;IAEP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IAEP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO,CAAI,OAAO;CACjB,CAAC;AAgBC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAa;IACtD,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,cAAc;IACd,SAAS;IACT,SAAS;IACT,SAAS;IACT,WAAW;IACX,SAAS;IACT,WAAW;IACX,UAAU;CACX,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAa;IAC7C,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,QAAQ;CACT,CAAC","names":[],"sourceRoot":"","sources":["../../../src/kmw-compiler/keymanweb-key-codes.ts"],"version":3}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="628b174c-533e-53df-b8ca-cfb88b0d2ab2")}catch(e){}}();
|
|
2
|
+
import { KMX, CompilerCallbacks } from "@keymanapp/common-types";
|
|
3
|
+
import { CompilerResult } from "../compiler/compiler.js";
|
|
4
|
+
export declare function RequotedString(s: string, RequoteSingleQuotes?: boolean): string;
|
|
5
|
+
export declare function WriteCompiledKeyboard(callbacks: CompilerCallbacks, kmnfile: string, keyboardData: Uint8Array, kvkData: Uint8Array, kmxResult: CompilerResult, FDebug?: boolean): string;
|
|
6
|
+
export declare function RuleIsExcludedByPlatform(keyboard: KMX.KEYBOARD, fkp: KMX.KEY): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Converts a modifier bit mask integer into its component bit flags
|
|
9
|
+
*
|
|
10
|
+
* @param FBitMask A KMX modifier bitmask value
|
|
11
|
+
*
|
|
12
|
+
* @return string of JavaScript code, e.g. 'modCodes.SHIFT | modCodes.CTRL /* 0x0030 ./'
|
|
13
|
+
**/
|
|
14
|
+
export declare function FormatModifierAsBitflags(FBitMask: number): string;
|
|
15
|
+
//# debugId=628b174c-533e-53df-b8ca-cfb88b0d2ab2
|
|
16
|
+
//# sourceMappingURL=kmw-compiler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"debug_id":"628b174c-533e-53df-b8ca-cfb88b0d2ab2","file":"kmw-compiler.d.ts","mappings":";AAAA,OAAO,EAAE,GAAG,EAAmB,iBAAiB,EAAyD,MAAM,yBAAyB,CAAC;AAOzI,OAAO,EAAE,cAAc,EAAyD,MAAM,yBAAyB,CAAC;AAMhH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,GAAE,OAAe,GAAG,MAAM,CAuBtF;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,UAAU,EACxB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,cAAc,EACzB,MAAM,GAAE,OAAe,GACtB,MAAM,CA+VR;AAuFD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAoBtF;AASD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoDjE","names":[],"sourceRoot":"","sources":["../../../src/kmw-compiler/kmw-compiler.ts"],"version":3}
|
|
@@ -0,0 +1,535 @@
|
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="49efb1d6-8b19-542d-8978-a06c26d0d562")}catch(e){}}();
|
|
2
|
+
import { KMX, KvkFileReader, KmxFileReader } from "@keymanapp/common-types";
|
|
3
|
+
import { ExpandSentinel, incxstr, xstrlen } from "./util.js";
|
|
4
|
+
import { options, nl, FTabStop, setupGlobals, IsKeyboardVersion10OrLater, callbacks, FFix183_LadderLength, FCallFunctions, fk } from "./compiler-globals.js";
|
|
5
|
+
import { JavaScript_ContextMatch, JavaScript_KeyAsString, JavaScript_Name, JavaScript_OutputString, JavaScript_Rules, JavaScript_Shift, JavaScript_ShiftAsString, JavaScript_Store, zeroPadHex } from './javascript-strings.js';
|
|
6
|
+
import { KmwCompilerMessages } from "./messages.js";
|
|
7
|
+
import { ValidateLayoutFile } from "./validate-layout-file.js";
|
|
8
|
+
import { VisualKeyboardFromFile } from "./visual-keyboard-compiler.js";
|
|
9
|
+
import { STORETYPE_DEBUG, STORETYPE_OPTION, STORETYPE_RESERVED } from "../compiler/compiler.js";
|
|
10
|
+
function requote(s) {
|
|
11
|
+
return "'" + s.replaceAll(/(['\\])/g, "\\$1") + "'";
|
|
12
|
+
}
|
|
13
|
+
export function RequotedString(s, RequoteSingleQuotes = false) {
|
|
14
|
+
// TODO: use a JSON encode
|
|
15
|
+
let i = 0;
|
|
16
|
+
while (i < s.length) {
|
|
17
|
+
if (s.charAt(i) == '"' || s.charAt(i) == '\\') {
|
|
18
|
+
s = s.substring(0, i) + '\\' + s.substring(i);
|
|
19
|
+
i++;
|
|
20
|
+
}
|
|
21
|
+
else if (s.charAt(i) == '\'' && RequoteSingleQuotes) {
|
|
22
|
+
s = s.substring(0, i) + '\\' + s.substring(i);
|
|
23
|
+
i++;
|
|
24
|
+
}
|
|
25
|
+
else if (s.charAt(i) == '\n') {
|
|
26
|
+
s = s.substring(0, i) + ' ' + s.substring(i + 1);
|
|
27
|
+
}
|
|
28
|
+
else if (s.charAt(i) == '\r') {
|
|
29
|
+
// Yes, `\r` gets converted to `\n`, per kmcomp pattern
|
|
30
|
+
// in the future we may change this
|
|
31
|
+
s = s.substring(0, i) + '\\n' + s.substring(i + 1);
|
|
32
|
+
}
|
|
33
|
+
i++;
|
|
34
|
+
}
|
|
35
|
+
return s;
|
|
36
|
+
}
|
|
37
|
+
export function WriteCompiledKeyboard(callbacks, kmnfile, keyboardData, kvkData, kmxResult, FDebug = false) {
|
|
38
|
+
let opts = {
|
|
39
|
+
shouldAddCompilerVersion: false,
|
|
40
|
+
saveDebug: FDebug
|
|
41
|
+
};
|
|
42
|
+
const reader = new KmxFileReader();
|
|
43
|
+
const keyboard = reader.read(keyboardData);
|
|
44
|
+
setupGlobals(callbacks, opts, FDebug ? ' ' : '', FDebug ? '\r\n' : '', kmxResult, keyboard, kmnfile);
|
|
45
|
+
let vMnemonic = 0;
|
|
46
|
+
let sRTL = "", sHelp = "''", sHelpFile = "", sEmbedJSFilename = "", sEmbedCSSFilename = "";
|
|
47
|
+
let sVisualKeyboardFilename = "", sFullName = "";
|
|
48
|
+
let sBegin_NewContext = "", sBegin_PostKeystroke = "";
|
|
49
|
+
let sLayoutFilename = "", sVKDictionary = "";
|
|
50
|
+
let linecomment; // I3438
|
|
51
|
+
let sModifierBitmask;
|
|
52
|
+
let FOptionStores;
|
|
53
|
+
let FKeyboardVersion = "1.0";
|
|
54
|
+
let result = "";
|
|
55
|
+
// Locate the name of the keyboard
|
|
56
|
+
for (let i = 0; i < keyboard.stores.length; i++) {
|
|
57
|
+
const fsp = keyboard.stores[i];
|
|
58
|
+
if (fsp.dwSystemID == KMX.KMXFile.TSS_NAME) {
|
|
59
|
+
sFullName = fsp.dpString;
|
|
60
|
+
}
|
|
61
|
+
else if (fsp.dwSystemID == KMX.KMXFile.TSS_KEYBOARDVERSION) { // I4155
|
|
62
|
+
FKeyboardVersion = fsp.dpString;
|
|
63
|
+
}
|
|
64
|
+
else if (fsp.dpName == 'HelpFile' || fsp.dwSystemID == KMX.KMXFile.TSS_KMW_HELPFILE) {
|
|
65
|
+
sHelpFile = fsp.dpString;
|
|
66
|
+
}
|
|
67
|
+
else if (fsp.dpName == 'Help' || fsp.dwSystemID == KMX.KMXFile.TSS_KMW_HELPTEXT) {
|
|
68
|
+
sHelp = '"' + RequotedString(fsp.dpString) + '"';
|
|
69
|
+
}
|
|
70
|
+
else if (fsp.dpName == 'VisualKeyboard' || fsp.dwSystemID == KMX.KMXFile.TSS_VISUALKEYBOARD) {
|
|
71
|
+
sVisualKeyboardFilename = fsp.dpString;
|
|
72
|
+
}
|
|
73
|
+
else if (fsp.dpName == 'EmbedJS' || fsp.dwSystemID == KMX.KMXFile.TSS_KMW_EMBEDJS) {
|
|
74
|
+
sEmbedJSFilename = fsp.dpString;
|
|
75
|
+
}
|
|
76
|
+
else if (fsp.dpName == 'EmbedCSS' || fsp.dwSystemID == KMX.KMXFile.TSS_KMW_EMBEDCSS) { // I4368
|
|
77
|
+
sEmbedCSSFilename = fsp.dpString;
|
|
78
|
+
}
|
|
79
|
+
else if (fsp.dpName == 'RTL' || fsp.dwSystemID == KMX.KMXFile.TSS_KMW_RTL) {
|
|
80
|
+
sRTL = fsp.dpString == '1' ? FTabStop + 'this.KRTL=1;' + nl : ''; // I3681
|
|
81
|
+
}
|
|
82
|
+
else if (fsp.dwSystemID == KMX.KMXFile.TSS_MNEMONIC) {
|
|
83
|
+
vMnemonic = fsp.dpString == '1' ? 1 : 0;
|
|
84
|
+
}
|
|
85
|
+
else if (fsp.dwSystemID == KMX.KMXFile.TSS_VKDICTIONARY) { // I3438
|
|
86
|
+
sVKDictionary = fsp.dpString;
|
|
87
|
+
}
|
|
88
|
+
else if (fsp.dwSystemID == KMX.KMXFile.TSS_LAYOUTFILE) { // I3483
|
|
89
|
+
sLayoutFilename = fsp.dpString;
|
|
90
|
+
}
|
|
91
|
+
else if (fsp.dwSystemID == KMX.KMXFile.TSS_BEGIN_NEWCONTEXT) {
|
|
92
|
+
sBegin_NewContext = fsp.dpString;
|
|
93
|
+
}
|
|
94
|
+
else if (fsp.dwSystemID == KMX.KMXFile.TSS_BEGIN_POSTKEYSTROKE) {
|
|
95
|
+
sBegin_PostKeystroke = fsp.dpString;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const sName = 'Keyboard_' + getKeymanWebCompiledNameFromFileName(kmnfile);
|
|
99
|
+
if (sHelpFile != '') {
|
|
100
|
+
sHelp = '';
|
|
101
|
+
sHelpFile = callbacks.resolveFilename(kmnfile, sHelpFile);
|
|
102
|
+
try {
|
|
103
|
+
const data = callbacks.loadFile(sHelpFile);
|
|
104
|
+
let html = new TextDecoder().decode(data);
|
|
105
|
+
if (!html.endsWith('\n'))
|
|
106
|
+
html += '\n'; // CompileKeymanWeb.pas adds a new line at EOF
|
|
107
|
+
sHelp = html.replace(/\r/g, '').replace(/\n/g, ' ');
|
|
108
|
+
sHelp = requote(sHelp);
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
callbacks.reportMessage(KmwCompilerMessages.Warn_HelpFileMissing({ filename: sHelpFile, e }));
|
|
112
|
+
sHelp = '';
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
let sEmbedJS = '';
|
|
116
|
+
if (sEmbedJSFilename != '') {
|
|
117
|
+
sEmbedJSFilename = callbacks.resolveFilename(kmnfile, sEmbedJSFilename);
|
|
118
|
+
try {
|
|
119
|
+
const data = callbacks.loadFile(sEmbedJSFilename);
|
|
120
|
+
sEmbedJS = new TextDecoder().decode(data);
|
|
121
|
+
}
|
|
122
|
+
catch (e) {
|
|
123
|
+
callbacks.reportMessage(KmwCompilerMessages.Warn_EmbedJsFileMissing({ filename: sEmbedJSFilename, e }));
|
|
124
|
+
sEmbedJS = '';
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
let sEmbedCSS = '';
|
|
128
|
+
if (sEmbedCSSFilename != '') { // I4368
|
|
129
|
+
sEmbedCSSFilename = callbacks.resolveFilename(kmnfile, sEmbedCSSFilename);
|
|
130
|
+
try {
|
|
131
|
+
const data = callbacks.loadFile(sEmbedCSSFilename);
|
|
132
|
+
sEmbedCSS = new TextDecoder().decode(data);
|
|
133
|
+
if (sEmbedCSS != '' && !sEmbedCSS.endsWith('\r\n'))
|
|
134
|
+
sEmbedCSS += '\r\n'; // match CompileKeymanWeb.pas
|
|
135
|
+
}
|
|
136
|
+
catch (e) {
|
|
137
|
+
// TODO(lowpri): rename error constant to Warn_EmbedFileMissing
|
|
138
|
+
callbacks.reportMessage(KmwCompilerMessages.Warn_EmbedJsFileMissing({ filename: sEmbedCSSFilename, e }));
|
|
139
|
+
sEmbedCSS = '';
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
let sLayoutFile = '';
|
|
143
|
+
if (sLayoutFilename != '') { // I3483
|
|
144
|
+
sLayoutFilename = callbacks.resolveFilename(kmnfile, sLayoutFilename);
|
|
145
|
+
let result = ValidateLayoutFile(keyboard, options.saveDebug, sLayoutFilename, sVKDictionary, kmxResult.displayMap);
|
|
146
|
+
if (!result.result) {
|
|
147
|
+
sLayoutFile = '';
|
|
148
|
+
callbacks.reportMessage(KmwCompilerMessages.Error_TouchLayoutFileInvalid({ filename: sLayoutFilename }));
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
sLayoutFile = result.output;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Default to hide underlying layout characters. This is overridden by touch
|
|
156
|
+
// layout platform.displayUnderlying property or, if that is not present for
|
|
157
|
+
// the given platform, by the OSK property.
|
|
158
|
+
let fDisplayUnderlying = false;
|
|
159
|
+
let sVisualKeyboard = 'null'; // 'null' as a string is correct
|
|
160
|
+
if (sVisualKeyboardFilename != '') {
|
|
161
|
+
const reader = new KvkFileReader();
|
|
162
|
+
const kvk = reader.read(kvkData);
|
|
163
|
+
fDisplayUnderlying = !!(kvk.header.flags & 2 /* KvkFile.BUILDER_KVK_HEADER_FLAGS.kvkhDisplayUnderlying */);
|
|
164
|
+
sVisualKeyboard = VisualKeyboardFromFile(kvk, options.saveDebug);
|
|
165
|
+
}
|
|
166
|
+
const fMnemonic = vMnemonic == 1;
|
|
167
|
+
sModifierBitmask = GetKeyboardModifierBitmask(keyboard, fMnemonic);
|
|
168
|
+
result +=
|
|
169
|
+
`${JavaScript_SetupProlog()}${nl}` +
|
|
170
|
+
`KeymanWeb.KR(new ${sName}());${nl}` +
|
|
171
|
+
`${JavaScript_SetupEpilog()}${nl}` +
|
|
172
|
+
`function ${sName}()${nl}` +
|
|
173
|
+
`{${nl}` +
|
|
174
|
+
`${FTabStop}${JavaScript_SetupDebug()}${nl}` +
|
|
175
|
+
// Following line caches the Keyman major version
|
|
176
|
+
`${FTabStop}this._v=(typeof keyman!="undefined"&&typeof keyman.version=="string")?parseInt(keyman.version,10):9;${nl}` +
|
|
177
|
+
`${FTabStop}this.KI="${sName}";${nl}` +
|
|
178
|
+
`${FTabStop}this.KN="${RequotedString(sFullName)}";${nl}` +
|
|
179
|
+
`${FTabStop}this.KMINVER="${(keyboard.fileVersion & KMX.KMXFile.VERSION_MASK_MAJOR) >> 8}.${keyboard.fileVersion & KMX.KMXFile.VERSION_MASK_MINOR}";${nl}` +
|
|
180
|
+
`${FTabStop}this.KV=${sVisualKeyboard};${nl}` +
|
|
181
|
+
`${FTabStop}this.KDU=${fDisplayUnderlying ? '1' : '0'};${nl}` +
|
|
182
|
+
`${FTabStop}this.KH=${sHelp};${nl}` +
|
|
183
|
+
`${FTabStop}this.KM=${vMnemonic};${nl}` +
|
|
184
|
+
`${FTabStop}this.KBVER="${FKeyboardVersion}";${nl}` + // I4155
|
|
185
|
+
`${FTabStop}this.KMBM=${sModifierBitmask};${nl}` +
|
|
186
|
+
`${sRTL}`; // I3681
|
|
187
|
+
if (HasSupplementaryPlaneChars()) {
|
|
188
|
+
result += `${FTabStop}this.KS=1;${nl}`;
|
|
189
|
+
}
|
|
190
|
+
if (sVKDictionary != '') { // I3438
|
|
191
|
+
result += `${FTabStop}this.KVKD="${RequotedString(sVKDictionary)}";${nl}`; // I3681
|
|
192
|
+
}
|
|
193
|
+
if (sLayoutFile != '') { // I3483
|
|
194
|
+
result += `${FTabStop}this.KVKL=${sLayoutFile};${nl}`; // I3681
|
|
195
|
+
}
|
|
196
|
+
if (sEmbedCSS != '') { // I4368
|
|
197
|
+
result += `${FTabStop}this.KCSS="${RequotedString(sEmbedCSS)}";${nl}`;
|
|
198
|
+
}
|
|
199
|
+
const isStoreType = (index, type) => !!(kmxResult.extra.stores[index].storeType & type);
|
|
200
|
+
const isDebugStore = (index) => isStoreType(index, STORETYPE_DEBUG);
|
|
201
|
+
const isReservedStore = (index) => isStoreType(index, STORETYPE_RESERVED);
|
|
202
|
+
const isOptionStore = (index) => isStoreType(index, STORETYPE_OPTION);
|
|
203
|
+
const getStoreLine = (index) => kmxResult.extra.stores[index].line;
|
|
204
|
+
// Write the stores out
|
|
205
|
+
FOptionStores = '';
|
|
206
|
+
for (let i = 0; i < keyboard.stores.length; i++) {
|
|
207
|
+
let fsp = keyboard.stores[i];
|
|
208
|
+
// I3438 - Save all system stores to the keyboard, for now // I3684
|
|
209
|
+
if (!isDebugStore(i)) {
|
|
210
|
+
if (fsp.dwSystemID == KMX.KMXFile.TSS_COMPARISON) {
|
|
211
|
+
result += `${FTabStop}this.s${JavaScript_Name(i, fsp.dpName)}=${JavaScript_Store(keyboard, getStoreLine(i), fsp.dpString)};${nl}`;
|
|
212
|
+
}
|
|
213
|
+
else if (fsp.dwSystemID == KMX.KMXFile.TSS_COMPILEDVERSION) {
|
|
214
|
+
result += `${FTabStop}this.KVER=${JavaScript_Store(keyboard, getStoreLine(i), fsp.dpString)};${nl}`;
|
|
215
|
+
}
|
|
216
|
+
else if (isOptionStore(i) && !isReservedStore(i)) {
|
|
217
|
+
result += `${FTabStop}this.s${JavaScript_Name(i, fsp.dpName)}=KeymanWeb.KLOAD(this.KI,"${JavaScript_Name(i, fsp.dpName, true)}",` +
|
|
218
|
+
`${JavaScript_Store(keyboard, getStoreLine(i), fsp.dpString)});${nl}`;
|
|
219
|
+
if (FOptionStores != '') {
|
|
220
|
+
FOptionStores += ',';
|
|
221
|
+
}
|
|
222
|
+
FOptionStores += `'s${JavaScript_Name(i, fsp.dpName)}'`;
|
|
223
|
+
}
|
|
224
|
+
else if (fsp.dwSystemID == KMX.KMXFile.TSS_NONE /* aka !isReservedStore(i) */) {
|
|
225
|
+
result += `${FTabStop}this.s${JavaScript_Name(i, fsp.dpName)}=${JavaScript_Store(keyboard, getStoreLine(i), fsp.dpString)};${nl}`; // I3681
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
result += `${FTabStop}this.KVS=[${FOptionStores}];${nl}`;
|
|
230
|
+
// Write the groups out
|
|
231
|
+
// I853 - begin unicode missing causes crash
|
|
232
|
+
if (keyboard.startGroup.unicode == 0xFFFFFFFF) {
|
|
233
|
+
callbacks.reportMessage(KmwCompilerMessages.Error_InvalidBegin());
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
236
|
+
result += WriteBeginStatement(keyboard, 'gs', keyboard.startGroup.unicode);
|
|
237
|
+
let rec = ExpandSentinel(keyboard, sBegin_NewContext, 0);
|
|
238
|
+
if (rec.Code == KMX.KMXFile.CODE_USE) {
|
|
239
|
+
result += WriteBeginStatement(keyboard, 'gn', rec.Use.GroupIndex);
|
|
240
|
+
}
|
|
241
|
+
rec = ExpandSentinel(keyboard, sBegin_PostKeystroke, 0);
|
|
242
|
+
if (rec.Code == KMX.KMXFile.CODE_USE) {
|
|
243
|
+
result += WriteBeginStatement(keyboard, 'gpk', rec.Use.GroupIndex);
|
|
244
|
+
}
|
|
245
|
+
let fgp = keyboard.groups[keyboard.startGroup.unicode];
|
|
246
|
+
result +=
|
|
247
|
+
`${FTabStop}this.gs=function(t,e) {${nl}` +
|
|
248
|
+
`${FTabStop + FTabStop}return this.g${JavaScript_Name(keyboard.startGroup.unicode, fgp.dpName)}(t,e);${nl}` +
|
|
249
|
+
`${FTabStop}};${nl}`; // I3681
|
|
250
|
+
for (let i = 0; i < keyboard.groups.length; i++) { // I1964
|
|
251
|
+
let fgp = keyboard.groups[i];
|
|
252
|
+
/*
|
|
253
|
+
Note on `r` and `m` variables in a group function:
|
|
254
|
+
|
|
255
|
+
`m` can have one of three values:
|
|
256
|
+
0: no rule from this group was matched
|
|
257
|
+
1: a rule from this group was matched and did not include a `use`
|
|
258
|
+
statement
|
|
259
|
+
2: a rule from this group matched and did include a `use` statement
|
|
260
|
+
(#5440)
|
|
261
|
+
|
|
262
|
+
`m` is only used within a rule group to control the firing of the
|
|
263
|
+
`match` and `nomatch` rules.
|
|
264
|
+
|
|
265
|
+
`r` can have one of two values:
|
|
266
|
+
0: no rule from the final group matched (even if a rule from an
|
|
267
|
+
higher-level group did)
|
|
268
|
+
1: a rule from the final group did match;
|
|
269
|
+
|
|
270
|
+
`r` serves as the rule group's return value and is forwarded
|
|
271
|
+
recursively, best serving as a flag for whether or not default
|
|
272
|
+
output for a key should be emitted (0 means yes, emit the
|
|
273
|
+
default character output for that key).
|
|
274
|
+
*/
|
|
275
|
+
result +=
|
|
276
|
+
`${FTabStop}this.g${JavaScript_Name(i, fgp.dpName)}=function(t,e) {${nl}` +
|
|
277
|
+
`${FTabStop + FTabStop}var k=KeymanWeb,r=${fgp.fUsingKeys ? 0 : 1},m=0;${nl}`; //I1959
|
|
278
|
+
// fkp := fgp.dpKeyArray;
|
|
279
|
+
let HasRules = false;
|
|
280
|
+
if (FFix183_LadderLength != 0) {
|
|
281
|
+
result += JavaScript_Rules(keyboard, fMnemonic, fgp);
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
for (let j = 0; j < fgp.keys.length; j++) { // I1964
|
|
285
|
+
let fkp = fgp.keys[j];
|
|
286
|
+
if (!RuleIsExcludedByPlatform(keyboard, fkp)) {
|
|
287
|
+
result += FTabStop + FTabStop; // I3681
|
|
288
|
+
if (HasRules) {
|
|
289
|
+
result += 'else ';
|
|
290
|
+
}
|
|
291
|
+
HasRules = true;
|
|
292
|
+
if (fgp.fUsingKeys) {
|
|
293
|
+
result += `if(k.KKM(e,${JavaScript_ShiftAsString(fkp, fMnemonic)},${JavaScript_KeyAsString(fkp, fMnemonic)})`;
|
|
294
|
+
}
|
|
295
|
+
if (xstrlen(fkp.dpContext) > 0) {
|
|
296
|
+
result += fgp.fUsingKeys ? '&&' : 'if(';
|
|
297
|
+
result += JavaScript_ContextMatch(keyboard, fkp, fkp.dpContext);
|
|
298
|
+
}
|
|
299
|
+
else if (!fgp.fUsingKeys) {
|
|
300
|
+
result += 'if(1';
|
|
301
|
+
}
|
|
302
|
+
linecomment = (fkp.Line > 0 && FDebug) ? ` // Line ${fkp.Line}` : '';
|
|
303
|
+
result +=
|
|
304
|
+
`) {${linecomment}${nl}` +
|
|
305
|
+
FTabStop + FTabStop + FTabStop;
|
|
306
|
+
if (fgp.fUsingKeys) { // I1959
|
|
307
|
+
result += 'r=m=1;' + JavaScript_OutputString(keyboard, FTabStop + FTabStop + FTabStop, fkp, fkp.dpOutput, fgp); // I1959 // I3681
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
result += 'm=1;' + JavaScript_OutputString(keyboard, FTabStop + FTabStop + FTabStop, fkp, fkp.dpOutput, fgp); // I1959 // I3681
|
|
311
|
+
}
|
|
312
|
+
result += `${nl}${FTabStop}${FTabStop}}${nl}`; // I3681
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
if (fgp.dpMatch) {
|
|
317
|
+
result +=
|
|
318
|
+
`${FTabStop + FTabStop}if(m==1) {${nl}` +
|
|
319
|
+
`${FTabStop + FTabStop}${JavaScript_OutputString(keyboard, FTabStop + FTabStop + FTabStop, null, fgp.dpMatch, fgp)}${nl}` +
|
|
320
|
+
`${FTabStop + FTabStop}}${nl}`;
|
|
321
|
+
}
|
|
322
|
+
if (fgp.dpNoMatch) {
|
|
323
|
+
if (fgp.fUsingKeys) { // I1382 - fixup m=1 to m=g()
|
|
324
|
+
result +=
|
|
325
|
+
`${FTabStop + FTabStop}if(!m&&k.KIK(e)) {${nl}` +
|
|
326
|
+
`${FTabStop + FTabStop + FTabStop}r=1;${JavaScript_OutputString(keyboard, FTabStop + FTabStop + FTabStop, null, fgp.dpNoMatch, fgp)}${nl}` +
|
|
327
|
+
`${FTabStop + FTabStop}}${nl}`; // I1959. part 2, I2224 // I3681
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
result +=
|
|
331
|
+
`${FTabStop + FTabStop}if(!m) {${nl}` +
|
|
332
|
+
`${FTabStop + FTabStop}${JavaScript_OutputString(keyboard, FTabStop + FTabStop + FTabStop, null, fgp.dpNoMatch, fgp)}${nl}` +
|
|
333
|
+
// TODO: add FTabStop to line above, once we have 100% identical match
|
|
334
|
+
// to legacy compiler, but because legacy compiler missed this
|
|
335
|
+
// tabstop we'll leave it out here for now
|
|
336
|
+
`${FTabStop + FTabStop}}${nl}`;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
result +=
|
|
340
|
+
`${FTabStop + FTabStop}return r;${nl}` +
|
|
341
|
+
`${FTabStop}};${nl}`;
|
|
342
|
+
}
|
|
343
|
+
for (let n = 0; n < FCallFunctions.length; n++) {
|
|
344
|
+
const s = callbacks.resolveFilename(kmnfile, FCallFunctions[n] + '.call_js');
|
|
345
|
+
if (callbacks.fs.existsSync(s)) {
|
|
346
|
+
const data = new TextDecoder().decode(callbacks.loadFile(s));
|
|
347
|
+
result += `${FTabStop}this.c${n}=function(t,e){${data.trim()}};${nl}`;
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
result += `${FTabStop}this.c${n}=function(t,e){alert("call(${FCallFunctions[n]}) not defined");};${nl}`;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
result += sEmbedJS + '}' + nl; // I3681
|
|
354
|
+
return result;
|
|
355
|
+
}
|
|
356
|
+
///
|
|
357
|
+
/// Determine the modifiers used in the target keyboard and return a bitmask
|
|
358
|
+
/// representing them, or an number value when not in debug mode
|
|
359
|
+
///
|
|
360
|
+
/// @return string of JavaScript code, e.g. 'modCodes.SHIFT | modCodes.CTRL /* 0x0030 */'
|
|
361
|
+
///
|
|
362
|
+
function GetKeyboardModifierBitmask(keyboard, fMnemonic) {
|
|
363
|
+
let bitMask = 0;
|
|
364
|
+
for (let gp of keyboard.groups) {
|
|
365
|
+
if (gp.fUsingKeys) {
|
|
366
|
+
for (let kp of gp.keys) {
|
|
367
|
+
if (!RuleIsExcludedByPlatform(keyboard, kp)) {
|
|
368
|
+
bitMask |= JavaScript_Shift(kp, fMnemonic);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
if ((bitMask & KMX.KMXFile.MASK_MODIFIER_CHIRAL) && (bitMask & KMX.KMXFile.MASK_MODIFIER_NONCHIRAL)) {
|
|
374
|
+
callbacks.reportMessage(KmwCompilerMessages.Warn_DontMixChiralAndNonChiralModifiers());
|
|
375
|
+
}
|
|
376
|
+
if (options.saveDebug) {
|
|
377
|
+
return FormatModifierAsBitflags(bitMask & KMX.KMXFile.MASK_KEYS); // Exclude KMX_ISVIRTUALKEY, KMX_VIRTUALCHARKEY
|
|
378
|
+
}
|
|
379
|
+
return '0x' + (bitMask & KMX.KMXFile.MASK_KEYS).toString(16).toUpperCase();
|
|
380
|
+
}
|
|
381
|
+
///
|
|
382
|
+
/// If debug mode, then returns Javascript code necessary for
|
|
383
|
+
/// accessing constants in the compiled keyboard
|
|
384
|
+
///
|
|
385
|
+
/// @return string of JavaScript code
|
|
386
|
+
///
|
|
387
|
+
function JavaScript_SetupDebug() {
|
|
388
|
+
if (IsKeyboardVersion10OrLater()) {
|
|
389
|
+
if (options.saveDebug) {
|
|
390
|
+
return 'var modCodes = keyman.osk.modifierCodes;' + nl +
|
|
391
|
+
FTabStop + 'var keyCodes = keyman.osk.keyCodes;' + nl;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
return '';
|
|
395
|
+
}
|
|
396
|
+
function JavaScript_SetupProlog() {
|
|
397
|
+
if (IsKeyboardVersion10OrLater()) {
|
|
398
|
+
return 'if(typeof keyman === \'undefined\') {' + nl +
|
|
399
|
+
FTabStop + 'console.log(\'Keyboard requires KeymanWeb 10.0 or later\');' + nl +
|
|
400
|
+
FTabStop + 'if(typeof tavultesoft !== \'undefined\') tavultesoft.keymanweb.util.alert("This keyboard requires KeymanWeb 10.0 or later");' + nl +
|
|
401
|
+
'} else {';
|
|
402
|
+
}
|
|
403
|
+
return '';
|
|
404
|
+
}
|
|
405
|
+
function JavaScript_SetupEpilog() {
|
|
406
|
+
if (IsKeyboardVersion10OrLater()) {
|
|
407
|
+
return '}';
|
|
408
|
+
}
|
|
409
|
+
return '';
|
|
410
|
+
}
|
|
411
|
+
function HasSupplementaryPlaneChars() {
|
|
412
|
+
const suppChar = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
|
413
|
+
for (let sp of fk.stores) {
|
|
414
|
+
if (suppChar.test(sp.dpString)) {
|
|
415
|
+
return true;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
for (let gp of fk.groups) {
|
|
419
|
+
for (let kp of gp.keys) {
|
|
420
|
+
if (suppChar.test(kp.dpContext) || suppChar.test(kp.dpOutput)) {
|
|
421
|
+
return true;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
if (suppChar.test(gp.dpMatch) || suppChar.test(gp.dpNoMatch)) {
|
|
425
|
+
return true;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
return false;
|
|
429
|
+
}
|
|
430
|
+
export function RuleIsExcludedByPlatform(keyboard, fkp) {
|
|
431
|
+
if (fkp.dpContext == null || fkp.dpContext == '') {
|
|
432
|
+
return false;
|
|
433
|
+
}
|
|
434
|
+
let x = 0;
|
|
435
|
+
while (x < fkp.dpContext.length) {
|
|
436
|
+
let rec = ExpandSentinel(keyboard, fkp.dpContext, x);
|
|
437
|
+
if (rec.IsSentinel &&
|
|
438
|
+
(rec.Code == KMX.KMXFile.CODE_IFSYSTEMSTORE) &&
|
|
439
|
+
(rec.IfSystemStore.dwSystemID == KMX.KMXFile.TSS_PLATFORM) &&
|
|
440
|
+
rec.IfSystemStore.Store.dpString.includes('native')) {
|
|
441
|
+
if (rec.IfSystemStore.Store.dpString.match(/windows|desktop|macosx|linux/)) {
|
|
442
|
+
return true;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
x = incxstr(fkp.dpContext, x);
|
|
446
|
+
}
|
|
447
|
+
return false;
|
|
448
|
+
}
|
|
449
|
+
function WriteBeginStatement(keyboard, name, groupIndex) {
|
|
450
|
+
const fgp = keyboard.groups[groupIndex];
|
|
451
|
+
return `${FTabStop}this.${name}=function(t,e) {${nl}` +
|
|
452
|
+
`${FTabStop + FTabStop}return this.g${JavaScript_Name(groupIndex, fgp.dpName)}(t,e);${nl}` +
|
|
453
|
+
`${FTabStop}};${nl}`;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Converts a modifier bit mask integer into its component bit flags
|
|
457
|
+
*
|
|
458
|
+
* @param FBitMask A KMX modifier bitmask value
|
|
459
|
+
*
|
|
460
|
+
* @return string of JavaScript code, e.g. 'modCodes.SHIFT | modCodes.CTRL /* 0x0030 ./'
|
|
461
|
+
**/
|
|
462
|
+
export function FormatModifierAsBitflags(FBitMask) {
|
|
463
|
+
const mask = [
|
|
464
|
+
'LCTRL',
|
|
465
|
+
'RCTRL',
|
|
466
|
+
'LALT',
|
|
467
|
+
'RALT',
|
|
468
|
+
'SHIFT',
|
|
469
|
+
'CTRL',
|
|
470
|
+
'ALT',
|
|
471
|
+
'???',
|
|
472
|
+
'CAPS',
|
|
473
|
+
'NO_CAPS',
|
|
474
|
+
'NUM_LOCK',
|
|
475
|
+
'NO_NUM_LOCK',
|
|
476
|
+
'SCROLL_LOCK',
|
|
477
|
+
'NO_SCROLL_LOCK',
|
|
478
|
+
'VIRTUAL_KEY' // 0X4000
|
|
479
|
+
];
|
|
480
|
+
let i;
|
|
481
|
+
let result = '';
|
|
482
|
+
//TODO: We need to think about mnemonic layouts which are incompletely supported at present
|
|
483
|
+
//tavultesoft.keymanweb.osk.
|
|
484
|
+
if (IsKeyboardVersion10OrLater()) {
|
|
485
|
+
// This depends on flags defined in KeymanWeb 10.0
|
|
486
|
+
result = '';
|
|
487
|
+
for (i = 0; i < mask.length; i++) {
|
|
488
|
+
if (FBitMask & (1 << i)) {
|
|
489
|
+
if (result != '')
|
|
490
|
+
result += ' | ';
|
|
491
|
+
result += 'modCodes.' + mask[i];
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
if (result == '') {
|
|
495
|
+
result = '0';
|
|
496
|
+
}
|
|
497
|
+
result += ' /* 0x' + zeroPadHex(FBitMask, 4) + ' */';
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
result = '0x' + zeroPadHex(FBitMask, 4);
|
|
501
|
+
}
|
|
502
|
+
return result;
|
|
503
|
+
}
|
|
504
|
+
function cleanKeyboardID(name) {
|
|
505
|
+
name = name.toLowerCase();
|
|
506
|
+
if (name.length == 0) {
|
|
507
|
+
return name;
|
|
508
|
+
}
|
|
509
|
+
if (name[0].match(/\d/)) {
|
|
510
|
+
name = '_' + name;
|
|
511
|
+
}
|
|
512
|
+
let result = '';
|
|
513
|
+
for (let i = 0; i < name.length; i++) {
|
|
514
|
+
if (!name[i].match(/[a-z0-9_]/)) {
|
|
515
|
+
result += '_';
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
result += name[i];
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
return result;
|
|
522
|
+
}
|
|
523
|
+
function getKeymanWebCompiledNameFromFileName(filename) {
|
|
524
|
+
let m = /([^/\\]+)$/.exec(filename);
|
|
525
|
+
if (!m) {
|
|
526
|
+
return null;
|
|
527
|
+
}
|
|
528
|
+
m = /^(.+?)(\.[^.]+)?$/.exec(m[1]);
|
|
529
|
+
if (!m) {
|
|
530
|
+
return null;
|
|
531
|
+
}
|
|
532
|
+
return cleanKeyboardID(m[1]);
|
|
533
|
+
}
|
|
534
|
+
//# debugId=49efb1d6-8b19-542d-8978-a06c26d0d562
|
|
535
|
+
//# sourceMappingURL=kmw-compiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"debug_id":"49efb1d6-8b19-542d-8978-a06c26d0d562","file":"kmw-compiler.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/kmw-compiler/kmw-compiler.ts"],"version":3}
|