@keymanapp/common-types 17.0.85-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 (248) hide show
  1. package/build/src/consts/virtual-key-constants.d.ts +131 -0
  2. package/build/src/consts/virtual-key-constants.d.ts.map +1 -0
  3. package/build/src/consts/virtual-key-constants.js +245 -0
  4. package/build/src/consts/virtual-key-constants.js.map +1 -0
  5. package/build/src/import/techpreview/cldr_info.json +5 -0
  6. package/build/src/import/techpreview/keys-Latn-implied.xml +80 -0
  7. package/build/src/import/techpreview/keys-Zyyy-currency.xml +22 -0
  8. package/build/src/import/techpreview/keys-Zyyy-punctuation.xml +46 -0
  9. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +7 -0
  10. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +1 -0
  11. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +74 -0
  12. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -0
  13. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts +24 -0
  14. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts.map +1 -0
  15. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +75 -0
  16. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -0
  17. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts +76 -0
  18. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts.map +1 -0
  19. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js +26 -0
  20. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js.map +1 -0
  21. package/build/src/keyman-touch-layout.clean.spec.json +170 -0
  22. package/build/src/kmx/element-string.d.ts +19 -0
  23. package/build/src/kmx/element-string.d.ts.map +1 -0
  24. package/build/src/kmx/element-string.js +72 -0
  25. package/build/src/kmx/element-string.js.map +1 -0
  26. package/build/src/kmx/kmx-builder.d.ts +77 -0
  27. package/build/src/kmx/kmx-builder.d.ts.map +1 -0
  28. package/build/src/kmx/kmx-builder.js +193 -0
  29. package/build/src/kmx/kmx-builder.js.map +1 -0
  30. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts +18 -0
  31. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts.map +1 -0
  32. package/build/src/kmx/kmx-plus-builder/build-disp.js +25 -0
  33. package/build/src/kmx/kmx-plus-builder/build-disp.js.map +1 -0
  34. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts +26 -0
  35. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts.map +1 -0
  36. package/build/src/kmx/kmx-plus-builder/build-elem.js +78 -0
  37. package/build/src/kmx/kmx-plus-builder/build-elem.js.map +1 -0
  38. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts +60 -0
  39. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts.map +1 -0
  40. package/build/src/kmx/kmx-plus-builder/build-keys.js +107 -0
  41. package/build/src/kmx/kmx-plus-builder/build-keys.js.map +1 -0
  42. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts +54 -0
  43. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts.map +1 -0
  44. package/build/src/kmx/kmx-plus-builder/build-layr.js +99 -0
  45. package/build/src/kmx/kmx-plus-builder/build-layr.js.map +1 -0
  46. package/build/src/kmx/kmx-plus-builder/build-list.d.ts +34 -0
  47. package/build/src/kmx/kmx-plus-builder/build-list.d.ts.map +1 -0
  48. package/build/src/kmx/kmx-plus-builder/build-list.js +62 -0
  49. package/build/src/kmx/kmx-plus-builder/build-list.js.map +1 -0
  50. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts +12 -0
  51. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts.map +1 -0
  52. package/build/src/kmx/kmx-plus-builder/build-loca.js +20 -0
  53. package/build/src/kmx/kmx-plus-builder/build-loca.js.map +1 -0
  54. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts +17 -0
  55. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts.map +1 -0
  56. package/build/src/kmx/kmx-plus-builder/build-meta.js +21 -0
  57. package/build/src/kmx/kmx-plus-builder/build-meta.js.map +1 -0
  58. package/build/src/kmx/kmx-plus-builder/build-name.d.ts +12 -0
  59. package/build/src/kmx/kmx-plus-builder/build-name.d.ts.map +1 -0
  60. package/build/src/kmx/kmx-plus-builder/build-name.js +23 -0
  61. package/build/src/kmx/kmx-plus-builder/build-name.js.map +1 -0
  62. package/build/src/kmx/kmx-plus-builder/build-ordr.d.ts +18 -0
  63. package/build/src/kmx/kmx-plus-builder/build-ordr.d.ts.map +1 -0
  64. package/build/src/kmx/kmx-plus-builder/build-ordr.js +27 -0
  65. package/build/src/kmx/kmx-plus-builder/build-ordr.js.map +1 -0
  66. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts +16 -0
  67. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts.map +1 -0
  68. package/build/src/kmx/kmx-plus-builder/build-sect.js +14 -0
  69. package/build/src/kmx/kmx-plus-builder/build-sect.js.map +1 -0
  70. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts +18 -0
  71. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts.map +1 -0
  72. package/build/src/kmx/kmx-plus-builder/build-strs.js +34 -0
  73. package/build/src/kmx/kmx-plus-builder/build-strs.js.map +1 -0
  74. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts +20 -0
  75. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts.map +1 -0
  76. package/build/src/kmx/kmx-plus-builder/build-tran.js +30 -0
  77. package/build/src/kmx/kmx-plus-builder/build-tran.js.map +1 -0
  78. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts +16 -0
  79. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts.map +1 -0
  80. package/build/src/kmx/kmx-plus-builder/build-vkey.js +23 -0
  81. package/build/src/kmx/kmx-plus-builder/build-vkey.js.map +1 -0
  82. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts +6 -0
  83. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts.map +1 -0
  84. package/build/src/kmx/kmx-plus-builder/builder-section.js +3 -0
  85. package/build/src/kmx/kmx-plus-builder/builder-section.js.map +1 -0
  86. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts +47 -0
  87. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts.map +1 -0
  88. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +143 -0
  89. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -0
  90. package/build/src/kmx/kmx-plus.d.ts +259 -0
  91. package/build/src/kmx/kmx-plus.d.ts.map +1 -0
  92. package/build/src/kmx/kmx-plus.js +594 -0
  93. package/build/src/kmx/kmx-plus.js.map +1 -0
  94. package/build/src/kmx/kmx.d.ts +166 -0
  95. package/build/src/kmx/kmx.d.ts.map +1 -0
  96. package/build/src/kmx/kmx.js +271 -0
  97. package/build/src/kmx/kmx.js.map +1 -0
  98. package/build/src/kmx/string-list.d.ts +29 -0
  99. package/build/src/kmx/string-list.d.ts.map +1 -0
  100. package/build/src/kmx/string-list.js +75 -0
  101. package/build/src/kmx/string-list.js.map +1 -0
  102. package/build/src/kpj/keyman-developer-project.d.ts +58 -0
  103. package/build/src/kpj/keyman-developer-project.d.ts.map +1 -0
  104. package/build/src/kpj/keyman-developer-project.js +141 -0
  105. package/build/src/kpj/keyman-developer-project.js.map +1 -0
  106. package/build/src/kpj/kpj-file-reader.d.ts +17 -0
  107. package/build/src/kpj/kpj-file-reader.d.ts.map +1 -0
  108. package/build/src/kpj/kpj-file-reader.js +92 -0
  109. package/build/src/kpj/kpj-file-reader.js.map +1 -0
  110. package/build/src/kpj/kpj-file.d.ts +39 -0
  111. package/build/src/kpj/kpj-file.d.ts.map +1 -0
  112. package/build/src/kpj/kpj-file.js +11 -0
  113. package/build/src/kpj/kpj-file.js.map +1 -0
  114. package/build/src/kpj.schema.json +127 -0
  115. package/build/src/kvk/kvk-file-reader.d.ts +5 -0
  116. package/build/src/kvk/kvk-file-reader.d.ts.map +1 -0
  117. package/build/src/kvk/kvk-file-reader.js +35 -0
  118. package/build/src/kvk/kvk-file-reader.js.map +1 -0
  119. package/build/src/kvk/kvk-file-writer.d.ts +20 -0
  120. package/build/src/kvk/kvk-file-writer.d.ts.map +1 -0
  121. package/build/src/kvk/kvk-file-writer.js +67 -0
  122. package/build/src/kvk/kvk-file-writer.js.map +1 -0
  123. package/build/src/kvk/kvk-file.d.ts +64 -0
  124. package/build/src/kvk/kvk-file.d.ts.map +1 -0
  125. package/build/src/kvk/kvk-file.js +63 -0
  126. package/build/src/kvk/kvk-file.js.map +1 -0
  127. package/build/src/kvk/kvks-file-reader.d.ts +30 -0
  128. package/build/src/kvk/kvks-file-reader.d.ts.map +1 -0
  129. package/build/src/kvk/kvks-file-reader.js +154 -0
  130. package/build/src/kvk/kvks-file-reader.js.map +1 -0
  131. package/build/src/kvk/kvks-file-writer.d.ts +6 -0
  132. package/build/src/kvk/kvks-file-writer.d.ts.map +1 -0
  133. package/build/src/kvk/kvks-file-writer.js +99 -0
  134. package/build/src/kvk/kvks-file-writer.js.map +1 -0
  135. package/build/src/kvk/kvks-file.d.ts +44 -0
  136. package/build/src/kvk/kvks-file.d.ts.map +1 -0
  137. package/build/src/kvk/kvks-file.js +10 -0
  138. package/build/src/kvk/kvks-file.js.map +1 -0
  139. package/build/src/kvk/visual-keyboard.d.ts +35 -0
  140. package/build/src/kvk/visual-keyboard.d.ts.map +1 -0
  141. package/build/src/kvk/visual-keyboard.js +61 -0
  142. package/build/src/kvk/visual-keyboard.js.map +1 -0
  143. package/build/src/kvks.schema.json +182 -0
  144. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts +56 -0
  145. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts.map +1 -0
  146. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +20 -0
  147. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -0
  148. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +91 -0
  149. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -0
  150. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +370 -0
  151. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -0
  152. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts +143 -0
  153. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts.map +1 -0
  154. package/build/src/ldml-keyboard/ldml-keyboard-xml.js +34 -0
  155. package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +1 -0
  156. package/build/src/ldml-keyboard.schema.json +634 -0
  157. package/build/src/ldml-keyboardtest.schema.json +221 -0
  158. package/build/src/main.d.ts +21 -0
  159. package/build/src/main.d.ts.map +1 -0
  160. package/build/src/main.js +20 -0
  161. package/build/src/main.js.map +1 -0
  162. package/build/src/util/common-events.d.ts +49 -0
  163. package/build/src/util/common-events.d.ts.map +1 -0
  164. package/build/src/util/common-events.js +29 -0
  165. package/build/src/util/common-events.js.map +1 -0
  166. package/build/src/util/compiler-interfaces.d.ts +51 -0
  167. package/build/src/util/compiler-interfaces.d.ts.map +1 -0
  168. package/build/src/util/compiler-interfaces.js +33 -0
  169. package/build/src/util/compiler-interfaces.js.map +1 -0
  170. package/build/src/util/util.d.ts +17 -0
  171. package/build/src/util/util.d.ts.map +1 -0
  172. package/build/src/util/util.js +67 -0
  173. package/build/src/util/util.js.map +1 -0
  174. package/build/tsconfig.tsbuildinfo +1 -0
  175. package/build.sh +86 -0
  176. package/package.json +58 -0
  177. package/src/consts/virtual-key-constants.ts +257 -0
  178. package/src/keyman-touch-layout/keyman-touch-layout-file-reader.ts +81 -0
  179. package/src/keyman-touch-layout/keyman-touch-layout-file-writer.ts +84 -0
  180. package/src/keyman-touch-layout/keyman-touch-layout-file.ts +87 -0
  181. package/src/kmx/element-string.ts +79 -0
  182. package/src/kmx/kmx-builder.ts +287 -0
  183. package/src/kmx/kmx-plus-builder/build-disp.ts +46 -0
  184. package/src/kmx/kmx-plus-builder/build-elem.ts +103 -0
  185. package/src/kmx/kmx-plus-builder/build-keys.ts +175 -0
  186. package/src/kmx/kmx-plus-builder/build-layr.ts +154 -0
  187. package/src/kmx/kmx-plus-builder/build-list.ts +95 -0
  188. package/src/kmx/kmx-plus-builder/build-loca.ts +34 -0
  189. package/src/kmx/kmx-plus-builder/build-meta.ts +37 -0
  190. package/src/kmx/kmx-plus-builder/build-name.ts +37 -0
  191. package/src/kmx/kmx-plus-builder/build-ordr.ts +45 -0
  192. package/src/kmx/kmx-plus-builder/build-sect.ts +31 -0
  193. package/src/kmx/kmx-plus-builder/build-strs.ts +58 -0
  194. package/src/kmx/kmx-plus-builder/build-tran.ts +50 -0
  195. package/src/kmx/kmx-plus-builder/build-vkey.ts +43 -0
  196. package/src/kmx/kmx-plus-builder/builder-section.ts +6 -0
  197. package/src/kmx/kmx-plus-builder/kmx-plus-builder.ts +190 -0
  198. package/src/kmx/kmx-plus.ts +692 -0
  199. package/src/kmx/kmx.ts +360 -0
  200. package/src/kmx/string-list.ts +74 -0
  201. package/src/kpj/keyman-developer-project.ts +155 -0
  202. package/src/kpj/kpj-file-reader.ts +103 -0
  203. package/src/kpj/kpj-file.ts +52 -0
  204. package/src/kvk/kvk-file-reader.ts +34 -0
  205. package/src/kvk/kvk-file-writer.ts +72 -0
  206. package/src/kvk/kvk-file.ts +122 -0
  207. package/src/kvk/kvks-file-reader.ts +164 -0
  208. package/src/kvk/kvks-file-writer.ts +113 -0
  209. package/src/kvk/kvks-file.ts +53 -0
  210. package/src/kvk/visual-keyboard.ts +80 -0
  211. package/src/ldml-keyboard/ldml-keyboard-testdata-xml.ts +74 -0
  212. package/src/ldml-keyboard/ldml-keyboard-xml-reader.ts +387 -0
  213. package/src/ldml-keyboard/ldml-keyboard-xml.ts +177 -0
  214. package/src/main.ts +27 -0
  215. package/src/restructure.d.ts +2 -0
  216. package/src/util/common-events.ts +50 -0
  217. package/src/util/compiler-interfaces.ts +54 -0
  218. package/src/util/util.ts +68 -0
  219. package/test/fixtures/import-minimal.xml +8 -0
  220. package/test/fixtures/import-minimal1.xml +11 -0
  221. package/test/fixtures/import-minimal2.xml +11 -0
  222. package/test/fixtures/import-symbols.xml +13 -0
  223. package/test/fixtures/invalid-conforms-to.xml +19 -0
  224. package/test/fixtures/invalid-import-base.xml +16 -0
  225. package/test/fixtures/invalid-import-path.xml +16 -0
  226. package/test/fixtures/invalid-import-readfail.xml +16 -0
  227. package/test/fixtures/invalid-import-wrongroot.xml +16 -0
  228. package/test/fixtures/invalid-structure-per-dtd.xml +8 -0
  229. package/test/fixtures/keyman-touch-layout/khmer_angkor.keyman-touch-layout +1950 -0
  230. package/test/fixtures/keyman-touch-layout/legacy.keyman-touch-layout +36 -0
  231. package/test/fixtures/kpj/khmer_angkor.kpj +187 -0
  232. package/test/fixtures/kvk/khmer_angkor.kvk +0 -0
  233. package/test/fixtures/kvk/khmer_angkor.kvks +206 -0
  234. package/test/fixtures/test-fr.xml +22 -0
  235. package/test/helpers/index.ts +39 -0
  236. package/test/helpers/reader-callback-test.ts +199 -0
  237. package/test/keyman-touch-layout/test-keyman-touch-layout-file-reader.ts +71 -0
  238. package/test/keyman-touch-layout/test-keyman-touch-layout-round-trip.ts +35 -0
  239. package/test/kpj/test-kpj-file-reader.ts +123 -0
  240. package/test/kvk/test-kvk-file.ts +15 -0
  241. package/test/kvk/test-kvk-round-trip.ts +87 -0
  242. package/test/kvk/test-kvk-utils.ts +24 -0
  243. package/test/kvk/test-kvks-file.ts +45 -0
  244. package/test/ldml-keyboard/test-ldml-keyboard-testdata-reader.ts +51 -0
  245. package/test/ldml-keyboard/test-ldml-keyboard-xml-reader.ts +131 -0
  246. package/test/tsconfig.json +21 -0
  247. package/test/util/test-unescape.ts +38 -0
  248. package/tsconfig.json +17 -0
