@keymanapp/common-types 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.
Files changed (246) hide show
  1. package/build/src/consts/virtual-key-constants.d.ts +144 -138
  2. package/build/src/consts/virtual-key-constants.d.ts.map +1 -1
  3. package/build/src/consts/virtual-key-constants.js +258 -252
  4. package/build/src/consts/virtual-key-constants.js.map +1 -1
  5. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +8 -7
  6. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +1 -1
  7. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +76 -74
  8. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -1
  9. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts +31 -24
  10. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts.map +1 -1
  11. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +119 -75
  12. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -1
  13. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts +78 -76
  14. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts.map +1 -1
  15. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js +28 -26
  16. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js.map +1 -1
  17. package/build/src/kmx/element-string.d.ts +26 -24
  18. package/build/src/kmx/element-string.d.ts.map +1 -1
  19. package/build/src/kmx/element-string.js +121 -119
  20. package/build/src/kmx/element-string.js.map +1 -1
  21. package/build/src/kmx/keyman-targets.d.ts +23 -0
  22. package/build/src/kmx/keyman-targets.d.ts.map +1 -0
  23. package/build/src/kmx/keyman-targets.js +80 -0
  24. package/build/src/kmx/keyman-targets.js.map +1 -0
  25. package/build/src/kmx/kmx-builder.d.ts +35 -33
  26. package/build/src/kmx/kmx-builder.d.ts.map +1 -1
  27. package/build/src/kmx/kmx-builder.js +190 -188
  28. package/build/src/kmx/kmx-builder.js.map +1 -1
  29. package/build/src/kmx/kmx-file-reader.d.ts +16 -7
  30. package/build/src/kmx/kmx-file-reader.d.ts.map +1 -1
  31. package/build/src/kmx/kmx-file-reader.js +135 -38
  32. package/build/src/kmx/kmx-file-reader.js.map +1 -1
  33. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts +20 -18
  34. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts.map +1 -1
  35. package/build/src/kmx/kmx-plus-builder/build-disp.js +27 -25
  36. package/build/src/kmx/kmx-plus-builder/build-disp.js.map +1 -1
  37. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts +31 -29
  38. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts.map +1 -1
  39. package/build/src/kmx/kmx-plus-builder/build-elem.js +90 -88
  40. package/build/src/kmx/kmx-plus-builder/build-elem.js.map +1 -1
  41. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts +60 -58
  42. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts.map +1 -1
  43. package/build/src/kmx/kmx-plus-builder/build-keys.js +109 -107
  44. package/build/src/kmx/kmx-plus-builder/build-keys.js.map +1 -1
  45. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts +56 -54
  46. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts.map +1 -1
  47. package/build/src/kmx/kmx-plus-builder/build-layr.js +101 -99
  48. package/build/src/kmx/kmx-plus-builder/build-layr.js.map +1 -1
  49. package/build/src/kmx/kmx-plus-builder/build-list.d.ts +38 -36
  50. package/build/src/kmx/kmx-plus-builder/build-list.d.ts.map +1 -1
  51. package/build/src/kmx/kmx-plus-builder/build-list.js +67 -65
  52. package/build/src/kmx/kmx-plus-builder/build-list.js.map +1 -1
  53. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts +14 -12
  54. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts.map +1 -1
  55. package/build/src/kmx/kmx-plus-builder/build-loca.js +22 -20
  56. package/build/src/kmx/kmx-plus-builder/build-loca.js.map +1 -1
  57. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts +19 -17
  58. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts.map +1 -1
  59. package/build/src/kmx/kmx-plus-builder/build-meta.js +23 -21
  60. package/build/src/kmx/kmx-plus-builder/build-meta.js.map +1 -1
  61. package/build/src/kmx/kmx-plus-builder/build-name.d.ts +14 -12
  62. package/build/src/kmx/kmx-plus-builder/build-name.d.ts.map +1 -1
  63. package/build/src/kmx/kmx-plus-builder/build-name.js +25 -23
  64. package/build/src/kmx/kmx-plus-builder/build-name.js.map +1 -1
  65. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts +18 -16
  66. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts.map +1 -1
  67. package/build/src/kmx/kmx-plus-builder/build-sect.js +16 -14
  68. package/build/src/kmx/kmx-plus-builder/build-sect.js.map +1 -1
  69. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts +25 -23
  70. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts.map +1 -1
  71. package/build/src/kmx/kmx-plus-builder/build-strs.js +47 -45
  72. package/build/src/kmx/kmx-plus-builder/build-strs.js.map +1 -1
  73. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts +35 -33
  74. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts.map +1 -1
  75. package/build/src/kmx/kmx-plus-builder/build-tran.js +70 -68
  76. package/build/src/kmx/kmx-plus-builder/build-tran.js.map +1 -1
  77. package/build/src/kmx/kmx-plus-builder/build-uset.d.ts +33 -31
  78. package/build/src/kmx/kmx-plus-builder/build-uset.d.ts.map +1 -1
  79. package/build/src/kmx/kmx-plus-builder/build-uset.js +61 -59
  80. package/build/src/kmx/kmx-plus-builder/build-uset.js.map +1 -1
  81. package/build/src/kmx/kmx-plus-builder/build-vars.d.ts +24 -22
  82. package/build/src/kmx/kmx-plus-builder/build-vars.d.ts.map +1 -1
  83. package/build/src/kmx/kmx-plus-builder/build-vars.js +49 -47
  84. package/build/src/kmx/kmx-plus-builder/build-vars.js.map +1 -1
  85. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts +18 -16
  86. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts.map +1 -1
  87. package/build/src/kmx/kmx-plus-builder/build-vkey.js +25 -23
  88. package/build/src/kmx/kmx-plus-builder/build-vkey.js.map +1 -1
  89. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts +12 -10
  90. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts.map +1 -1
  91. package/build/src/kmx/kmx-plus-builder/builder-section.js +5 -3
  92. package/build/src/kmx/kmx-plus-builder/builder-section.js.map +1 -1
  93. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts +49 -47
  94. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts.map +1 -1
  95. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +146 -144
  96. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -1
  97. package/build/src/kmx/kmx-plus.d.ts +331 -329
  98. package/build/src/kmx/kmx-plus.d.ts.map +1 -1
  99. package/build/src/kmx/kmx-plus.js +835 -833
  100. package/build/src/kmx/kmx-plus.js.map +1 -1
  101. package/build/src/kmx/kmx.d.ts +235 -209
  102. package/build/src/kmx/kmx.d.ts.map +1 -1
  103. package/build/src/kmx/kmx.js +299 -276
  104. package/build/src/kmx/kmx.js.map +1 -1
  105. package/build/src/kmx/string-list.d.ts +36 -34
  106. package/build/src/kmx/string-list.d.ts.map +1 -1
  107. package/build/src/kmx/string-list.js +85 -83
  108. package/build/src/kmx/string-list.js.map +1 -1
  109. package/build/src/kpj/keyman-developer-project.d.ts +74 -63
  110. package/build/src/kpj/keyman-developer-project.d.ts.map +1 -1
  111. package/build/src/kpj/keyman-developer-project.js +165 -146
  112. package/build/src/kpj/keyman-developer-project.js.map +1 -1
  113. package/build/src/kpj/kpj-file-reader.d.ts +21 -19
  114. package/build/src/kpj/kpj-file-reader.d.ts.map +1 -1
  115. package/build/src/kpj/kpj-file-reader.js +110 -96
  116. package/build/src/kpj/kpj-file-reader.js.map +1 -1
  117. package/build/src/kpj/kpj-file.d.ts +41 -39
  118. package/build/src/kpj/kpj-file.d.ts.map +1 -1
  119. package/build/src/kpj/kpj-file.js +13 -11
  120. package/build/src/kpj/kpj-file.js.map +1 -1
  121. package/build/src/kvk/kvk-file-reader.d.ts +7 -5
  122. package/build/src/kvk/kvk-file-reader.d.ts.map +1 -1
  123. package/build/src/kvk/kvk-file-reader.js +38 -35
  124. package/build/src/kvk/kvk-file-reader.js.map +1 -1
  125. package/build/src/kvk/kvk-file-writer.d.ts +22 -20
  126. package/build/src/kvk/kvk-file-writer.d.ts.map +1 -1
  127. package/build/src/kvk/kvk-file-writer.js +78 -67
  128. package/build/src/kvk/kvk-file-writer.js.map +1 -1
  129. package/build/src/kvk/kvk-file.d.ts +68 -65
  130. package/build/src/kvk/kvk-file.d.ts.map +1 -1
  131. package/build/src/kvk/kvk-file.js +67 -64
  132. package/build/src/kvk/kvk-file.js.map +1 -1
  133. package/build/src/kvk/kvks-file-reader.d.ts +26 -23
  134. package/build/src/kvk/kvks-file-reader.d.ts.map +1 -1
  135. package/build/src/kvk/kvks-file-reader.js +179 -151
  136. package/build/src/kvk/kvks-file-reader.js.map +1 -1
  137. package/build/src/kvk/kvks-file-writer.d.ts +9 -6
  138. package/build/src/kvk/kvks-file-writer.d.ts.map +1 -1
  139. package/build/src/kvk/kvks-file-writer.js +107 -98
  140. package/build/src/kvk/kvks-file-writer.js.map +1 -1
  141. package/build/src/kvk/kvks-file.d.ts +46 -44
  142. package/build/src/kvk/kvks-file.d.ts.map +1 -1
  143. package/build/src/kvk/kvks-file.js +12 -10
  144. package/build/src/kvk/kvks-file.js.map +1 -1
  145. package/build/src/kvk/visual-keyboard.d.ts +47 -35
  146. package/build/src/kvk/visual-keyboard.d.ts.map +1 -1
  147. package/build/src/kvk/visual-keyboard.js +73 -61
  148. package/build/src/kvk/visual-keyboard.js.map +1 -1
  149. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts +58 -56
  150. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts.map +1 -1
  151. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +22 -20
  152. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -1
  153. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +97 -95
  154. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -1
  155. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +387 -385
  156. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -1
  157. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts +163 -161
  158. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts.map +1 -1
  159. package/build/src/ldml-keyboard/ldml-keyboard-xml.js +41 -39
  160. package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +1 -1
  161. package/build/src/ldml-keyboard/pattern-parser.d.ts +138 -136
  162. package/build/src/ldml-keyboard/pattern-parser.d.ts.map +1 -1
  163. package/build/src/ldml-keyboard/pattern-parser.js +245 -243
  164. package/build/src/ldml-keyboard/pattern-parser.js.map +1 -1
  165. package/build/src/ldml-keyboard/unicodeset-parser-api.d.ts +40 -38
  166. package/build/src/ldml-keyboard/unicodeset-parser-api.d.ts.map +1 -1
  167. package/build/src/ldml-keyboard/unicodeset-parser-api.js +30 -28
  168. package/build/src/ldml-keyboard/unicodeset-parser-api.js.map +1 -1
  169. package/build/src/main.d.ts +36 -29
  170. package/build/src/main.d.ts.map +1 -1
  171. package/build/src/main.js +35 -28
  172. package/build/src/main.js.map +1 -1
  173. package/build/src/osk/osk.d.ts +25 -0
  174. package/build/src/osk/osk.d.ts.map +1 -0
  175. package/build/src/osk/osk.js +89 -0
  176. package/build/src/osk/osk.js.map +1 -0
  177. package/build/src/package/kmp-json-file.d.ts +69 -68
  178. package/build/src/package/kmp-json-file.d.ts.map +1 -1
  179. package/build/src/package/kmp-json-file.js +4 -2
  180. package/build/src/package/kmp-json-file.js.map +1 -1
  181. package/build/src/package/kps-file.d.ts +100 -98
  182. package/build/src/package/kps-file.d.ts.map +1 -1
  183. package/build/src/package/kps-file.js +18 -16
  184. package/build/src/package/kps-file.js.map +1 -1
  185. package/build/src/schemas/displaymap.schema.d.ts +60 -0
  186. package/build/src/schemas/displaymap.schema.d.ts.map +1 -0
  187. package/build/src/schemas/displaymap.schema.js +38 -0
  188. package/build/src/schemas/displaymap.schema.js.map +1 -0
  189. package/build/src/schemas/keyman-touch-layout.clean.spec.d.ts +230 -0
  190. package/build/src/schemas/keyman-touch-layout.clean.spec.d.ts.map +1 -0
  191. package/build/src/schemas/keyman-touch-layout.clean.spec.js +154 -0
  192. package/build/src/schemas/keyman-touch-layout.clean.spec.js.map +1 -0
  193. package/build/src/schemas/keyman-touch-layout.spec.d.ts +229 -0
  194. package/build/src/schemas/keyman-touch-layout.spec.d.ts.map +1 -0
  195. package/build/src/schemas/keyman-touch-layout.spec.js +142 -0
  196. package/build/src/schemas/keyman-touch-layout.spec.js.map +1 -0
  197. package/build/src/schemas/kpj-9.0.schema.d.ts +155 -0
  198. package/build/src/schemas/kpj-9.0.schema.d.ts.map +1 -0
  199. package/build/src/schemas/kpj-9.0.schema.js +134 -0
  200. package/build/src/schemas/kpj-9.0.schema.js.map +1 -0
  201. package/build/src/schemas/kpj.schema.d.ts +121 -0
  202. package/build/src/schemas/kpj.schema.d.ts.map +1 -0
  203. package/build/src/schemas/kpj.schema.js +128 -0
  204. package/build/src/schemas/kpj.schema.js.map +1 -0
  205. package/build/src/schemas/kvks.schema.d.ts +163 -0
  206. package/build/src/schemas/kvks.schema.d.ts.map +1 -0
  207. package/build/src/schemas/kvks.schema.js +185 -0
  208. package/build/src/schemas/kvks.schema.js.map +1 -0
  209. package/build/src/schemas/ldml-keyboard.schema.d.ts +634 -0
  210. package/build/src/schemas/ldml-keyboard.schema.d.ts.map +1 -0
  211. package/build/src/schemas/ldml-keyboard.schema.js +705 -0
  212. package/build/src/schemas/ldml-keyboard.schema.js.map +1 -0
  213. package/build/src/schemas/ldml-keyboardtest.schema.d.ts +191 -0
  214. package/build/src/schemas/ldml-keyboardtest.schema.d.ts.map +1 -0
  215. package/build/src/schemas/ldml-keyboardtest.schema.js +224 -0
  216. package/build/src/schemas/ldml-keyboardtest.schema.js.map +1 -0
  217. package/build/src/schemas.d.ts +1757 -0
  218. package/build/src/schemas.d.ts.map +1 -0
  219. package/build/src/schemas.js +22 -0
  220. package/build/src/schemas.js.map +1 -0
  221. package/build/src/util/common-events.d.ts +51 -49
  222. package/build/src/util/common-events.d.ts.map +1 -1
  223. package/build/src/util/common-events.js +31 -29
  224. package/build/src/util/common-events.js.map +1 -1
  225. package/build/src/util/compiler-interfaces.d.ts +296 -136
  226. package/build/src/util/compiler-interfaces.d.ts.map +1 -1
  227. package/build/src/util/compiler-interfaces.js +294 -104
  228. package/build/src/util/compiler-interfaces.js.map +1 -1
  229. package/build/src/util/errors.d.ts +8 -0
  230. package/build/src/util/errors.d.ts.map +1 -0
  231. package/build/src/util/errors.js +8 -0
  232. package/build/src/util/errors.js.map +1 -0
  233. package/build/src/util/file-types.d.ts +98 -0
  234. package/build/src/util/file-types.d.ts.map +1 -0
  235. package/build/src/util/file-types.js +117 -0
  236. package/build/src/util/file-types.js.map +1 -0
  237. package/build/src/util/util.d.ts +32 -30
  238. package/build/src/util/util.d.ts.map +1 -1
  239. package/build/src/util/util.js +98 -96
  240. package/build/src/util/util.js.map +1 -1
  241. package/package.json +23 -4
  242. package/build/src/keyman-touch-layout.clean.spec.json +0 -170
  243. package/build/src/kpj.schema.json +0 -127
  244. package/build/src/kvks.schema.json +0 -182
  245. package/build/src/ldml-keyboard.schema.json +0 -702
  246. package/build/src/ldml-keyboardtest.schema.json +0 -221
