@keymanapp/common-types 18.0.17-alpha → 18.0.19-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/consts/virtual-key-constants.js +222 -221
- package/build/src/consts/virtual-key-constants.js.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +73 -72
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +121 -120
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file.js +55 -54
- package/build/src/keyman-touch-layout/keyman-touch-layout-file.js.map +1 -1
- package/build/src/kmx/element-string.d.ts.map +1 -1
- package/build/src/kmx/element-string.js +126 -120
- package/build/src/kmx/element-string.js.map +1 -1
- package/build/src/kmx/keyman-targets.js +80 -79
- package/build/src/kmx/keyman-targets.js.map +1 -1
- package/build/src/kmx/kmx-builder.js +190 -189
- package/build/src/kmx/kmx-builder.js.map +1 -1
- package/build/src/kmx/kmx-file-reader.js +135 -134
- package/build/src/kmx/kmx-file-reader.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-disp.js +28 -27
- package/build/src/kmx/kmx-plus-builder/build-disp.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-elem.js +90 -89
- package/build/src/kmx/kmx-plus-builder/build-elem.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-keys.js +108 -107
- package/build/src/kmx/kmx-plus-builder/build-keys.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-layr.js +102 -101
- package/build/src/kmx/kmx-plus-builder/build-layr.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-list.js +67 -66
- package/build/src/kmx/kmx-plus-builder/build-list.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-loca.js +22 -21
- package/build/src/kmx/kmx-plus-builder/build-loca.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-meta.js +23 -22
- package/build/src/kmx/kmx-plus-builder/build-meta.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-sect.js +16 -15
- package/build/src/kmx/kmx-plus-builder/build-sect.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-strs.js +47 -46
- package/build/src/kmx/kmx-plus-builder/build-strs.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-tran.js +70 -69
- package/build/src/kmx/kmx-plus-builder/build-tran.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-uset.js +61 -60
- package/build/src/kmx/kmx-plus-builder/build-uset.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-vars.js +49 -48
- package/build/src/kmx/kmx-plus-builder/build-vars.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/builder-section.js +5 -4
- package/build/src/kmx/kmx-plus-builder/builder-section.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +138 -137
- package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -1
- package/build/src/kmx/kmx-plus.d.ts +3 -2
- package/build/src/kmx/kmx-plus.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus.js +831 -823
- package/build/src/kmx/kmx-plus.js.map +1 -1
- package/build/src/kmx/kmx.d.ts.map +1 -1
- package/build/src/kmx/kmx.js +303 -299
- package/build/src/kmx/kmx.js.map +1 -1
- package/build/src/kmx/string-list.js +89 -88
- package/build/src/kmx/string-list.js.map +1 -1
- package/build/src/kpj/keyman-developer-project.js +196 -195
- package/build/src/kpj/keyman-developer-project.js.map +1 -1
- package/build/src/kpj/kpj-file-reader.js +120 -119
- package/build/src/kpj/kpj-file-reader.js.map +1 -1
- package/build/src/kpj/kpj-file.js +13 -12
- package/build/src/kpj/kpj-file.js.map +1 -1
- package/build/src/kvk/kvk-file-reader.js +38 -37
- package/build/src/kvk/kvk-file-reader.js.map +1 -1
- package/build/src/kvk/kvk-file-writer.js +78 -77
- package/build/src/kvk/kvk-file-writer.js.map +1 -1
- package/build/src/kvk/kvk-file.js +91 -90
- package/build/src/kvk/kvk-file.js.map +1 -1
- package/build/src/kvk/kvks-file-reader.js +176 -175
- package/build/src/kvk/kvks-file-reader.js.map +1 -1
- package/build/src/kvk/kvks-file-writer.js +107 -106
- package/build/src/kvk/kvks-file-writer.js.map +1 -1
- package/build/src/kvk/kvks-file.js +12 -11
- package/build/src/kvk/kvks-file.js.map +1 -1
- package/build/src/kvk/visual-keyboard.js +76 -75
- package/build/src/kvk/visual-keyboard.js.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +22 -21
- package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +410 -409
- package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-xml.js +58 -57
- package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +1 -1
- package/build/src/ldml-keyboard/pattern-parser.js +491 -490
- package/build/src/ldml-keyboard/pattern-parser.js.map +1 -1
- package/build/src/ldml-keyboard/unicodeset-parser-api.js +30 -29
- package/build/src/ldml-keyboard/unicodeset-parser-api.js.map +1 -1
- package/build/src/main.js +35 -34
- package/build/src/main.js.map +1 -1
- package/build/src/package/kmp-json-file.js +4 -3
- package/build/src/package/kmp-json-file.js.map +1 -1
- package/build/src/package/kps-file.js +18 -17
- package/build/src/package/kps-file.js.map +1 -1
- package/build/src/schema-validators.js +28 -27
- package/build/src/schema-validators.js.map +1 -1
- package/build/src/schemas/displaymap.schema.js +38 -37
- package/build/src/schemas/displaymap.schema.js.map +1 -1
- package/build/src/schemas/displaymap.schema.validator.mjs +267 -266
- package/build/src/schemas/displaymap.schema.validator.mjs.map +1 -1
- package/build/src/schemas/keyboard_info.schema.js +101 -100
- package/build/src/schemas/keyboard_info.schema.js.map +1 -1
- package/build/src/schemas/keyboard_info.schema.validator.mjs +1161 -1160
- package/build/src/schemas/keyboard_info.schema.validator.mjs.map +1 -1
- package/build/src/schemas/keyman-touch-layout.clean.spec.js +154 -153
- package/build/src/schemas/keyman-touch-layout.clean.spec.js.map +1 -1
- package/build/src/schemas/keyman-touch-layout.clean.spec.validator.mjs +1095 -1094
- package/build/src/schemas/keyman-touch-layout.clean.spec.validator.mjs.map +1 -1
- package/build/src/schemas/keyman-touch-layout.spec.js +143 -142
- package/build/src/schemas/keyman-touch-layout.spec.js.map +1 -1
- package/build/src/schemas/keyman-touch-layout.spec.validator.mjs +1437 -1436
- package/build/src/schemas/keyman-touch-layout.spec.validator.mjs.map +1 -1
- package/build/src/schemas/kmp.schema.js +356 -355
- package/build/src/schemas/kmp.schema.js.map +1 -1
- package/build/src/schemas/kmp.schema.validator.mjs +1628 -1627
- package/build/src/schemas/kmp.schema.validator.mjs.map +1 -1
- package/build/src/schemas/kpj-9.0.schema.js +134 -133
- package/build/src/schemas/kpj-9.0.schema.js.map +1 -1
- package/build/src/schemas/kpj-9.0.schema.validator.mjs +656 -655
- package/build/src/schemas/kpj-9.0.schema.validator.mjs.map +1 -1
- package/build/src/schemas/kpj.schema.js +132 -131
- package/build/src/schemas/kpj.schema.js.map +1 -1
- package/build/src/schemas/kpj.schema.validator.mjs +516 -515
- package/build/src/schemas/kpj.schema.validator.mjs.map +1 -1
- package/build/src/schemas/kvks.schema.js +185 -184
- package/build/src/schemas/kvks.schema.js.map +1 -1
- package/build/src/schemas/kvks.schema.validator.mjs +626 -625
- package/build/src/schemas/kvks.schema.validator.mjs.map +1 -1
- package/build/src/schemas/ldml-keyboard3.schema.js +699 -698
- package/build/src/schemas/ldml-keyboard3.schema.js.map +1 -1
- package/build/src/schemas/ldml-keyboard3.schema.validator.mjs +3118 -3117
- package/build/src/schemas/ldml-keyboard3.schema.validator.mjs.map +1 -1
- package/build/src/schemas/ldml-keyboardtest3.schema.js +228 -227
- package/build/src/schemas/ldml-keyboardtest3.schema.js.map +1 -1
- package/build/src/schemas/ldml-keyboardtest3.schema.validator.mjs +745 -744
- package/build/src/schemas/ldml-keyboardtest3.schema.validator.mjs.map +1 -1
- package/build/src/schemas.js +26 -25
- package/build/src/schemas.js.map +1 -1
- package/build/src/util/common-events.js +29 -28
- package/build/src/util/common-events.js.map +1 -1
- package/build/src/util/compiler-interfaces.js +381 -380
- package/build/src/util/compiler-interfaces.js.map +1 -1
- package/build/src/util/errors.js +8 -7
- package/build/src/util/errors.js.map +1 -1
- package/build/src/util/file-types.js +143 -142
- package/build/src/util/file-types.js.map +1 -1
- package/build/src/util/util.d.ts +4 -0
- package/build/src/util/util.d.ts.map +1 -1
- package/build/src/util/util.js +369 -362
- package/build/src/util/util.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,222 +1,223 @@
|
|
|
1
|
-
// Define standard keycode numbers (exposed for use by other modules)
|
|
2
|
-
// TODO-LDML: merge with common\web\keyboard-processor\src\text\codes.ts
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
*
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
'
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
*
|
|
201
|
-
* @param
|
|
202
|
-
* @
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
|
|
1
|
+
// Define standard keycode numbers (exposed for use by other modules)
|
|
2
|
+
// TODO-LDML: merge with common\web\keyboard-processor\src\text\codes.ts
|
|
3
|
+
/**
|
|
4
|
+
* May include non-US virtual key codes
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
!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]="945ddbd1-d791-5a91-b0b2-e63922aaacd5")}catch(e){}}();
|
|
8
|
+
export const USVirtualKeyCodes = {
|
|
9
|
+
K_BKSP: 8,
|
|
10
|
+
K_TAB: 9,
|
|
11
|
+
K_ENTER: 13,
|
|
12
|
+
K_SHIFT: 16,
|
|
13
|
+
K_CONTROL: 17,
|
|
14
|
+
K_ALT: 18,
|
|
15
|
+
K_PAUSE: 19,
|
|
16
|
+
K_CAPS: 20,
|
|
17
|
+
K_ESC: 27,
|
|
18
|
+
K_SPACE: 32,
|
|
19
|
+
K_PGUP: 33,
|
|
20
|
+
K_PGDN: 34,
|
|
21
|
+
K_END: 35,
|
|
22
|
+
K_HOME: 36,
|
|
23
|
+
K_LEFT: 37,
|
|
24
|
+
K_UP: 38,
|
|
25
|
+
K_RIGHT: 39,
|
|
26
|
+
K_DOWN: 40,
|
|
27
|
+
K_SEL: 41,
|
|
28
|
+
K_PRINT: 42,
|
|
29
|
+
K_EXEC: 43,
|
|
30
|
+
K_INS: 45,
|
|
31
|
+
K_DEL: 46,
|
|
32
|
+
K_HELP: 47,
|
|
33
|
+
K_0: 48,
|
|
34
|
+
K_1: 49,
|
|
35
|
+
K_2: 50,
|
|
36
|
+
K_3: 51,
|
|
37
|
+
K_4: 52,
|
|
38
|
+
K_5: 53,
|
|
39
|
+
K_6: 54,
|
|
40
|
+
K_7: 55,
|
|
41
|
+
K_8: 56,
|
|
42
|
+
K_9: 57,
|
|
43
|
+
K_A: 65,
|
|
44
|
+
K_B: 66,
|
|
45
|
+
K_C: 67,
|
|
46
|
+
K_D: 68,
|
|
47
|
+
K_E: 69,
|
|
48
|
+
K_F: 70,
|
|
49
|
+
K_G: 71,
|
|
50
|
+
K_H: 72,
|
|
51
|
+
K_I: 73,
|
|
52
|
+
K_J: 74,
|
|
53
|
+
K_K: 75,
|
|
54
|
+
K_L: 76,
|
|
55
|
+
K_M: 77,
|
|
56
|
+
K_N: 78,
|
|
57
|
+
K_O: 79,
|
|
58
|
+
K_P: 80,
|
|
59
|
+
K_Q: 81,
|
|
60
|
+
K_R: 82,
|
|
61
|
+
K_S: 83,
|
|
62
|
+
K_T: 84,
|
|
63
|
+
K_U: 85,
|
|
64
|
+
K_V: 86,
|
|
65
|
+
K_W: 87,
|
|
66
|
+
K_X: 88,
|
|
67
|
+
K_Y: 89,
|
|
68
|
+
K_Z: 90,
|
|
69
|
+
K_NP0: 96,
|
|
70
|
+
K_NP1: 97,
|
|
71
|
+
K_NP2: 98,
|
|
72
|
+
K_NP3: 99,
|
|
73
|
+
K_NP4: 100,
|
|
74
|
+
K_NP5: 101,
|
|
75
|
+
K_NP6: 102,
|
|
76
|
+
K_NP7: 103,
|
|
77
|
+
K_NP8: 104,
|
|
78
|
+
K_NP9: 105,
|
|
79
|
+
K_NPSTAR: 106,
|
|
80
|
+
K_NPPLUS: 107,
|
|
81
|
+
K_SEPARATOR: 108,
|
|
82
|
+
K_NPMINUS: 109,
|
|
83
|
+
K_NPDOT: 110,
|
|
84
|
+
K_NPSLASH: 111,
|
|
85
|
+
K_F1: 112,
|
|
86
|
+
K_F2: 113,
|
|
87
|
+
K_F3: 114,
|
|
88
|
+
K_F4: 115,
|
|
89
|
+
K_F5: 116,
|
|
90
|
+
K_F6: 117,
|
|
91
|
+
K_F7: 118,
|
|
92
|
+
K_F8: 119,
|
|
93
|
+
K_F9: 120,
|
|
94
|
+
K_F10: 121,
|
|
95
|
+
K_F11: 122,
|
|
96
|
+
K_F12: 123,
|
|
97
|
+
K_NUMLOCK: 144,
|
|
98
|
+
K_SCROLL: 145,
|
|
99
|
+
K_LSHIFT: 160,
|
|
100
|
+
K_RSHIFT: 161,
|
|
101
|
+
K_LCONTROL: 162,
|
|
102
|
+
K_RCONTROL: 163,
|
|
103
|
+
K_LALT: 164,
|
|
104
|
+
K_RALT: 165,
|
|
105
|
+
K_COLON: 186,
|
|
106
|
+
K_EQUAL: 187,
|
|
107
|
+
K_COMMA: 188,
|
|
108
|
+
K_HYPHEN: 189,
|
|
109
|
+
K_PERIOD: 190,
|
|
110
|
+
K_SLASH: 191,
|
|
111
|
+
K_BKQUOTE: 192,
|
|
112
|
+
K_LBRKT: 219,
|
|
113
|
+
/**
|
|
114
|
+
* == K_OEM_5, 0xDC
|
|
115
|
+
*/
|
|
116
|
+
K_BKSLASH: 220,
|
|
117
|
+
K_RBRKT: 221,
|
|
118
|
+
K_QUOTE: 222,
|
|
119
|
+
/**
|
|
120
|
+
* ISO B00, key to right of left shift, not on US keyboard,
|
|
121
|
+
* 0xE2, K_OEM_102
|
|
122
|
+
*/
|
|
123
|
+
K_oE2: 226,
|
|
124
|
+
K_OE2: 226,
|
|
125
|
+
K_oC1: 193,
|
|
126
|
+
K_OC1: 193,
|
|
127
|
+
'K_?C1': 193,
|
|
128
|
+
'k_?C1': 193,
|
|
129
|
+
K_oDF: 0xDF,
|
|
130
|
+
K_ODF: 0xDF,
|
|
131
|
+
/*K_LOPT:50001,
|
|
132
|
+
K_ROPT:50002,
|
|
133
|
+
K_NUMERALS:50003,
|
|
134
|
+
K_SYMBOLS:50004,
|
|
135
|
+
K_CURRENCIES:50005,
|
|
136
|
+
K_UPPER:50006,
|
|
137
|
+
K_LOWER:50007,
|
|
138
|
+
K_ALPHA:50008,
|
|
139
|
+
K_SHIFTED:50009,
|
|
140
|
+
K_ALTGR:50010,
|
|
141
|
+
K_TABBACK:50011,
|
|
142
|
+
K_TABFWD:50012*/
|
|
143
|
+
};
|
|
144
|
+
const k = USVirtualKeyCodes;
|
|
145
|
+
/** Map a CLDR scancode to a US VKey ala USVirtualKeyCodes */
|
|
146
|
+
export const CLDRScanToUSVirtualKeyCodes = {
|
|
147
|
+
0x02: k.K_1,
|
|
148
|
+
0x03: k.K_2,
|
|
149
|
+
0x04: k.K_3,
|
|
150
|
+
0x05: k.K_4,
|
|
151
|
+
0x06: k.K_5,
|
|
152
|
+
0x07: k.K_6,
|
|
153
|
+
0x08: k.K_7,
|
|
154
|
+
0x09: k.K_8,
|
|
155
|
+
0x0A: k.K_9,
|
|
156
|
+
0x0B: k.K_0,
|
|
157
|
+
0x0C: k.K_HYPHEN,
|
|
158
|
+
0x0D: k.K_EQUAL,
|
|
159
|
+
0x10: k.K_Q,
|
|
160
|
+
0x11: k.K_W,
|
|
161
|
+
0x12: k.K_E,
|
|
162
|
+
0x13: k.K_R,
|
|
163
|
+
0x14: k.K_T,
|
|
164
|
+
0x15: k.K_Y,
|
|
165
|
+
0x16: k.K_U,
|
|
166
|
+
0x17: k.K_I,
|
|
167
|
+
0x18: k.K_O,
|
|
168
|
+
0x19: k.K_P,
|
|
169
|
+
0x1A: k.K_LBRKT,
|
|
170
|
+
0x1B: k.K_RBRKT,
|
|
171
|
+
0x1E: k.K_A,
|
|
172
|
+
0x1F: k.K_S,
|
|
173
|
+
0x20: k.K_D,
|
|
174
|
+
0x21: k.K_F,
|
|
175
|
+
0x22: k.K_G,
|
|
176
|
+
0x23: k.K_H,
|
|
177
|
+
0x24: k.K_J,
|
|
178
|
+
0x25: k.K_K,
|
|
179
|
+
0x26: k.K_L,
|
|
180
|
+
0x27: k.K_COLON,
|
|
181
|
+
0x28: k.K_QUOTE,
|
|
182
|
+
0x29: k.K_BKQUOTE,
|
|
183
|
+
0x2B: k.K_BKSLASH,
|
|
184
|
+
0x2C: k.K_Z,
|
|
185
|
+
0x2D: k.K_X,
|
|
186
|
+
0x2E: k.K_C,
|
|
187
|
+
0x2F: k.K_V,
|
|
188
|
+
0x30: k.K_B,
|
|
189
|
+
0x31: k.K_N,
|
|
190
|
+
0x32: k.K_M,
|
|
191
|
+
0x33: k.K_COMMA,
|
|
192
|
+
0x34: k.K_PERIOD,
|
|
193
|
+
0x35: k.K_SLASH,
|
|
194
|
+
0x39: k.K_SPACE,
|
|
195
|
+
0x56: k.K_oE2,
|
|
196
|
+
0x73: k.K_oC1,
|
|
197
|
+
0x7D: k.K_oE2, // << Same as 0x56; found on jis
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Convert a scan code numerical KeyMap to VKeys
|
|
201
|
+
* @param scans keymap to convert
|
|
202
|
+
* @param badScans output: set of not-found scancodes
|
|
203
|
+
* @returns
|
|
204
|
+
*/
|
|
205
|
+
export function CLDRScanToKeyMap(scans, badScans) {
|
|
206
|
+
return scans.map((row) => row.map((scan) => CLDRScanToVkey(scan, badScans)));
|
|
207
|
+
}
|
|
208
|
+
/** Convert one scan code to vkey, or undefined */
|
|
209
|
+
export function CLDRScanToVkey(scan, badScans) {
|
|
210
|
+
/** typescript fun to index the scan table */
|
|
211
|
+
function hasScanCode(key) {
|
|
212
|
+
return key in CLDRScanToUSVirtualKeyCodes;
|
|
213
|
+
}
|
|
214
|
+
if (hasScanCode(scan)) {
|
|
215
|
+
return CLDRScanToUSVirtualKeyCodes[scan];
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
badScans?.add(scan);
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
222
|
//# sourceMappingURL=virtual-key-constants.js.map
|
|
223
|
+
//# debugId=945ddbd1-d791-5a91-b0b2-e63922aaacd5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"virtual-key-constants.js","sources":["../../../src/consts/virtual-key-constants.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"945ddbd1-d791-5a91-b0b2-e63922aaacd5"}
|
|
@@ -1,73 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
1
|
+
|
|
2
|
+
!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]="5e4a0dd5-2f6e-5f48-a620-914fc5227283")}catch(e){}}();
|
|
3
|
+
import SchemaValidators from '../schema-validators.js';
|
|
4
|
+
export class TouchLayoutFileReader {
|
|
5
|
+
read(source) {
|
|
6
|
+
const decoder = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
|
|
7
|
+
let sourceString;
|
|
8
|
+
try {
|
|
9
|
+
sourceString = decoder.decode(source);
|
|
10
|
+
/* c8 ignore next 7 */
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
if (e instanceof TypeError) {
|
|
14
|
+
// TODO: Do we want to do something else with this?
|
|
15
|
+
throw e;
|
|
16
|
+
}
|
|
17
|
+
throw e;
|
|
18
|
+
}
|
|
19
|
+
let result;
|
|
20
|
+
try {
|
|
21
|
+
result = JSON.parse(sourceString, function (key, value) {
|
|
22
|
+
// `row.id` should be number, but may have been stringified; we use
|
|
23
|
+
// presence of `key` property to recognise this as a `TouchLayoutRow`.
|
|
24
|
+
if (this.key && key == 'id' && typeof value == 'string') {
|
|
25
|
+
let newValue = parseInt(value, 10);
|
|
26
|
+
/* c8 ignore next 3 */
|
|
27
|
+
if (isNaN(newValue)) {
|
|
28
|
+
throw new TypeError(`Invalid row.id: "${value}"`);
|
|
29
|
+
}
|
|
30
|
+
return newValue;
|
|
31
|
+
}
|
|
32
|
+
// `key.width`, `key.pad`, `key.sp` should be number, but may have been
|
|
33
|
+
// stringified
|
|
34
|
+
if (key == 'width' || key == 'pad' || key == 'sp') {
|
|
35
|
+
if (value === '') {
|
|
36
|
+
// Empty string is equivalent to not present, so fall back to
|
|
37
|
+
// default value
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
let newValue = parseInt(value, 10);
|
|
41
|
+
/* c8 ignore next 3 */
|
|
42
|
+
if (isNaN(newValue)) {
|
|
43
|
+
throw new TypeError(`Invalid [sub]key.${key}: "${value}"`);
|
|
44
|
+
}
|
|
45
|
+
return newValue;
|
|
46
|
+
}
|
|
47
|
+
if (Array.isArray(value) && value.length == 0) {
|
|
48
|
+
// Delete empty arrays
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return value;
|
|
52
|
+
});
|
|
53
|
+
/* c8 ignore next 7 */
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
if (e instanceof SyntaxError) {
|
|
57
|
+
// TODO: Do we want to do something else with this?
|
|
58
|
+
throw e;
|
|
59
|
+
}
|
|
60
|
+
throw e;
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
validate(source) {
|
|
65
|
+
if (!SchemaValidators.touchLayoutClean(source))
|
|
66
|
+
/* c8 ignore next 3 */
|
|
67
|
+
{
|
|
68
|
+
throw new Error(JSON.stringify(SchemaValidators.touchLayoutClean.errors));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
;
|
|
73
73
|
//# sourceMappingURL=keyman-touch-layout-file-reader.js.map
|
|
74
|
+
//# debugId=5e4a0dd5-2f6e-5f48-a620-914fc5227283
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"keyman-touch-layout-file-reader.js","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file-reader.ts"],"sourceRoot":"","names":[],"mappings":";;AACA,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,MAAM,OAAO,qBAAqB;IACzB,IAAI,CAAC,MAAkB;QAC5B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QACxE,IAAI,YAAoB,CAAC;QACzB,IAAI;YACF,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,sBAAsB;SACrB;QAAC,OAAM,CAAC,EAAE;YACT,IAAG,CAAC,YAAY,SAAS,EAAE;gBACzB,mDAAmD;gBACnD,MAAM,CAAC,CAAC;aACT;YACD,MAAM,CAAC,CAAC;SACT;QAED,IAAI,MAAuB,CAAC;QAC5B,IAAI;YACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,UAAS,GAAG,EAAE,KAAK;gBACnD,mEAAmE;gBACnE,sEAAsE;gBACtE,IAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;oBACtD,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnC,sBAAsB;oBACtB,IAAG,KAAK,CAAC,QAAQ,CAAC,EAAE;wBAClB,MAAM,IAAI,SAAS,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;qBACnD;oBACD,OAAO,QAAQ,CAAC;iBACjB;gBAED,uEAAuE;gBACvE,cAAc;gBACd,IAAG,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oBAChD,IAAG,KAAK,KAAK,EAAE,EAAE;wBACf,6DAA6D;wBAC7D,gBAAgB;wBAChB,OAAO,SAAS,CAAC;qBAClB;oBAED,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnC,sBAAsB;oBACtB,IAAG,KAAK,CAAC,QAAQ,CAAC,EAAE;wBAClB,MAAM,IAAI,SAAS,CAAC,oBAAoB,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC;qBAC5D;oBACD,OAAO,QAAQ,CAAC;iBACjB;gBAED,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC5C,sBAAsB;oBACtB,OAAO,SAAS,CAAC;iBAClB;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACL,sBAAsB;SACrB;QAAC,OAAM,CAAC,EAAE;YACT,IAAG,CAAC,YAAY,WAAW,EAAE;gBAC3B,mDAAmD;gBACnD,MAAM,CAAC,CAAC;aACT;YACD,MAAM,CAAC,CAAC;SACT;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAC,MAAuB;QACrC,IAAG,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC7C,sBAAsB;QACtB;YACE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAO,gBAAgB,CAAC,gBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;SAClF;IACH,CAAC;CAGF;AAAA,CAAC","debug_id":"5e4a0dd5-2f6e-5f48-a620-914fc5227283"}
|