@@ -0,0 +1,634 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema#",
3
+ "additionalProperties": false,
4
+ "definitions": {
5
+ "any": {
6
+ "type": "string"
7
+ },
8
+ "display": {
9
+ "additionalProperties": false,
10
+ "properties": {
11
+ "display": {
12
+ "type": "string"
13
+ },
14
+ "to": {
15
+ "type": "string"
16
+ }
17
+ },
18
+ "required": [
19
+ "to",
20
+ "display"
21
+ ],
22
+ "type": "object"
23
+ },
24
+ "displayOptions": {
25
+ "additionalProperties": false,
26
+ "properties": {
27
+ "baseCharacter": {
28
+ "type": "string"
29
+ }
30
+ },
31
+ "type": "object"
32
+ },
33
+ "displays": {
34
+ "additionalProperties": false,
35
+ "properties": {
36
+ "display": {
37
+ "items": {
38
+ "$ref": "#/definitions/display"
39
+ },
40
+ "type": "array"
41
+ },
42
+ "displayOptions": {
43
+ "$ref": "#/definitions/displayOptions"
44
+ },
45
+ "import": {
46
+ "items": {
47
+ "$ref": "#/definitions/import"
48
+ },
49
+ "type": "array"
50
+ },
51
+ "special": {
52
+ "items": {
53
+ "$ref": "#/definitions/special"
54
+ },
55
+ "type": "array"
56
+ }
57
+ },
58
+ "type": "object"
59
+ },
60
+ "flick": {
61
+ "additionalProperties": false,
62
+ "properties": {
63
+ "directions": {
64
+ "type": "string"
65
+ },
66
+ "to": {
67
+ "type": "string"
68
+ }
69
+ },
70
+ "required": [
71
+ "directions",
72
+ "to"
73
+ ],
74
+ "type": "object"
75
+ },
76
+ "flicks": {
77
+ "additionalProperties": false,
78
+ "properties": {
79
+ "flick": {
80
+ "items": {
81
+ "$ref": "#/definitions/flick"
82
+ },
83
+ "minItems": 1,
84
+ "type": "array"
85
+ },
86
+ "id": {
87
+ "type": "string"
88
+ },
89
+ "special": {
90
+ "items": {
91
+ "$ref": "#/definitions/special"
92
+ },
93
+ "type": "array"
94
+ }
95
+ },
96
+ "required": [
97
+ "flick",
98
+ "id"
99
+ ],
100
+ "type": "object"
101
+ },
102
+ "import": {
103
+ "additionalProperties": false,
104
+ "properties": {
105
+ "base": {
106
+ "enum": [
107
+ "cldr"
108
+ ],
109
+ "type": "string"
110
+ },
111
+ "path": {
112
+ "type": "string"
113
+ }
114
+ },
115
+ "required": [
116
+ "path"
117
+ ],
118
+ "type": "object"
119
+ },
120
+ "info": {
121
+ "additionalProperties": false,
122
+ "properties": {
123
+ "author": {
124
+ "type": "string"
125
+ },
126
+ "indicator": {
127
+ "type": "string"
128
+ },
129
+ "layout": {
130
+ "type": "string"
131
+ },
132
+ "normalization": {
133
+ "type": "string"
134
+ }
135
+ },
136
+ "type": "object"
137
+ },
138
+ "key": {
139
+ "additionalProperties": false,
140
+ "properties": {
141
+ "flicks": {
142
+ "type": "string"
143
+ },
144
+ "gap": {
145
+ "enum": [
146
+ "true"
147
+ ],
148
+ "type": "string"
149
+ },
150
+ "id": {
151
+ "type": "string"
152
+ },
153
+ "longPress": {
154
+ "type": "string"
155
+ },
156
+ "longPressDefault": {
157
+ "type": "string"
158
+ },
159
+ "multiTap": {
160
+ "type": "string"
161
+ },
162
+ "stretch": {
163
+ "enum": [
164
+ "true"
165
+ ],
166
+ "type": "string"
167
+ },
168
+ "switch": {
169
+ "type": "string"
170
+ },
171
+ "to": {
172
+ "type": "string"
173
+ },
174
+ "transform": {
175
+ "enum": [
176
+ "no"
177
+ ],
178
+ "type": "string"
179
+ },
180
+ "width": {
181
+ "type": "string"
182
+ }
183
+ },
184
+ "required": [
185
+ "id"
186
+ ],
187
+ "type": "object"
188
+ },
189
+ "keys": {
190
+ "additionalProperties": false,
191
+ "properties": {
192
+ "flicks": {
193
+ "items": {
194
+ "$ref": "#/definitions/flicks"
195
+ },
196
+ "type": "array"
197
+ },
198
+ "import": {
199
+ "items": {
200
+ "$ref": "#/definitions/import"
201
+ },
202
+ "type": "array"
203
+ },
204
+ "key": {
205
+ "items": {
206
+ "$ref": "#/definitions/key"
207
+ },
208
+ "type": "array"
209
+ },
210
+ "special": {
211
+ "items": {
212
+ "$ref": "#/definitions/special"
213
+ },
214
+ "type": "array"
215
+ }
216
+ },
217
+ "type": "object"
218
+ },
219
+ "layer": {
220
+ "additionalProperties": false,
221
+ "properties": {
222
+ "id": {
223
+ "type": "string"
224
+ },
225
+ "modifier": {
226
+ "type": "string"
227
+ },
228
+ "row": {
229
+ "items": {
230
+ "$ref": "#/definitions/row"
231
+ },
232
+ "minItems": 1,
233
+ "type": "array"
234
+ },
235
+ "special": {
236
+ "items": {
237
+ "$ref": "#/definitions/special"
238
+ },
239
+ "type": "array"
240
+ }
241
+ },
242
+ "required": [
243
+ "row"
244
+ ],
245
+ "type": "object"
246
+ },
247
+ "layers": {
248
+ "additionalProperties": false,
249
+ "properties": {
250
+ "form": {
251
+ "enum": [
252
+ "touch",
253
+ "us",
254
+ "iso",
255
+ "jis",
256
+ "abnt2"
257
+ ],
258
+ "type": "string"
259
+ },
260
+ "import": {
261
+ "items": {
262
+ "$ref": "#/definitions/import"
263
+ },
264
+ "type": "array"
265
+ },
266
+ "layer": {
267
+ "items": {
268
+ "$ref": "#/definitions/layer"
269
+ },
270
+ "type": "array"
271
+ },
272
+ "minDeviceWidth": {
273
+ "type": "string"
274
+ },
275
+ "special": {
276
+ "items": {
277
+ "$ref": "#/definitions/special"
278
+ },
279
+ "type": "array"
280
+ }
281
+ },
282
+ "required": [
283
+ "form"
284
+ ],
285
+ "type": "object"
286
+ },
287
+ "locale": {
288
+ "additionalProperties": false,
289
+ "properties": {
290
+ "id": {
291
+ "type": "string"
292
+ }
293
+ },
294
+ "required": [
295
+ "id"
296
+ ],
297
+ "type": "object"
298
+ },
299
+ "locales": {
300
+ "additionalProperties": false,
301
+ "properties": {
302
+ "locale": {
303
+ "items": {
304
+ "$ref": "#/definitions/locale"
305
+ },
306
+ "type": "array"
307
+ }
308
+ },
309
+ "type": "object"
310
+ },
311
+ "name": {
312
+ "additionalProperties": false,
313
+ "properties": {
314
+ "value": {
315
+ "type": "string"
316
+ }
317
+ },
318
+ "required": [
319
+ "value"
320
+ ],
321
+ "type": "object"
322
+ },
323
+ "names": {
324
+ "additionalProperties": false,
325
+ "properties": {
326
+ "import": {
327
+ "items": {
328
+ "$ref": "#/definitions/import"
329
+ },
330
+ "type": "array"
331
+ },
332
+ "name": {
333
+ "items": {
334
+ "$ref": "#/definitions/name"
335
+ },
336
+ "minItems": 1,
337
+ "type": "array"
338
+ },
339
+ "special": {
340
+ "items": {
341
+ "$ref": "#/definitions/special"
342
+ },
343
+ "type": "array"
344
+ }
345
+ },
346
+ "required": [
347
+ "name"
348
+ ],
349
+ "type": "object"
350
+ },
351
+ "reorder": {
352
+ "additionalProperties": false,
353
+ "properties": {
354
+ "before": {
355
+ "type": "string"
356
+ },
357
+ "from": {
358
+ "type": "string"
359
+ },
360
+ "order": {
361
+ "type": "string"
362
+ },
363
+ "preBase": {
364
+ "type": "string"
365
+ },
366
+ "tertiary": {
367
+ "type": "string"
368
+ },
369
+ "tertiaryBase": {
370
+ "type": "string"
371
+ }
372
+ },
373
+ "required": [
374
+ "from"
375
+ ],
376
+ "type": "object"
377
+ },
378
+ "reorders": {
379
+ "additionalProperties": false,
380
+ "properties": {
381
+ "import": {
382
+ "items": {
383
+ "$ref": "#/definitions/import"
384
+ },
385
+ "type": "array"
386
+ },
387
+ "reorder": {
388
+ "items": {
389
+ "$ref": "#/definitions/reorder"
390
+ },
391
+ "type": "array"
392
+ },
393
+ "special": {
394
+ "items": {
395
+ "$ref": "#/definitions/special"
396
+ },
397
+ "type": "array"
398
+ }
399
+ },
400
+ "type": "object"
401
+ },
402
+ "row": {
403
+ "additionalProperties": false,
404
+ "properties": {
405
+ "keys": {
406
+ "type": "string"
407
+ }
408
+ },
409
+ "required": [
410
+ "keys"
411
+ ],
412
+ "type": "object"
413
+ },
414
+ "settings": {
415
+ "additionalProperties": false,
416
+ "properties": {
417
+ "fallback": {
418
+ "enum": [
419
+ "omit"
420
+ ],
421
+ "type": "string"
422
+ },
423
+ "transformFailure": {
424
+ "enum": [
425
+ "omit"
426
+ ],
427
+ "type": "string"
428
+ },
429
+ "transformPartial": {
430
+ "enum": [
431
+ "hide"
432
+ ],
433
+ "type": "string"
434
+ }
435
+ },
436
+ "type": "object"
437
+ },
438
+ "special": {
439
+ "$ref": "#/definitions/any"
440
+ },
441
+ "transform": {
442
+ "additionalProperties": false,
443
+ "properties": {
444
+ "before": {
445
+ "type": "string"
446
+ },
447
+ "error": {
448
+ "enum": [
449
+ "fail"
450
+ ],
451
+ "type": "string"
452
+ },
453
+ "from": {
454
+ "type": "string"
455
+ },
456
+ "to": {
457
+ "type": "string"
458
+ }
459
+ },
460
+ "required": [
461
+ "from"
462
+ ],
463
+ "type": "object"
464
+ },
465
+ "transforms": {
466
+ "additionalProperties": false,
467
+ "properties": {
468
+ "import": {
469
+ "items": {
470
+ "$ref": "#/definitions/import"
471
+ },
472
+ "type": "array"
473
+ },
474
+ "special": {
475
+ "items": {
476
+ "$ref": "#/definitions/special"
477
+ },
478
+ "type": "array"
479
+ },
480
+ "transform": {
481
+ "items": {
482
+ "$ref": "#/definitions/transform"
483
+ },
484
+ "type": "array"
485
+ },
486
+ "type": {
487
+ "enum": [
488
+ "simple",
489
+ "final",
490
+ "backspace"
491
+ ],
492
+ "type": "string"
493
+ }
494
+ },
495
+ "required": [
496
+ "type"
497
+ ],
498
+ "type": "object"
499
+ },
500
+ "version": {
501
+ "additionalProperties": false,
502
+ "properties": {
503
+ "cldrVersion": {
504
+ "enum": [
505
+ "techpreview"
506
+ ],
507
+ "type": "string"
508
+ },
509
+ "number": {
510
+ "type": "string"
511
+ }
512
+ },
513
+ "type": "object"
514
+ },
515
+ "vkey": {
516
+ "additionalProperties": false,
517
+ "properties": {
518
+ "from": {
519
+ "type": "string"
520
+ },
521
+ "to": {
522
+ "type": "string"
523
+ }
524
+ },
525
+ "required": [
526
+ "from",
527
+ "to"
528
+ ],
529
+ "type": "object"
530
+ },
531
+ "vkeys": {
532
+ "additionalProperties": false,
533
+ "properties": {
534
+ "import": {
535
+ "items": {
536
+ "$ref": "#/definitions/import"
537
+ },
538
+ "type": "array"
539
+ },
540
+ "special": {
541
+ "items": {
542
+ "$ref": "#/definitions/special"
543
+ },
544
+ "type": "array"
545
+ },
546
+ "vkey": {
547
+ "items": {
548
+ "$ref": "#/definitions/vkey"
549
+ },
550
+ "type": "array"
551
+ }
552
+ },
553
+ "type": "object"
554
+ }
555
+ },
556
+ "properties": {
557
+ "keyboard": {
558
+ "additionalProperties": false,
559
+ "properties": {
560
+ "conformsTo": {
561
+ "enum": [
562
+ "techpreview"
563
+ ],
564
+ "type": "string"
565
+ },
566
+ "displays": {
567
+ "$ref": "#/definitions/displays"
568
+ },
569
+ "import": {
570
+ "items": {
571
+ "$ref": "#/definitions/import"
572
+ },
573
+ "type": "array"
574
+ },
575
+ "info": {
576
+ "$ref": "#/definitions/info"
577
+ },
578
+ "keys": {
579
+ "$ref": "#/definitions/keys"
580
+ },
581
+ "layers": {
582
+ "items": {
583
+ "$ref": "#/definitions/layers"
584
+ },
585
+ "type": "array"
586
+ },
587
+ "locale": {
588
+ "type": "string"
589
+ },
590
+ "locales": {
591
+ "$ref": "#/definitions/locales"
592
+ },
593
+ "names": {
594
+ "$ref": "#/definitions/names"
595
+ },
596
+ "reorders": {
597
+ "$ref": "#/definitions/reorders"
598
+ },
599
+ "settings": {
600
+ "$ref": "#/definitions/settings"
601
+ },
602
+ "special": {
603
+ "items": {
604
+ "$ref": "#/definitions/special"
605
+ },
606
+ "type": "array"
607
+ },
608
+ "transforms": {
609
+ "items": {
610
+ "$ref": "#/definitions/transforms"
611
+ },
612
+ "type": "array"
613
+ },
614
+ "version": {
615
+ "$ref": "#/definitions/version"
616
+ },
617
+ "vkeys": {
618
+ "$ref": "#/definitions/vkeys"
619
+ }
620
+ },
621
+ "required": [
622
+ "names",
623
+ "locale",
624
+ "conformsTo"
625
+ ],
626
+ "type": "object"
627
+ }
628
+ },
629
+ "required": [
630
+ "keyboard"
631
+ ],
632
+ "title": "techpreview/dtd/ldmlKeyboard.xsd",
633
+ "type": "object"
634
+ }