@@ -1,276 +1,299 @@
1
- import * as r from 'restructure';
2
- /* Definitions from kmx_file.h. Must be kept in sync */
3
- // TODO: split kmx-file from kmx in-memory, similar to what I've done for kvk (keep restructure decl + BUILDER_ interfaces together)
4
- // In memory representations of KMX structures
5
- // kmx-builder will transform these to the corresponding COMP_xxxx
6
- export class KEYBOARD {
7
- //TODO: additional header fields
8
- groups = [];
9
- stores = [];
10
- }
11
- ;
12
- export class STORE {
13
- dwSystemID;
14
- dpName;
15
- dpString;
16
- }
17
- ;
18
- export class GROUP {
19
- dpName;
20
- keys;
21
- dpMatch;
22
- dpNoMatch;
23
- fUsingKeys;
24
- }
25
- ;
26
- export class KEY {
27
- Key;
28
- Line;
29
- ShiftFlags;
30
- dpOutput;
31
- dpContext;
32
- }
33
- ;
34
- ;
35
- ;
36
- ;
37
- ;
38
- ;
39
- export class KMXFile {
40
- /* KMX file structures */
41
- COMP_STORE;
42
- COMP_KEY;
43
- COMP_GROUP;
44
- COMP_KEYBOARD_KMXPLUSINFO;
45
- COMP_KEYBOARD;
46
- static FILEID_COMPILED = 0x5354584B; // 'KXTS'
47
- //
48
- // File version identifiers (COMP_KEYBOARD.dwFileVersion)
49
- //
50
- static VERSION_30 = 0x00000300;
51
- static VERSION_31 = 0x00000301;
52
- static VERSION_32 = 0x00000302;
53
- static VERSION_40 = 0x00000400;
54
- static VERSION_50 = 0x00000500;
55
- static VERSION_501 = 0x00000501;
56
- static VERSION_60 = 0x00000600;
57
- static VERSION_70 = 0x00000700;
58
- static VERSION_80 = 0x00000800;
59
- static VERSION_90 = 0x00000900;
60
- static VERSION_100 = 0x00000A00;
61
- static VERSION_140 = 0x00000E00;
62
- static VERSION_150 = 0x00000F00;
63
- static VERSION_160 = 0x00001000;
64
- static VERSION_MIN = this.VERSION_50;
65
- static VERSION_MAX = this.VERSION_160;
66
- //
67
- // Backspace types
68
- //
69
- static BK_DEFAULT = 0;
70
- static BK_DEADKEY = 1;
71
- // Different begin types (COMP_STORE.StartGroup_*)
72
- static BEGIN_ANSI = 0;
73
- static BEGIN_UNICODE = 1;
74
- //
75
- // System Store values (COMP_STORE.dwSystemID)
76
- //
77
- static TSS_NONE = 0;
78
- static TSS_BITMAP = 1;
79
- static TSS_COPYRIGHT = 2;
80
- static TSS_HOTKEY = 3;
81
- static TSS_LANGUAGE = 4;
82
- static TSS_LAYOUT = 5;
83
- static TSS_MESSAGE = 6;
84
- static TSS_NAME = 7;
85
- static TSS_VERSION = 8;
86
- static TSS_CAPSONONLY = 9;
87
- static TSS_CAPSALWAYSOFF = 10;
88
- static TSS_SHIFTFREESCAPS = 11;
89
- static TSS_LANGUAGENAME = 12;
90
- static TSS_CALLDEFINITION = 13;
91
- static TSS_CALLDEFINITION_LOADFAILED = 14;
92
- static TSS_ETHNOLOGUECODE = 15;
93
- static TSS_DEBUG_LINE = 16;
94
- static TSS_MNEMONIC = 17;
95
- static TSS_INCLUDECODES = 18;
96
- static TSS_OLDCHARPOSMATCHING = 19;
97
- static TSS_COMPILEDVERSION = 20;
98
- static TSS_KEYMANCOPYRIGHT = 21;
99
- static TSS_CUSTOMKEYMANEDITION = 22;
100
- static TSS_CUSTOMKEYMANEDITIONNAME = 23;
101
- /* Keyman 7.0 system stores */
102
- static TSS__KEYMAN_60_MAX = 23;
103
- static TSS_VISUALKEYBOARD = 24;
104
- static TSS_KMW_RTL = 25;
105
- static TSS_KMW_HELPFILE = 26;
106
- static TSS_KMW_HELPTEXT = 27;
107
- static TSS_KMW_EMBEDJS = 28;
108
- static TSS_WINDOWSLANGUAGES = 29;
109
- static TSS__KEYMAN_70_MAX = 29;
110
- /* Keyman 8.0 system stores */
111
- static TSS_COMPARISON = 30;
112
- static TSS__KEYMAN_80_MAX = 30;
113
- /* Keyman 9.0 system stores */
114
- static TSS_PLATFORM = 31;
115
- static TSS_BASELAYOUT = 32;
116
- static TSS_LAYER = 33;
117
- static TSS_PLATFORM_NOMATCH = 0x8001; // Reserved for internal use - after platform statement is run, set to either TSS_PLATFORM_NOMATCH or TSS_PLATFORM_MATCH
118
- static TSS_PLATFORM_MATCH = 0x8002; // Reserved for internal use - as the result will never change for the lifetime of the process.
119
- static TSS_VKDICTIONARY = 34; // Dictionary of virtual key names for v9 dynamic layouts
120
- static TSS_LAYOUTFILE = 35; // Keyman 9 layer-based JSON OSK
121
- static TSS_KEYBOARDVERSION = 36; // &keyboardversion system store // I4140
122
- static TSS_KMW_EMBEDCSS = 37;
123
- static TSS_TARGETS = 38;
124
- static TSS__KEYMAN_90_MAX = 38;
125
- /* Keyman 14.0 system stores */
126
- static TSS_CASEDKEYS = 39;
127
- static TSS__KEYMAN_140_MAX = 39;
128
- /* Keyman 15.0 system stores */
129
- static TSS_BEGIN_NEWCONTEXT = 40;
130
- static TSS_BEGIN_POSTKEYSTROKE = 41;
131
- static TSS_NEWLAYER = 42;
132
- static TSS_OLDLAYER = 43;
133
- static TSS__KEYMAN_150_MAX = 43;
134
- static TSS__MAX = 43;
135
- static UC_SENTINEL = 0xFFFF;
136
- static UC_SENTINEL_EXTENDEDEND = 0x10;
137
- static U_UC_SENTINEL = "\uFFFF";
138
- //
139
- // VK__MAX defines the highest virtual key code defined in the system = 0xFF. Custom VK codes start at 256
140
- //
141
- static VK__MAX = 255;
142
- //
143
- // Extended String CODE_ values
144
- //
145
- static CODE_ANY = 0x01;
146
- static CODE_INDEX = 0x02;
147
- static CODE_CONTEXT = 0x03;
148
- static CODE_NUL = 0x04;
149
- static CODE_USE = 0x05;
150
- static CODE_RETURN = 0x06;
151
- static CODE_BEEP = 0x07;
152
- static CODE_DEADKEY = 0x08;
153
- // 0x09 = bkspace.-- we don't need to keep this separate though with UC_SENTINEL
154
- static CODE_EXTENDED = 0x0A;
155
- //public static readonly CODE_EXTENDEDEND = 0x0B; deprecated
156
- static CODE_SWITCH = 0x0C;
157
- static CODE_KEY = 0x0D;
158
- static CODE_CLEARCONTEXT = 0x0E;
159
- static CODE_CALL = 0x0F;
160
- // UC_SENTINEL_EXTENDEDEND 0x10
161
- static CODE_CONTEXTEX = 0x11;
162
- static CODE_NOTANY = 0x12;
163
- static CODE_KEYMAN70_LASTCODE = 0x12;
164
- static CODE_SETOPT = 0x13;
165
- static CODE_IFOPT = 0x14;
166
- static CODE_SAVEOPT = 0x15;
167
- static CODE_RESETOPT = 0x16;
168
- static CODE_KEYMAN80_LASTCODE = 0x16;
169
- /* Keyman 9.0 codes */
170
- static CODE_IFSYSTEMSTORE = 0x17;
171
- static CODE_SETSYSTEMSTORE = 0x18;
172
- static CODE_LASTCODE = 0x18;
173
- static KF_SHIFTFREESCAPS = 0x0001;
174
- static KF_CAPSONONLY = 0x0002;
175
- static KF_CAPSALWAYSOFF = 0x0004;
176
- static KF_LOGICALLAYOUT = 0x0008;
177
- static KF_AUTOMATICVERSION = 0x0010;
178
- // 16.0: Support for LDML Keyboards in KMXPlus file format
179
- static KF_KMXPLUS = 0x0020;
180
- static HK_ALT = 0x00010000;
181
- static HK_CTRL = 0x00020000;
182
- static HK_SHIFT = 0x00040000;
183
- static LCTRLFLAG = 0x0001; // Left Control flag
184
- static RCTRLFLAG = 0x0002; // Right Control flag
185
- static LALTFLAG = 0x0004; // Left Alt flag
186
- static RALTFLAG = 0x0008; // Right Alt flag
187
- static K_SHIFTFLAG = 0x0010; // Either shift flag
188
- static K_CTRLFLAG = 0x0020; // Either ctrl flag
189
- static K_ALTFLAG = 0x0040; // Either alt flag
190
- //public static readonly K_METAFLAG = 0x0080; // Either Meta-key flag (tentative). Not usable in keyboard rules;
191
- // Used internally (currently, only by KMW) to ensure Meta-key
192
- // shortcuts safely bypass rules
193
- // Meta key = Command key on macOS, Windows key on Windows
194
- static CAPITALFLAG = 0x0100; // Caps lock on
195
- static NOTCAPITALFLAG = 0x0200; // Caps lock NOT on
196
- static NUMLOCKFLAG = 0x0400; // Num lock on
197
- static NOTNUMLOCKFLAG = 0x0800; // Num lock NOT on
198
- static SCROLLFLAG = 0x1000; // Scroll lock on
199
- static NOTSCROLLFLAG = 0x2000; // Scroll lock NOT on
200
- static ISVIRTUALKEY = 0x4000; // It is a Virtual Key Sequence
201
- static VIRTUALCHARKEY = 0x8000; // Keyman 6.0: Virtual Key Cap Sequence NOT YET
202
- static K_MODIFIERFLAG = 0x007F;
203
- static K_NOTMODIFIERFLAG = 0xFF00; // I4548
204
- static COMP_KEYBOARD_SIZE = 64;
205
- static COMP_KEYBOARD_KMXPLUSINFO_SIZE = 8;
206
- static COMP_STORE_SIZE = 12;
207
- static COMP_GROUP_SIZE = 24;
208
- static COMP_KEY_SIZE = 20;
209
- /* In-memory representation of the keyboard */
210
- keyboard = {
211
- groups: [],
212
- stores: []
213
- };
214
- constructor() {
215
- // Binary-correct structures matching kmx_file.h
216
- this.COMP_STORE = new r.Struct({
217
- dwSystemID: r.uint32le,
218
- dpName: r.uint32le,
219
- dpString: r.uint32le
220
- });
221
- if (this.COMP_STORE.size() != KMXFile.COMP_STORE_SIZE) {
222
- throw "COMP_STORE size is " + this.COMP_STORE.size() + " but should be " + KMXFile.COMP_STORE_SIZE + " bytes";
223
- }
224
- this.COMP_KEY = new r.Struct({
225
- Key: r.uint16le,
226
- _padding: new r.Reserved(r.uint16le),
227
- Line: r.uint32le,
228
- ShiftFlags: r.uint32le,
229
- dpOutput: r.uint32le,
230
- dpContext: r.uint32le
231
- });
232
- if (this.COMP_KEY.size() != KMXFile.COMP_KEY_SIZE) {
233
- throw "COMP_KEY size is " + this.COMP_KEY.size() + " but should be " + KMXFile.COMP_KEY_SIZE + " bytes";
234
- }
235
- this.COMP_GROUP = new r.Struct({
236
- dpName: r.uint32le,
237
- dpKeyArray: r.uint32le,
238
- dpMatch: r.uint32le,
239
- dpNoMatch: r.uint32le,
240
- cxKeyArray: r.uint32le,
241
- fUsingKeys: r.uint32le // group(xx) [using keys] <-- specified or not
242
- });
243
- if (this.COMP_GROUP.size() != KMXFile.COMP_GROUP_SIZE) {
244
- throw "COMP_GROUP size is " + this.COMP_GROUP.size() + " but should be " + KMXFile.COMP_GROUP_SIZE + " bytes";
245
- }
246
- this.COMP_KEYBOARD_KMXPLUSINFO = new r.Struct({
247
- dpKMXPlus: r.uint32le,
248
- dwKMXPlusSize: r.uint32le // 0044 size in bytes of entire KMXPlus data
249
- });
250
- if (this.COMP_KEYBOARD_KMXPLUSINFO.size() != KMXFile.COMP_KEYBOARD_KMXPLUSINFO_SIZE) {
251
- throw "COMP_KEYBOARD_KMXPLUSINFO size is " + this.COMP_KEYBOARD_KMXPLUSINFO.size() + " but should be " + KMXFile.COMP_KEYBOARD_KMXPLUSINFO_SIZE + " bytes";
252
- }
253
- this.COMP_KEYBOARD = new r.Struct({
254
- dwIdentifier: r.uint32le,
255
- dwFileVersion: r.uint32le,
256
- dwCheckSum: r.uint32le,
257
- KeyboardID: r.uint32le,
258
- IsRegistered: r.uint32le,
259
- version: r.uint32le,
260
- cxStoreArray: r.uint32le,
261
- cxGroupArray: r.uint32le,
262
- dpStoreArray: r.uint32le,
263
- dpGroupArray: r.uint32le,
264
- StartGroup_ANSI: r.uint32le,
265
- StartGroup_Unicode: r.uint32le,
266
- dwFlags: r.uint32le,
267
- dwHotKey: r.uint32le,
268
- dpBitmapOffset: r.uint32le,
269
- dwBitmapSize: r.uint32le // 003C size in bytes of the bitmaps
270
- });
271
- if (this.COMP_KEYBOARD.size() != KMXFile.COMP_KEYBOARD_SIZE) {
272
- throw "COMP_KEYBOARD size is " + this.COMP_KEYBOARD.size() + " but should be " + KMXFile.COMP_KEYBOARD_SIZE + " bytes";
273
- }
274
- }
275
- }
276
- //# sourceMappingURL=kmx.js.map
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]="8c40f8b8-ad2c-57ae-8ab6-d7f8e7c54067")}catch(e){}}();
2
+ import * as r from 'restructure';
3
+ /* Definitions from kmx_file.h. Must be kept in sync */
4
+ // TODO: split kmx-file from kmx in-memory, similar to what I've done for kvk (keep restructure decl + BUILDER_ interfaces together)
5
+ // In memory representations of KMX structures
6
+ // kmx-builder will transform these to the corresponding COMP_xxxx
7
+ export class KEYBOARD {
8
+ fileVersion; // dwFileVersion (TSS_FILEVERSION)
9
+ startGroup = { ansi: -1, unicode: -1, newContext: -1, postKeystroke: -1 };
10
+ flags;
11
+ hotkey;
12
+ //bitmap:
13
+ groups = [];
14
+ stores = [];
15
+ // Following values are extracted from stores[] but are
16
+ // informative only
17
+ keyboardVersion; // version (TSS_KEYBOARDVERSION)
18
+ isMnemonic; // TSS_MNEMONICLAYOUT store
19
+ targets; // TSS_TARGETS store ('desktop' if missing)
20
+ }
21
+ ;
22
+ export class STORE {
23
+ dwSystemID;
24
+ dpName;
25
+ dpString;
26
+ }
27
+ ;
28
+ export class GROUP {
29
+ dpName;
30
+ keys = [];
31
+ dpMatch;
32
+ dpNoMatch;
33
+ fUsingKeys;
34
+ }
35
+ ;
36
+ export class KEY {
37
+ Key;
38
+ Line;
39
+ ShiftFlags;
40
+ dpOutput;
41
+ dpContext;
42
+ }
43
+ ;
44
+ ;
45
+ ;
46
+ ;
47
+ ;
48
+ ;
49
+ export class KMXFile {
50
+ /* KMX file structures */
51
+ COMP_STORE;
52
+ COMP_KEY;
53
+ COMP_GROUP;
54
+ COMP_KEYBOARD_KMXPLUSINFO;
55
+ COMP_KEYBOARD;
56
+ static FILEID_COMPILED = 0x5354584B; // 'KXTS'
57
+ //
58
+ // File version identifiers (COMP_KEYBOARD.dwFileVersion)
59
+ //
60
+ static VERSION_30 = 0x00000300;
61
+ static VERSION_31 = 0x00000301;
62
+ static VERSION_32 = 0x00000302;
63
+ static VERSION_40 = 0x00000400;
64
+ static VERSION_50 = 0x00000500;
65
+ static VERSION_501 = 0x00000501;
66
+ static VERSION_60 = 0x00000600;
67
+ static VERSION_70 = 0x00000700;
68
+ static VERSION_80 = 0x00000800;
69
+ static VERSION_90 = 0x00000900;
70
+ static VERSION_100 = 0x00000A00;
71
+ static VERSION_140 = 0x00000E00;
72
+ static VERSION_150 = 0x00000F00;
73
+ static VERSION_160 = 0x00001000;
74
+ static VERSION_MIN = this.VERSION_50;
75
+ static VERSION_MAX = this.VERSION_160;
76
+ //
77
+ // Backspace types
78
+ //
79
+ static BK_DEFAULT = 0;
80
+ static BK_DEADKEY = 1;
81
+ // Different begin types (COMP_STORE.StartGroup_*)
82
+ static BEGIN_ANSI = 0;
83
+ static BEGIN_UNICODE = 1;
84
+ //
85
+ // System Store values (COMP_STORE.dwSystemID)
86
+ //
87
+ static TSS_NONE = 0;
88
+ static TSS_BITMAP = 1;
89
+ static TSS_COPYRIGHT = 2;
90
+ static TSS_HOTKEY = 3;
91
+ static TSS_LANGUAGE = 4;
92
+ static TSS_LAYOUT = 5;
93
+ static TSS_MESSAGE = 6;
94
+ static TSS_NAME = 7;
95
+ static TSS_VERSION = 8;
96
+ static TSS_CAPSONONLY = 9;
97
+ static TSS_CAPSALWAYSOFF = 10;
98
+ static TSS_SHIFTFREESCAPS = 11;
99
+ static TSS_LANGUAGENAME = 12;
100
+ static TSS_CALLDEFINITION = 13;
101
+ static TSS_CALLDEFINITION_LOADFAILED = 14;
102
+ static TSS_ETHNOLOGUECODE = 15;
103
+ static TSS_DEBUG_LINE = 16;
104
+ static TSS_MNEMONIC = 17;
105
+ static TSS_INCLUDECODES = 18;
106
+ static TSS_OLDCHARPOSMATCHING = 19;
107
+ static TSS_COMPILEDVERSION = 20;
108
+ static TSS_KEYMANCOPYRIGHT = 21;
109
+ static TSS_CUSTOMKEYMANEDITION = 22;
110
+ static TSS_CUSTOMKEYMANEDITIONNAME = 23;
111
+ /* Keyman 7.0 system stores */
112
+ static TSS__KEYMAN_60_MAX = 23;
113
+ static TSS_VISUALKEYBOARD = 24;
114
+ static TSS_KMW_RTL = 25;
115
+ static TSS_KMW_HELPFILE = 26;
116
+ static TSS_KMW_HELPTEXT = 27;
117
+ static TSS_KMW_EMBEDJS = 28;
118
+ static TSS_WINDOWSLANGUAGES = 29;
119
+ static TSS__KEYMAN_70_MAX = 29;
120
+ /* Keyman 8.0 system stores */
121
+ static TSS_COMPARISON = 30;
122
+ static TSS__KEYMAN_80_MAX = 30;
123
+ /* Keyman 9.0 system stores */
124
+ static TSS_PLATFORM = 31;
125
+ static TSS_BASELAYOUT = 32;
126
+ static TSS_LAYER = 33;
127
+ static TSS_PLATFORM_NOMATCH = 0x8001; // Reserved for internal use - after platform statement is run, set to either TSS_PLATFORM_NOMATCH or TSS_PLATFORM_MATCH
128
+ static TSS_PLATFORM_MATCH = 0x8002; // Reserved for internal use - as the result will never change for the lifetime of the process.
129
+ static TSS_VKDICTIONARY = 34; // Dictionary of virtual key names for v9 dynamic layouts
130
+ static TSS_LAYOUTFILE = 35; // Keyman 9 layer-based JSON OSK
131
+ static TSS_KEYBOARDVERSION = 36; // &keyboardversion system store // I4140
132
+ static TSS_KMW_EMBEDCSS = 37;
133
+ static TSS_TARGETS = 38;
134
+ static TSS__KEYMAN_90_MAX = 38;
135
+ /* Keyman 14.0 system stores */
136
+ static TSS_CASEDKEYS = 39;
137
+ static TSS__KEYMAN_140_MAX = 39;
138
+ /* Keyman 15.0 system stores */
139
+ static TSS_BEGIN_NEWCONTEXT = 40;
140
+ static TSS_BEGIN_POSTKEYSTROKE = 41;
141
+ static TSS_NEWLAYER = 42;
142
+ static TSS_OLDLAYER = 43;
143
+ static TSS__KEYMAN_150_MAX = 43;
144
+ /* Keyman 17.0 system stores */
145
+ static TSS_DISPLAYMAP = 44;
146
+ static TSS__KEYMAN_170_MAX = 44;
147
+ static TSS__MAX = 44;
148
+ static UC_SENTINEL = 0xFFFF;
149
+ static UC_SENTINEL_EXTENDEDEND = 0x10;
150
+ static U_UC_SENTINEL = "\uFFFF";
151
+ //
152
+ // VK__MAX defines the highest virtual key code defined in the system = 0xFF. Custom VK codes start at 256
153
+ //
154
+ static VK__MAX = 255;
155
+ //
156
+ // Extended String CODE_ values
157
+ //
158
+ static CODE_ANY = 0x01;
159
+ static CODE_INDEX = 0x02;
160
+ static CODE_CONTEXT = 0x03;
161
+ static CODE_NUL = 0x04;
162
+ static CODE_USE = 0x05;
163
+ static CODE_RETURN = 0x06;
164
+ static CODE_BEEP = 0x07;
165
+ static CODE_DEADKEY = 0x08;
166
+ // 0x09 = bkspace.-- we don't need to keep this separate though with UC_SENTINEL
167
+ static CODE_EXTENDED = 0x0A;
168
+ //public static readonly CODE_EXTENDEDEND = 0x0B; deprecated
169
+ static CODE_SWITCH = 0x0C;
170
+ static CODE_KEY = 0x0D;
171
+ static CODE_CLEARCONTEXT = 0x0E;
172
+ static CODE_CALL = 0x0F;
173
+ // UC_SENTINEL_EXTENDEDEND 0x10
174
+ static CODE_CONTEXTEX = 0x11;
175
+ static CODE_NOTANY = 0x12;
176
+ static CODE_KEYMAN70_LASTCODE = 0x12;
177
+ static CODE_SETOPT = 0x13;
178
+ static CODE_IFOPT = 0x14;
179
+ static CODE_SAVEOPT = 0x15;
180
+ static CODE_RESETOPT = 0x16;
181
+ static CODE_KEYMAN80_LASTCODE = 0x16;
182
+ /* Keyman 9.0 codes */
183
+ static CODE_IFSYSTEMSTORE = 0x17;
184
+ static CODE_SETSYSTEMSTORE = 0x18;
185
+ static CODE_LASTCODE = 0x18;
186
+ static KF_SHIFTFREESCAPS = 0x0001;
187
+ static KF_CAPSONONLY = 0x0002;
188
+ static KF_CAPSALWAYSOFF = 0x0004;
189
+ static KF_LOGICALLAYOUT = 0x0008;
190
+ static KF_AUTOMATICVERSION = 0x0010;
191
+ // 16.0: Support for LDML Keyboards in KMXPlus file format
192
+ static KF_KMXPLUS = 0x0020;
193
+ static HK_ALT = 0x00010000;
194
+ static HK_CTRL = 0x00020000;
195
+ static HK_SHIFT = 0x00040000;
196
+ static LCTRLFLAG = 0x0001; // Left Control flag
197
+ static RCTRLFLAG = 0x0002; // Right Control flag
198
+ static LALTFLAG = 0x0004; // Left Alt flag
199
+ static RALTFLAG = 0x0008; // Right Alt flag
200
+ static K_SHIFTFLAG = 0x0010; // Either shift flag
201
+ static K_CTRLFLAG = 0x0020; // Either ctrl flag
202
+ static K_ALTFLAG = 0x0040; // Either alt flag
203
+ //public static readonly K_METAFLAG = 0x0080; // Either Meta-key flag (tentative). Not usable in keyboard rules;
204
+ // Used internally (currently, only by KMW) to ensure Meta-key
205
+ // shortcuts safely bypass rules
206
+ // Meta key = Command key on macOS, Windows key on Windows
207
+ static CAPITALFLAG = 0x0100; // Caps lock on
208
+ static NOTCAPITALFLAG = 0x0200; // Caps lock NOT on
209
+ static NUMLOCKFLAG = 0x0400; // Num lock on
210
+ static NOTNUMLOCKFLAG = 0x0800; // Num lock NOT on
211
+ static SCROLLFLAG = 0x1000; // Scroll lock on
212
+ static NOTSCROLLFLAG = 0x2000; // Scroll lock NOT on
213
+ static ISVIRTUALKEY = 0x4000; // It is a Virtual Key Sequence
214
+ static VIRTUALCHARKEY = 0x8000; // Keyman 6.0: Virtual Key Cap Sequence NOT YET
215
+ static MASK_MODIFIER_CHIRAL = KMXFile.LCTRLFLAG | KMXFile.RCTRLFLAG | KMXFile.LALTFLAG | KMXFile.RALTFLAG;
216
+ static MASK_MODIFIER_SHIFT = KMXFile.K_SHIFTFLAG;
217
+ static MASK_MODIFIER_NONCHIRAL = KMXFile.K_CTRLFLAG | KMXFile.K_ALTFLAG;
218
+ static MASK_STATEKEY = KMXFile.CAPITALFLAG | KMXFile.NOTCAPITALFLAG |
219
+ KMXFile.NUMLOCKFLAG | KMXFile.NOTNUMLOCKFLAG |
220
+ KMXFile.SCROLLFLAG | KMXFile.NOTSCROLLFLAG;
221
+ static MASK_KEYTYPE = KMXFile.ISVIRTUALKEY | KMXFile.VIRTUALCHARKEY;
222
+ static MASK_MODIFIER = KMXFile.MASK_MODIFIER_CHIRAL | KMXFile.MASK_MODIFIER_SHIFT | KMXFile.MASK_MODIFIER_NONCHIRAL;
223
+ static MASK_KEYS = KMXFile.MASK_MODIFIER | KMXFile.MASK_STATEKEY;
224
+ static KMX_MASK_VALID = KMXFile.MASK_KEYS | KMXFile.MASK_KEYTYPE;
225
+ static K_MODIFIERFLAG = 0x007F;
226
+ static K_NOTMODIFIERFLAG = 0xFF00; // I4548
227
+ static COMP_KEYBOARD_SIZE = 64;
228
+ static COMP_KEYBOARD_KMXPLUSINFO_SIZE = 8;
229
+ static COMP_STORE_SIZE = 12;
230
+ static COMP_GROUP_SIZE = 24;
231
+ static COMP_KEY_SIZE = 20;
232
+ static VERSION_MASK_MINOR = 0x00FF;
233
+ static VERSION_MASK_MAJOR = 0xFF00;
234
+ /* In-memory representation of the keyboard */
235
+ keyboard = new KEYBOARD();
236
+ constructor() {
237
+ // Binary-correct structures matching kmx_file.h
238
+ this.COMP_STORE = new r.Struct({
239
+ dwSystemID: r.uint32le,
240
+ dpName: r.uint32le,
241
+ dpString: r.uint32le
242
+ });
243
+ if (this.COMP_STORE.size() != KMXFile.COMP_STORE_SIZE) {
244
+ throw "COMP_STORE size is " + this.COMP_STORE.size() + " but should be " + KMXFile.COMP_STORE_SIZE + " bytes";
245
+ }
246
+ this.COMP_KEY = new r.Struct({
247
+ Key: r.uint16le,
248
+ _padding: new r.Reserved(r.uint16le),
249
+ Line: r.uint32le,
250
+ ShiftFlags: r.uint32le,
251
+ dpOutput: r.uint32le,
252
+ dpContext: r.uint32le
253
+ });
254
+ if (this.COMP_KEY.size() != KMXFile.COMP_KEY_SIZE) {
255
+ throw "COMP_KEY size is " + this.COMP_KEY.size() + " but should be " + KMXFile.COMP_KEY_SIZE + " bytes";
256
+ }
257
+ this.COMP_GROUP = new r.Struct({
258
+ dpName: r.uint32le,
259
+ dpKeyArray: r.uint32le,
260
+ dpMatch: r.uint32le,
261
+ dpNoMatch: r.uint32le,
262
+ cxKeyArray: r.uint32le,
263
+ fUsingKeys: r.uint32le // group(xx) [using keys] <-- specified or not
264
+ });
265
+ if (this.COMP_GROUP.size() != KMXFile.COMP_GROUP_SIZE) {
266
+ throw "COMP_GROUP size is " + this.COMP_GROUP.size() + " but should be " + KMXFile.COMP_GROUP_SIZE + " bytes";
267
+ }
268
+ this.COMP_KEYBOARD_KMXPLUSINFO = new r.Struct({
269
+ dpKMXPlus: r.uint32le,
270
+ dwKMXPlusSize: r.uint32le // 0044 size in bytes of entire KMXPlus data
271
+ });
272
+ if (this.COMP_KEYBOARD_KMXPLUSINFO.size() != KMXFile.COMP_KEYBOARD_KMXPLUSINFO_SIZE) {
273
+ throw "COMP_KEYBOARD_KMXPLUSINFO size is " + this.COMP_KEYBOARD_KMXPLUSINFO.size() + " but should be " + KMXFile.COMP_KEYBOARD_KMXPLUSINFO_SIZE + " bytes";
274
+ }
275
+ this.COMP_KEYBOARD = new r.Struct({
276
+ dwIdentifier: r.uint32le,
277
+ dwFileVersion: r.uint32le,
278
+ dwCheckSum: r.uint32le,
279
+ KeyboardID: r.uint32le,
280
+ IsRegistered: r.uint32le,
281
+ version: r.uint32le,
282
+ cxStoreArray: r.uint32le,
283
+ cxGroupArray: r.uint32le,
284
+ dpStoreArray: r.uint32le,
285
+ dpGroupArray: r.uint32le,
286
+ StartGroup_ANSI: r.uint32le,
287
+ StartGroup_Unicode: r.uint32le,
288
+ dwFlags: r.uint32le,
289
+ dwHotKey: r.uint32le,
290
+ dpBitmapOffset: r.uint32le,
291
+ dwBitmapSize: r.uint32le // 003C size in bytes of the bitmaps
292
+ });
293
+ if (this.COMP_KEYBOARD.size() != KMXFile.COMP_KEYBOARD_SIZE) {
294
+ throw "COMP_KEYBOARD size is " + this.COMP_KEYBOARD.size() + " but should be " + KMXFile.COMP_KEYBOARD_SIZE + " bytes";
295
+ }
296
+ }
297
+ }
298
+ //# debugId=8c40f8b8-ad2c-57ae-8ab6-d7f8e7c54067
299
+ //# sourceMappingURL=kmx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kmx.js","sourceRoot":"","sources":["../../../src/kmx/kmx.ts"],"names":[],"mappings":"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"}
1
+ {"debug_id":"8c40f8b8-ad2c-57ae-8ab6-d7f8e7c54067","file":"kmx.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/kmx/kmx.ts"],"version":3}