@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,1950 @@
1
+ {
2
+ "tablet": {
3
+ "displayUnderlying": false,
4
+ "layer": [
5
+ {
6
+ "id": "default",
7
+ "row": [
8
+ {
9
+ "id": 1,
10
+ "key": [
11
+ {
12
+ "id": "K_1",
13
+ "text": "១"
14
+ },
15
+ {
16
+ "id": "K_2",
17
+ "text": "២"
18
+ },
19
+ {
20
+ "id": "K_3",
21
+ "text": "៣"
22
+ },
23
+ {
24
+ "id": "K_4",
25
+ "text": "៤"
26
+ },
27
+ {
28
+ "id": "K_5",
29
+ "text": "៥"
30
+ },
31
+ {
32
+ "id": "K_6",
33
+ "text": "៦"
34
+ },
35
+ {
36
+ "id": "K_7",
37
+ "text": "៧"
38
+ },
39
+ {
40
+ "id": "K_8",
41
+ "text": "៨"
42
+ },
43
+ {
44
+ "id": "K_9",
45
+ "text": "៩"
46
+ },
47
+ {
48
+ "id": "K_0",
49
+ "text": "០"
50
+ },
51
+ {
52
+ "id": "K_HYPHEN",
53
+ "text": "ឥ"
54
+ },
55
+ {
56
+ "id": "K_EQUAL",
57
+ "text": "ឲ"
58
+ },
59
+ {
60
+ "id": "K_BKSP",
61
+ "text": "*BkSp*",
62
+ "width": "100",
63
+ "sp": "1"
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ "id": 2,
69
+ "key": [
70
+ {
71
+ "id": "K_Q",
72
+ "text": "ឆ",
73
+ "pad": "75"
74
+ },
75
+ {
76
+ "id": "K_W",
77
+ "text": ""
78
+ },
79
+ {
80
+ "id": "K_E",
81
+ "text": ""
82
+ },
83
+ {
84
+ "id": "K_R",
85
+ "text": "រ"
86
+ },
87
+ {
88
+ "id": "K_T",
89
+ "text": "ត"
90
+ },
91
+ {
92
+ "id": "K_Y",
93
+ "text": "យ"
94
+ },
95
+ {
96
+ "id": "K_U",
97
+ "text": ""
98
+ },
99
+ {
100
+ "id": "K_I",
101
+ "text": ""
102
+ },
103
+ {
104
+ "id": "K_O",
105
+ "text": ""
106
+ },
107
+ {
108
+ "id": "K_P",
109
+ "text": "ផ"
110
+ },
111
+ {
112
+ "id": "K_LBRKT",
113
+ "text": ""
114
+ },
115
+ {
116
+ "id": "K_RBRKT",
117
+ "text": "ឪ"
118
+ },
119
+ {
120
+ "id": "T_new_138",
121
+ "text": "",
122
+ "width": "10",
123
+ "sp": "10"
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "id": 3,
129
+ "key": [
130
+ {
131
+ "id": "K_BKQUOTE",
132
+ "text": "«"
133
+ },
134
+ {
135
+ "id": "K_A",
136
+ "text": ""
137
+ },
138
+ {
139
+ "id": "K_S",
140
+ "text": "ស"
141
+ },
142
+ {
143
+ "id": "K_D",
144
+ "text": "ដ"
145
+ },
146
+ {
147
+ "id": "K_F",
148
+ "text": "ថ"
149
+ },
150
+ {
151
+ "id": "K_G",
152
+ "text": "ង"
153
+ },
154
+ {
155
+ "id": "K_H",
156
+ "text": "ហ"
157
+ },
158
+ {
159
+ "id": "K_J",
160
+ "text": ""
161
+ },
162
+ {
163
+ "id": "K_K",
164
+ "text": "ក"
165
+ },
166
+ {
167
+ "id": "K_L",
168
+ "text": "ល"
169
+ },
170
+ {
171
+ "id": "K_COLON",
172
+ "text": ""
173
+ },
174
+ {
175
+ "id": "K_QUOTE",
176
+ "text": ""
177
+ },
178
+ {
179
+ "id": "K_BKSLASH",
180
+ "text": "ឮ"
181
+ }
182
+ ]
183
+ },
184
+ {
185
+ "id": 4,
186
+ "key": [
187
+ {
188
+ "id": "K_SHIFT",
189
+ "text": "*Shift*",
190
+ "width": "160",
191
+ "sp": "1",
192
+ "nextlayer": "shift"
193
+ },
194
+ {
195
+ "id": "K_oE2",
196
+ "text": ""
197
+ },
198
+ {
199
+ "id": "K_Z",
200
+ "text": "ឋ"
201
+ },
202
+ {
203
+ "id": "K_X",
204
+ "text": "ខ"
205
+ },
206
+ {
207
+ "id": "K_C",
208
+ "text": "ច"
209
+ },
210
+ {
211
+ "id": "K_V",
212
+ "text": "វ"
213
+ },
214
+ {
215
+ "id": "K_B",
216
+ "text": "ប"
217
+ },
218
+ {
219
+ "id": "K_N",
220
+ "text": "ន"
221
+ },
222
+ {
223
+ "id": "K_M",
224
+ "text": "ម"
225
+ },
226
+ {
227
+ "id": "K_COMMA",
228
+ "text": ""
229
+ },
230
+ {
231
+ "id": "K_PERIOD",
232
+ "text": "។"
233
+ },
234
+ {
235
+ "id": "K_SLASH",
236
+ "text": ""
237
+ },
238
+ {
239
+ "id": "T_new_164",
240
+ "text": "",
241
+ "width": "10",
242
+ "sp": "10"
243
+ }
244
+ ]
245
+ },
246
+ {
247
+ "id": 5,
248
+ "key": [
249
+ {
250
+ "id": "K_LCONTROL",
251
+ "text": "*AltGr*",
252
+ "width": "160",
253
+ "sp": "1",
254
+ "nextlayer": "rightalt"
255
+ },
256
+ {
257
+ "id": "K_LOPT",
258
+ "text": "*Menu*",
259
+ "width": "160",
260
+ "sp": "1"
261
+ },
262
+ {
263
+ "id": "K_SPACE",
264
+ "text": "​",
265
+ "width": "930"
266
+ },
267
+ {
268
+ "id": "K_ENTER",
269
+ "text": "*Enter*",
270
+ "width": "160",
271
+ "sp": "1"
272
+ }
273
+ ]
274
+ }
275
+ ]
276
+ },
277
+ {
278
+ "id": "rightalt",
279
+ "row": [
280
+ {
281
+ "id": 1,
282
+ "key": [
283
+ {
284
+ "id": "K_1",
285
+ "text": "‌"
286
+ },
287
+ {
288
+ "id": "K_2",
289
+ "text": "@"
290
+ },
291
+ {
292
+ "id": "K_3",
293
+ "text": ""
294
+ },
295
+ {
296
+ "id": "K_4",
297
+ "text": "$"
298
+ },
299
+ {
300
+ "id": "K_5",
301
+ "text": "€"
302
+ },
303
+ {
304
+ "id": "K_6",
305
+ "text": "៙"
306
+ },
307
+ {
308
+ "id": "K_7",
309
+ "text": "៚"
310
+ },
311
+ {
312
+ "id": "K_8",
313
+ "text": "*"
314
+ },
315
+ {
316
+ "id": "K_9",
317
+ "text": "{"
318
+ },
319
+ {
320
+ "id": "K_0",
321
+ "text": "}"
322
+ },
323
+ {
324
+ "id": "K_HYPHEN",
325
+ "text": "≈"
326
+ },
327
+ {
328
+ "id": "K_EQUAL",
329
+ "text": ""
330
+ },
331
+ {
332
+ "id": "K_BKSP",
333
+ "text": "*BkSp*",
334
+ "width": "100",
335
+ "sp": "1"
336
+ }
337
+ ]
338
+ },
339
+ {
340
+ "id": 2,
341
+ "key": [
342
+ {
343
+ "id": "K_Q",
344
+ "text": "ៜ",
345
+ "pad": "75"
346
+ },
347
+ {
348
+ "id": "K_W",
349
+ "text": ""
350
+ },
351
+ {
352
+ "id": "K_E",
353
+ "text": "ឯ"
354
+ },
355
+ {
356
+ "id": "K_R",
357
+ "text": "ឫ"
358
+ },
359
+ {
360
+ "id": "K_T",
361
+ "text": "ឨ"
362
+ },
363
+ {
364
+ "id": "K_Y",
365
+ "text": "["
366
+ },
367
+ {
368
+ "id": "K_U",
369
+ "text": "]"
370
+ },
371
+ {
372
+ "id": "K_I",
373
+ "text": "ឦ"
374
+ },
375
+ {
376
+ "id": "K_O",
377
+ "text": "ឱ"
378
+ },
379
+ {
380
+ "id": "K_P",
381
+ "text": "ឰ"
382
+ },
383
+ {
384
+ "id": "K_LBRKT",
385
+ "text": "ឩ"
386
+ },
387
+ {
388
+ "id": "K_RBRKT",
389
+ "text": "ឳ"
390
+ },
391
+ {
392
+ "id": "T_new_307",
393
+ "text": "",
394
+ "width": "10",
395
+ "sp": "10"
396
+ }
397
+ ]
398
+ },
399
+ {
400
+ "id": 3,
401
+ "key": [
402
+ {
403
+ "id": "K_BKQUOTE",
404
+ "text": "‍"
405
+ },
406
+ {
407
+ "id": "K_A",
408
+ "text": "+"
409
+ },
410
+ {
411
+ "id": "K_S",
412
+ "text": "-"
413
+ },
414
+ {
415
+ "id": "K_D",
416
+ "text": "×"
417
+ },
418
+ {
419
+ "id": "K_F",
420
+ "text": "÷"
421
+ },
422
+ {
423
+ "id": "K_G",
424
+ "text": ":"
425
+ },
426
+ {
427
+ "id": "K_H",
428
+ "text": "‘"
429
+ },
430
+ {
431
+ "id": "K_J",
432
+ "text": "’"
433
+ },
434
+ {
435
+ "id": "K_K",
436
+ "text": "ឝ"
437
+ },
438
+ {
439
+ "id": "K_L",
440
+ "text": "៘"
441
+ },
442
+ {
443
+ "id": "K_COLON",
444
+ "text": "៖"
445
+ },
446
+ {
447
+ "id": "K_QUOTE",
448
+ "text": "ៈ"
449
+ },
450
+ {
451
+ "id": "K_BKSLASH",
452
+ "text": "\\"
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ "id": 4,
458
+ "key": [
459
+ {
460
+ "id": "K_SHIFT",
461
+ "text": "*Shift*",
462
+ "width": "160",
463
+ "sp": "1",
464
+ "nextlayer": "shift"
465
+ },
466
+ {
467
+ "id": "K_oE2",
468
+ "text": ""
469
+ },
470
+ {
471
+ "id": "K_Z",
472
+ "text": "<"
473
+ },
474
+ {
475
+ "id": "K_X",
476
+ "text": ">"
477
+ },
478
+ {
479
+ "id": "K_C",
480
+ "text": "#"
481
+ },
482
+ {
483
+ "id": "K_V",
484
+ "text": "&"
485
+ },
486
+ {
487
+ "id": "K_B",
488
+ "text": "ឞ"
489
+ },
490
+ {
491
+ "id": "K_N",
492
+ "text": ";"
493
+ },
494
+ {
495
+ "id": "K_M",
496
+ "text": ""
497
+ },
498
+ {
499
+ "id": "K_COMMA",
500
+ "text": ","
501
+ },
502
+ {
503
+ "id": "K_PERIOD",
504
+ "text": "."
505
+ },
506
+ {
507
+ "id": "K_SLASH",
508
+ "text": "/"
509
+ },
510
+ {
511
+ "id": "T_new_333",
512
+ "text": "",
513
+ "width": "10",
514
+ "sp": "10"
515
+ }
516
+ ]
517
+ },
518
+ {
519
+ "id": 5,
520
+ "key": [
521
+ {
522
+ "id": "K_LCONTROL",
523
+ "text": "*AltGr*",
524
+ "width": "160",
525
+ "sp": "2",
526
+ "nextlayer": "default"
527
+ },
528
+ {
529
+ "id": "K_LOPT",
530
+ "text": "*Menu*",
531
+ "width": "160",
532
+ "sp": "1"
533
+ },
534
+ {
535
+ "id": "K_SPACE",
536
+ "text": " ",
537
+ "width": "930"
538
+ },
539
+ {
540
+ "id": "K_ENTER",
541
+ "text": "*Enter*",
542
+ "width": "160",
543
+ "sp": "1"
544
+ }
545
+ ]
546
+ }
547
+ ]
548
+ },
549
+ {
550
+ "id": "shift",
551
+ "row": [
552
+ {
553
+ "id": 1,
554
+ "key": [
555
+ {
556
+ "id": "K_1",
557
+ "text": "!"
558
+ },
559
+ {
560
+ "id": "K_2",
561
+ "text": "ៗ"
562
+ },
563
+ {
564
+ "id": "K_3",
565
+ "text": "\""
566
+ },
567
+ {
568
+ "id": "K_4",
569
+ "text": "៛"
570
+ },
571
+ {
572
+ "id": "K_5",
573
+ "text": "%"
574
+ },
575
+ {
576
+ "id": "K_6",
577
+ "text": ""
578
+ },
579
+ {
580
+ "id": "K_7",
581
+ "text": ""
582
+ },
583
+ {
584
+ "id": "K_8",
585
+ "text": ""
586
+ },
587
+ {
588
+ "id": "K_9",
589
+ "text": "("
590
+ },
591
+ {
592
+ "id": "K_0",
593
+ "text": ")"
594
+ },
595
+ {
596
+ "id": "K_HYPHEN",
597
+ "text": ""
598
+ },
599
+ {
600
+ "id": "K_EQUAL",
601
+ "text": "="
602
+ },
603
+ {
604
+ "id": "K_BKSP",
605
+ "text": "*BkSp*",
606
+ "width": "100",
607
+ "sp": "1"
608
+ }
609
+ ]
610
+ },
611
+ {
612
+ "id": 2,
613
+ "key": [
614
+ {
615
+ "id": "K_Q",
616
+ "text": "ឈ",
617
+ "pad": "75"
618
+ },
619
+ {
620
+ "id": "K_W",
621
+ "text": ""
622
+ },
623
+ {
624
+ "id": "K_E",
625
+ "text": ""
626
+ },
627
+ {
628
+ "id": "K_R",
629
+ "text": "ឬ"
630
+ },
631
+ {
632
+ "id": "K_T",
633
+ "text": "ទ"
634
+ },
635
+ {
636
+ "id": "K_Y",
637
+ "text": ""
638
+ },
639
+ {
640
+ "id": "K_U",
641
+ "text": ""
642
+ },
643
+ {
644
+ "id": "K_I",
645
+ "text": ""
646
+ },
647
+ {
648
+ "id": "K_O",
649
+ "text": ""
650
+ },
651
+ {
652
+ "id": "K_P",
653
+ "text": "ភ"
654
+ },
655
+ {
656
+ "id": "K_LBRKT",
657
+ "text": ""
658
+ },
659
+ {
660
+ "id": "K_RBRKT",
661
+ "text": "ឧ"
662
+ },
663
+ {
664
+ "id": "T_new_364",
665
+ "text": "",
666
+ "width": "10",
667
+ "sp": "10"
668
+ }
669
+ ]
670
+ },
671
+ {
672
+ "id": 3,
673
+ "key": [
674
+ {
675
+ "id": "K_BKQUOTE",
676
+ "text": "»"
677
+ },
678
+ {
679
+ "id": "K_A",
680
+ "text": ""
681
+ },
682
+ {
683
+ "id": "K_S",
684
+ "text": ""
685
+ },
686
+ {
687
+ "id": "K_D",
688
+ "text": "ឌ"
689
+ },
690
+ {
691
+ "id": "K_F",
692
+ "text": "ធ"
693
+ },
694
+ {
695
+ "id": "K_G",
696
+ "text": "អ"
697
+ },
698
+ {
699
+ "id": "K_H",
700
+ "text": "ះ"
701
+ },
702
+ {
703
+ "id": "K_J",
704
+ "text": "ញ"
705
+ },
706
+ {
707
+ "id": "K_K",
708
+ "text": "គ"
709
+ },
710
+ {
711
+ "id": "K_L",
712
+ "text": "ឡ"
713
+ },
714
+ {
715
+ "id": "K_COLON",
716
+ "text": ""
717
+ },
718
+ {
719
+ "id": "K_QUOTE",
720
+ "text": ""
721
+ },
722
+ {
723
+ "id": "K_BKSLASH",
724
+ "text": "ឭ"
725
+ }
726
+ ]
727
+ },
728
+ {
729
+ "id": 4,
730
+ "key": [
731
+ {
732
+ "id": "K_SHIFT",
733
+ "text": "*Shift*",
734
+ "width": "160",
735
+ "sp": "2",
736
+ "nextlayer": "default"
737
+ },
738
+ {
739
+ "id": "K_oE2",
740
+ "text": ""
741
+ },
742
+ {
743
+ "id": "K_Z",
744
+ "text": "ឍ"
745
+ },
746
+ {
747
+ "id": "K_X",
748
+ "text": "ឃ"
749
+ },
750
+ {
751
+ "id": "K_C",
752
+ "text": "ជ"
753
+ },
754
+ {
755
+ "id": "K_V",
756
+ "text": ""
757
+ },
758
+ {
759
+ "id": "K_B",
760
+ "text": "ព"
761
+ },
762
+ {
763
+ "id": "K_N",
764
+ "text": "ណ"
765
+ },
766
+ {
767
+ "id": "K_M",
768
+ "text": ""
769
+ },
770
+ {
771
+ "id": "K_COMMA",
772
+ "text": ""
773
+ },
774
+ {
775
+ "id": "K_PERIOD",
776
+ "text": "៕"
777
+ },
778
+ {
779
+ "id": "K_SLASH",
780
+ "text": "?"
781
+ },
782
+ {
783
+ "id": "T_new_390",
784
+ "text": "",
785
+ "width": "10",
786
+ "sp": "10"
787
+ }
788
+ ]
789
+ },
790
+ {
791
+ "id": 5,
792
+ "key": [
793
+ {
794
+ "id": "K_LCONTROL",
795
+ "text": "*AltGr*",
796
+ "width": "160",
797
+ "sp": "1",
798
+ "nextlayer": "rightalt"
799
+ },
800
+ {
801
+ "id": "K_LOPT",
802
+ "text": "*Menu*",
803
+ "width": "160",
804
+ "sp": "1"
805
+ },
806
+ {
807
+ "id": "K_SPACE",
808
+ "text": "",
809
+ "width": "930"
810
+ },
811
+ {
812
+ "id": "K_ENTER",
813
+ "text": "*Enter*",
814
+ "width": "160",
815
+ "sp": "1"
816
+ }
817
+ ]
818
+ }
819
+ ]
820
+ }
821
+ ],
822
+ "font": "Khmer Busra Kbd",
823
+ "fontsize": "0.8em"
824
+ },
825
+ "phone": {
826
+ "layer": [
827
+ {
828
+ "id": "default",
829
+ "row": [
830
+ {
831
+ "id": 1,
832
+ "key": [
833
+ {
834
+ "id": "K_Q",
835
+ "text": "ឆ",
836
+ "pad": "",
837
+ "sk": [
838
+ {
839
+ "text": "ឈ",
840
+ "id": "K_Q",
841
+ "layer": "shift"
842
+ },
843
+ {
844
+ "text": "",
845
+ "id": "T_17D2_1786"
846
+ },
847
+ {
848
+ "text": "",
849
+ "id": "T_17D2_1788"
850
+ }
851
+ ]
852
+ },
853
+ {
854
+ "id": "K_W",
855
+ "text": "",
856
+ "sk": [
857
+ {
858
+ "text": "",
859
+ "id": "K_W",
860
+ "layer": "shift"
861
+ }
862
+ ]
863
+ },
864
+ {
865
+ "id": "K_E",
866
+ "text": "",
867
+ "sk": [
868
+ {
869
+ "text": "",
870
+ "id": "K_E",
871
+ "layer": "shift"
872
+ },
873
+ {
874
+ "text": "",
875
+ "id": "K_S",
876
+ "layer": "shift"
877
+ },
878
+ {
879
+ "text": "",
880
+ "id": "K_V",
881
+ "layer": "shift"
882
+ },
883
+ {
884
+ "text": "ឯ",
885
+ "id": "U_17AF"
886
+ },
887
+ {
888
+ "text": "ឰ",
889
+ "id": "U_17B0"
890
+ }
891
+ ]
892
+ },
893
+ {
894
+ "id": "K_R",
895
+ "text": "រ",
896
+ "sk": [
897
+ {
898
+ "text": "",
899
+ "id": "T_17D2_179A"
900
+ },
901
+ {
902
+ "text": "ឫ",
903
+ "id": "U_17AB"
904
+ },
905
+ {
906
+ "text": "ឬ",
907
+ "id": "U_17AC"
908
+ }
909
+ ]
910
+ },
911
+ {
912
+ "id": "K_T",
913
+ "text": "ត",
914
+ "sk": [
915
+ {
916
+ "text": "ទ",
917
+ "id": "K_T",
918
+ "layer": "shift"
919
+ },
920
+ {
921
+ "text": "",
922
+ "id": "T_17D2_178F"
923
+ },
924
+ {
925
+ "text": "",
926
+ "id": "T_17D2_1791",
927
+ "layer": "default"
928
+ }
929
+ ]
930
+ },
931
+ {
932
+ "id": "K_Y",
933
+ "text": "យ",
934
+ "sk": [
935
+ {
936
+ "text": "",
937
+ "id": "T_17D2_1799"
938
+ }
939
+ ]
940
+ },
941
+ {
942
+ "id": "K_U",
943
+ "text": "",
944
+ "sk": [
945
+ {
946
+ "text": "",
947
+ "id": "K_U",
948
+ "layer": "shift"
949
+ },
950
+ {
951
+ "text": "",
952
+ "id": "K_Y",
953
+ "layer": "shift"
954
+ },
955
+ {
956
+ "text": "ឧ",
957
+ "id": "U_17A7"
958
+ },
959
+ {
960
+ "text": "ឪ",
961
+ "id": "U_17AA",
962
+ "layer": "shift"
963
+ },
964
+ {
965
+ "text": "ឩ",
966
+ "id": "U_17A9",
967
+ "layer": "shift"
968
+ },
969
+ {
970
+ "text": "ឨ",
971
+ "id": "U_17A8"
972
+ }
973
+ ]
974
+ },
975
+ {
976
+ "id": "K_I",
977
+ "text": "",
978
+ "sk": [
979
+ {
980
+ "text": "",
981
+ "id": "K_I",
982
+ "layer": "shift"
983
+ },
984
+ {
985
+ "text": "ឥ",
986
+ "id": "U_17A5"
987
+ },
988
+ {
989
+ "text": "ឦ",
990
+ "id": "U_17A6",
991
+ "layer": "shift"
992
+ }
993
+ ]
994
+ },
995
+ {
996
+ "id": "K_O",
997
+ "text": "",
998
+ "sk": [
999
+ {
1000
+ "text": "",
1001
+ "id": "K_O",
1002
+ "layer": "shift"
1003
+ },
1004
+ {
1005
+ "text": "",
1006
+ "id": "K_LBRKT"
1007
+ },
1008
+ {
1009
+ "text": "",
1010
+ "id": "K_LBRKT",
1011
+ "layer": "shift"
1012
+ },
1013
+ {
1014
+ "text": "",
1015
+ "id": "K_COLON",
1016
+ "layer": "shift"
1017
+ },
1018
+ {
1019
+ "text": "ឱ",
1020
+ "id": "U_17B1"
1021
+ },
1022
+ {
1023
+ "text": "ឲ",
1024
+ "id": "U_17B2"
1025
+ },
1026
+ {
1027
+ "text": "ឳ",
1028
+ "id": "U_17B3",
1029
+ "layer": "shift"
1030
+ }
1031
+ ]
1032
+ },
1033
+ {
1034
+ "id": "K_P",
1035
+ "text": "ផ",
1036
+ "sk": [
1037
+ {
1038
+ "text": "ភ",
1039
+ "id": "K_P",
1040
+ "layer": "shift"
1041
+ },
1042
+ {
1043
+ "text": "",
1044
+ "id": "T_17D2_1795"
1045
+ },
1046
+ {
1047
+ "text": "",
1048
+ "id": "T_17D2_1797",
1049
+ "layer": "default"
1050
+ }
1051
+ ]
1052
+ }
1053
+ ]
1054
+ },
1055
+ {
1056
+ "id": 2,
1057
+ "key": [
1058
+ {
1059
+ "id": "K_A",
1060
+ "text": "",
1061
+ "pad": "",
1062
+ "width": "100",
1063
+ "sk": [
1064
+ {
1065
+ "text": "",
1066
+ "id": "K_A",
1067
+ "layer": "shift"
1068
+ }
1069
+ ]
1070
+ },
1071
+ {
1072
+ "id": "K_S",
1073
+ "text": "ស",
1074
+ "sk": [
1075
+ {
1076
+ "text": "",
1077
+ "id": "T_17D2_179F"
1078
+ },
1079
+ {
1080
+ "text": "ឝ",
1081
+ "id": "U_179D"
1082
+ },
1083
+ {
1084
+ "text": "ឞ",
1085
+ "id": "U_179E"
1086
+ }
1087
+ ]
1088
+ },
1089
+ {
1090
+ "id": "K_D",
1091
+ "text": "ដ",
1092
+ "sk": [
1093
+ {
1094
+ "text": "ឌ",
1095
+ "id": "K_D",
1096
+ "layer": "shift"
1097
+ },
1098
+ {
1099
+ "text": "",
1100
+ "id": "T_17D2_178A"
1101
+ },
1102
+ {
1103
+ "text": "",
1104
+ "id": "T_17D2_178C",
1105
+ "layer": "default"
1106
+ }
1107
+ ]
1108
+ },
1109
+ {
1110
+ "id": "K_F",
1111
+ "text": "ថ",
1112
+ "sk": [
1113
+ {
1114
+ "text": "ធ",
1115
+ "id": "K_F",
1116
+ "layer": "shift"
1117
+ },
1118
+ {
1119
+ "text": "",
1120
+ "id": "T_17D2_1790"
1121
+ },
1122
+ {
1123
+ "text": "",
1124
+ "id": "T_17D2_1792",
1125
+ "layer": "default"
1126
+ }
1127
+ ]
1128
+ },
1129
+ {
1130
+ "id": "K_G",
1131
+ "text": "ង",
1132
+ "sk": [
1133
+ {
1134
+ "text": "អ",
1135
+ "id": "K_G",
1136
+ "layer": "shift"
1137
+ },
1138
+ {
1139
+ "text": "",
1140
+ "id": "T_17D2_1784"
1141
+ },
1142
+ {
1143
+ "text": "",
1144
+ "id": "T_17D2_17A2",
1145
+ "layer": "default"
1146
+ }
1147
+ ]
1148
+ },
1149
+ {
1150
+ "id": "K_H",
1151
+ "text": "ហ",
1152
+ "sk": [
1153
+ {
1154
+ "text": "",
1155
+ "id": "T_17D2_17A0"
1156
+ },
1157
+ {
1158
+ "text": "ះ",
1159
+ "id": "K_H",
1160
+ "layer": "shift"
1161
+ },
1162
+ {
1163
+ "text": "ៈ",
1164
+ "id": "U_17C8"
1165
+ }
1166
+ ]
1167
+ },
1168
+ {
1169
+ "id": "K_J",
1170
+ "text": "ញ",
1171
+ "layer": "shift",
1172
+ "sk": [
1173
+ {
1174
+ "text": "",
1175
+ "id": "T_17D2_1789"
1176
+ }
1177
+ ]
1178
+ },
1179
+ {
1180
+ "id": "K_K",
1181
+ "text": "ក",
1182
+ "sk": [
1183
+ {
1184
+ "text": "គ",
1185
+ "id": "K_K",
1186
+ "layer": "shift"
1187
+ },
1188
+ {
1189
+ "text": "",
1190
+ "id": "T_17D2_1780"
1191
+ },
1192
+ {
1193
+ "text": "",
1194
+ "id": "T_17D2_1782"
1195
+ }
1196
+ ]
1197
+ },
1198
+ {
1199
+ "id": "K_L",
1200
+ "text": "ល",
1201
+ "sk": [
1202
+ {
1203
+ "text": "ឡ",
1204
+ "id": "K_L",
1205
+ "layer": "shift"
1206
+ },
1207
+ {
1208
+ "text": "",
1209
+ "id": "T_17D2_179B"
1210
+ },
1211
+ {
1212
+ "text": "ឭ",
1213
+ "id": "U_17AD"
1214
+ },
1215
+ {
1216
+ "text": "ឮ",
1217
+ "id": "U_17AE"
1218
+ }
1219
+ ]
1220
+ },
1221
+ {
1222
+ "id": "K_COLON",
1223
+ "text": ""
1224
+ }
1225
+ ]
1226
+ },
1227
+ {
1228
+ "id": 3,
1229
+ "key": [
1230
+ {
1231
+ "id": "K_Z",
1232
+ "text": "ឋ",
1233
+ "pad": "",
1234
+ "width": "",
1235
+ "sk": [
1236
+ {
1237
+ "text": "ឍ",
1238
+ "id": "K_Z",
1239
+ "layer": "shift"
1240
+ },
1241
+ {
1242
+ "text": "",
1243
+ "id": "T_17D2_178B"
1244
+ },
1245
+ {
1246
+ "text": "",
1247
+ "id": "T_17D2_178D",
1248
+ "layer": "default"
1249
+ }
1250
+ ]
1251
+ },
1252
+ {
1253
+ "id": "K_X",
1254
+ "text": "ខ",
1255
+ "sk": [
1256
+ {
1257
+ "text": "ឃ",
1258
+ "id": "K_X",
1259
+ "layer": "shift"
1260
+ },
1261
+ {
1262
+ "text": "",
1263
+ "id": "T_17D2_1781"
1264
+ },
1265
+ {
1266
+ "text": "",
1267
+ "id": "T_17D2_1783",
1268
+ "layer": "default"
1269
+ }
1270
+ ]
1271
+ },
1272
+ {
1273
+ "id": "K_C",
1274
+ "text": "ច",
1275
+ "sk": [
1276
+ {
1277
+ "text": "ជ",
1278
+ "id": "K_C",
1279
+ "layer": "shift"
1280
+ },
1281
+ {
1282
+ "text": "",
1283
+ "id": "T_17D2_1785"
1284
+ },
1285
+ {
1286
+ "text": "",
1287
+ "id": "T_17D2_1787",
1288
+ "layer": "default"
1289
+ }
1290
+ ]
1291
+ },
1292
+ {
1293
+ "id": "K_V",
1294
+ "text": "វ",
1295
+ "sk": [
1296
+ {
1297
+ "text": "",
1298
+ "id": "T_17D2_179C"
1299
+ }
1300
+ ]
1301
+ },
1302
+ {
1303
+ "id": "K_B",
1304
+ "text": "ប",
1305
+ "sk": [
1306
+ {
1307
+ "text": "ព",
1308
+ "id": "K_B",
1309
+ "layer": "shift"
1310
+ },
1311
+ {
1312
+ "text": "",
1313
+ "id": "T_17D2_1794"
1314
+ },
1315
+ {
1316
+ "text": "",
1317
+ "id": "T_17D2_1796",
1318
+ "layer": "default"
1319
+ }
1320
+ ]
1321
+ },
1322
+ {
1323
+ "id": "K_N",
1324
+ "text": "ន",
1325
+ "sk": [
1326
+ {
1327
+ "text": "ណ",
1328
+ "id": "K_N",
1329
+ "layer": "shift"
1330
+ },
1331
+ {
1332
+ "text": "",
1333
+ "id": "T_17D2_1793"
1334
+ },
1335
+ {
1336
+ "text": "",
1337
+ "id": "T_17D2_178E",
1338
+ "layer": "default"
1339
+ }
1340
+ ]
1341
+ },
1342
+ {
1343
+ "id": "K_M",
1344
+ "text": "ម",
1345
+ "sk": [
1346
+ {
1347
+ "text": "",
1348
+ "id": "T_17D2_1798"
1349
+ },
1350
+ {
1351
+ "text": "",
1352
+ "id": "K_M",
1353
+ "layer": "shift"
1354
+ }
1355
+ ]
1356
+ },
1357
+ {
1358
+ "id": "K_COMMA",
1359
+ "text": "",
1360
+ "sk": [
1361
+ {
1362
+ "text": "",
1363
+ "id": "K_COMMA",
1364
+ "layer": "shift"
1365
+ },
1366
+ {
1367
+ "text": "",
1368
+ "id": "K_6",
1369
+ "layer": "shift"
1370
+ },
1371
+ {
1372
+ "text": "",
1373
+ "id": "K_7",
1374
+ "layer": "shift"
1375
+ },
1376
+ {
1377
+ "text": "",
1378
+ "id": "K_8",
1379
+ "layer": "shift"
1380
+ },
1381
+ {
1382
+ "text": "",
1383
+ "id": "K_HYPHEN",
1384
+ "layer": "shift"
1385
+ },
1386
+ {
1387
+ "text": "",
1388
+ "id": "U_17D1",
1389
+ "layer": "shift"
1390
+ },
1391
+ {
1392
+ "text": "",
1393
+ "id": "U_17DD",
1394
+ "layer": "shift"
1395
+ },
1396
+ {
1397
+ "text": "",
1398
+ "id": "U_17CE",
1399
+ "layer": "shift"
1400
+ }
1401
+ ]
1402
+ },
1403
+ {
1404
+ "id": "K_QUOTE",
1405
+ "text": "",
1406
+ "width": "100",
1407
+ "sk": [
1408
+ {
1409
+ "text": "",
1410
+ "id": "K_QUOTE",
1411
+ "layer": "shift"
1412
+ },
1413
+ {
1414
+ "text": "",
1415
+ "id": "K_SLASH"
1416
+ }
1417
+ ]
1418
+ },
1419
+ {
1420
+ "id": "K_BKSP",
1421
+ "text": "*BkSp*",
1422
+ "width": "100",
1423
+ "sp": "1"
1424
+ }
1425
+ ]
1426
+ },
1427
+ {
1428
+ "id": 4,
1429
+ "key": [
1430
+ {
1431
+ "id": "K_NUMLOCK",
1432
+ "text": "១២៣",
1433
+ "width": "140",
1434
+ "sp": "1",
1435
+ "nextlayer": "numeric"
1436
+ },
1437
+ {
1438
+ "id": "K_LOPT",
1439
+ "text": "*Menu*",
1440
+ "width": "120",
1441
+ "sp": "1"
1442
+ },
1443
+ {
1444
+ "id": "K_SPACE",
1445
+ "text": "​",
1446
+ "width": "555",
1447
+ "sp": "0",
1448
+ "sk": [
1449
+ {
1450
+ "text": " ",
1451
+ "id": "U_0020",
1452
+ "layer": "default"
1453
+ }
1454
+ ]
1455
+ },
1456
+ {
1457
+ "id": "K_PERIOD",
1458
+ "text": "។",
1459
+ "width": "120",
1460
+ "sk": [
1461
+ {
1462
+ "text": "៕",
1463
+ "id": "K_PERIOD",
1464
+ "layer": "shift"
1465
+ },
1466
+ {
1467
+ "text": "!",
1468
+ "id": "U_0021"
1469
+ },
1470
+ {
1471
+ "text": "?",
1472
+ "id": "U_003F"
1473
+ }
1474
+ ]
1475
+ },
1476
+ {
1477
+ "id": "K_ENTER",
1478
+ "text": "*Enter*",
1479
+ "width": "140",
1480
+ "sp": "1"
1481
+ }
1482
+ ]
1483
+ }
1484
+ ]
1485
+ },
1486
+ {
1487
+ "id": "numeric",
1488
+ "row": [
1489
+ {
1490
+ "id": 1,
1491
+ "key": [
1492
+ {
1493
+ "id": "K_1",
1494
+ "text": "១",
1495
+ "pad": "",
1496
+ "sk": [
1497
+ {
1498
+ "text": "1",
1499
+ "id": "U_0031"
1500
+ }
1501
+ ]
1502
+ },
1503
+ {
1504
+ "id": "K_2",
1505
+ "text": "២",
1506
+ "sk": [
1507
+ {
1508
+ "text": "2",
1509
+ "id": "U_0032"
1510
+ }
1511
+ ]
1512
+ },
1513
+ {
1514
+ "id": "K_3",
1515
+ "text": "៣",
1516
+ "sk": [
1517
+ {
1518
+ "text": "3",
1519
+ "id": "U_0033"
1520
+ }
1521
+ ]
1522
+ },
1523
+ {
1524
+ "id": "K_4",
1525
+ "text": "៤",
1526
+ "sk": [
1527
+ {
1528
+ "text": "4",
1529
+ "id": "U_0034"
1530
+ }
1531
+ ]
1532
+ },
1533
+ {
1534
+ "id": "K_5",
1535
+ "text": "៥",
1536
+ "sk": [
1537
+ {
1538
+ "text": "5",
1539
+ "id": "U_0035"
1540
+ }
1541
+ ]
1542
+ },
1543
+ {
1544
+ "id": "K_6",
1545
+ "text": "៦",
1546
+ "sk": [
1547
+ {
1548
+ "text": "6",
1549
+ "id": "U_0036"
1550
+ }
1551
+ ]
1552
+ },
1553
+ {
1554
+ "id": "K_7",
1555
+ "text": "៧",
1556
+ "sk": [
1557
+ {
1558
+ "text": "7",
1559
+ "id": "U_0037"
1560
+ }
1561
+ ]
1562
+ },
1563
+ {
1564
+ "id": "K_8",
1565
+ "text": "៨",
1566
+ "sk": [
1567
+ {
1568
+ "text": "8",
1569
+ "id": "U_0038"
1570
+ }
1571
+ ]
1572
+ },
1573
+ {
1574
+ "id": "K_9",
1575
+ "text": "៩",
1576
+ "sk": [
1577
+ {
1578
+ "text": "9",
1579
+ "id": "U_0039"
1580
+ }
1581
+ ]
1582
+ },
1583
+ {
1584
+ "id": "K_0",
1585
+ "text": "០",
1586
+ "sk": [
1587
+ {
1588
+ "text": "0",
1589
+ "id": "U_0030"
1590
+ },
1591
+ {
1592
+ "text": "",
1593
+ "id": "U_17D3"
1594
+ }
1595
+ ]
1596
+ }
1597
+ ]
1598
+ },
1599
+ {
1600
+ "id": 2,
1601
+ "key": [
1602
+ {
1603
+ "id": "U_0040",
1604
+ "text": "@",
1605
+ "pad": "",
1606
+ "sk": [
1607
+ {
1608
+ "text": "©",
1609
+ "id": "U_00A9"
1610
+ },
1611
+ {
1612
+ "text": "®",
1613
+ "id": "U_00AE"
1614
+ }
1615
+ ]
1616
+ },
1617
+ {
1618
+ "id": "U_0023",
1619
+ "text": "#",
1620
+ "sk": [
1621
+ {
1622
+ "text": "№",
1623
+ "id": "U_2116"
1624
+ },
1625
+ {
1626
+ "text": "~",
1627
+ "id": "U_007E"
1628
+ }
1629
+ ]
1630
+ },
1631
+ {
1632
+ "id": "U_17DB",
1633
+ "text": "៛",
1634
+ "sk": [
1635
+ {
1636
+ "text": "$",
1637
+ "id": "U_0024"
1638
+ },
1639
+ {
1640
+ "text": "฿",
1641
+ "id": "U_0E3F"
1642
+ },
1643
+ {
1644
+ "text": "¢",
1645
+ "id": "U_00A2"
1646
+ },
1647
+ {
1648
+ "text": "£",
1649
+ "id": "U_00A3"
1650
+ },
1651
+ {
1652
+ "text": "¥",
1653
+ "id": "U_00A5"
1654
+ }
1655
+ ]
1656
+ },
1657
+ {
1658
+ "id": "U_0026",
1659
+ "text": "&"
1660
+ },
1661
+ {
1662
+ "id": "U_0025",
1663
+ "text": "%",
1664
+ "sk": [
1665
+ {
1666
+ "text": "‰",
1667
+ "id": "U_2030"
1668
+ },
1669
+ {
1670
+ "text": "‱",
1671
+ "id": "U_2031"
1672
+ }
1673
+ ]
1674
+ },
1675
+ {
1676
+ "id": "U_002B",
1677
+ "text": "+",
1678
+ "sk": [
1679
+ {
1680
+ "text": "-",
1681
+ "id": "U_002D"
1682
+ },
1683
+ {
1684
+ "text": "×",
1685
+ "id": "U_00D7"
1686
+ },
1687
+ {
1688
+ "text": "÷",
1689
+ "id": "U_00F7"
1690
+ },
1691
+ {
1692
+ "text": "±",
1693
+ "id": "U_00B1"
1694
+ }
1695
+ ]
1696
+ },
1697
+ {
1698
+ "id": "U_003D",
1699
+ "text": "=",
1700
+ "sk": [
1701
+ {
1702
+ "text": "_",
1703
+ "id": "U_005F"
1704
+ },
1705
+ {
1706
+ "text": "≠",
1707
+ "id": "U_2260"
1708
+ }
1709
+ ]
1710
+ },
1711
+ {
1712
+ "id": "U_002A",
1713
+ "text": "*",
1714
+ "sk": [
1715
+ {
1716
+ "text": "^",
1717
+ "id": "U_005E"
1718
+ }
1719
+ ]
1720
+ },
1721
+ {
1722
+ "id": "U_003F",
1723
+ "text": "?",
1724
+ "sk": [
1725
+ {
1726
+ "text": "¿",
1727
+ "id": "U_00BF"
1728
+ }
1729
+ ]
1730
+ },
1731
+ {
1732
+ "id": "U_0021",
1733
+ "text": "!",
1734
+ "sk": [
1735
+ {
1736
+ "text": "¡",
1737
+ "id": "U_00A1"
1738
+ }
1739
+ ]
1740
+ }
1741
+ ]
1742
+ },
1743
+ {
1744
+ "id": 3,
1745
+ "key": [
1746
+ {
1747
+ "id": "U_2018",
1748
+ "text": "‘",
1749
+ "sk": [
1750
+ {
1751
+ "text": "’",
1752
+ "id": "U_2019"
1753
+ }
1754
+ ]
1755
+ },
1756
+ {
1757
+ "id": "U_201C",
1758
+ "text": "“",
1759
+ "sk": [
1760
+ {
1761
+ "text": "”",
1762
+ "id": "U_201D"
1763
+ }
1764
+ ]
1765
+ },
1766
+ {
1767
+ "id": "U_00AB",
1768
+ "text": "«",
1769
+ "pad": "",
1770
+ "sk": [
1771
+ {
1772
+ "text": "»",
1773
+ "id": "U_00BB"
1774
+ }
1775
+ ]
1776
+ },
1777
+ {
1778
+ "id": "U_002F",
1779
+ "text": "/",
1780
+ "sk": [
1781
+ {
1782
+ "text": "\\",
1783
+ "id": "U_005C"
1784
+ },
1785
+ {
1786
+ "text": "|",
1787
+ "id": "U_007C"
1788
+ },
1789
+ {
1790
+ "text": "¦",
1791
+ "id": "U_00A6"
1792
+ }
1793
+ ]
1794
+ },
1795
+ {
1796
+ "id": "U_0028",
1797
+ "text": "(",
1798
+ "sk": [
1799
+ {
1800
+ "text": ")",
1801
+ "id": "U_0029"
1802
+ },
1803
+ {
1804
+ "text": "[",
1805
+ "id": "U_005B"
1806
+ },
1807
+ {
1808
+ "text": "]",
1809
+ "id": "U_005D"
1810
+ },
1811
+ {
1812
+ "text": "{",
1813
+ "id": "U_007B"
1814
+ },
1815
+ {
1816
+ "text": "}",
1817
+ "id": "U_007D"
1818
+ }
1819
+ ]
1820
+ },
1821
+ {
1822
+ "id": "U_17D9",
1823
+ "text": "៙",
1824
+ "sk": [
1825
+ {
1826
+ "text": "៚",
1827
+ "id": "U_17DA"
1828
+ },
1829
+ {
1830
+ "text": "ៜ",
1831
+ "id": "U_17DC"
1832
+ },
1833
+ {
1834
+ "text": "§",
1835
+ "id": "U_00A7"
1836
+ },
1837
+ {
1838
+ "text": "Ø",
1839
+ "id": "U_00D8"
1840
+ }
1841
+ ]
1842
+ },
1843
+ {
1844
+ "id": "U_17D7",
1845
+ "text": "ៗ"
1846
+ },
1847
+ {
1848
+ "id": "U_003C",
1849
+ "text": "<",
1850
+ "sk": [
1851
+ {
1852
+ "text": "≤",
1853
+ "id": "U_2264"
1854
+ },
1855
+ {
1856
+ "text": ">",
1857
+ "id": "U_003E"
1858
+ },
1859
+ {
1860
+ "text": "≥",
1861
+ "id": "U_2265"
1862
+ }
1863
+ ]
1864
+ },
1865
+ {
1866
+ "id": "U_17D6",
1867
+ "text": "៖",
1868
+ "sk": [
1869
+ {
1870
+ "text": ":",
1871
+ "id": "U_003A"
1872
+ },
1873
+ {
1874
+ "text": ";",
1875
+ "id": "U_003B"
1876
+ },
1877
+ {
1878
+ "text": "…",
1879
+ "id": "U_2026"
1880
+ }
1881
+ ]
1882
+ },
1883
+ {
1884
+ "id": "K_BKSP",
1885
+ "text": "*BkSp*",
1886
+ "width": "",
1887
+ "sp": "1"
1888
+ }
1889
+ ]
1890
+ },
1891
+ {
1892
+ "id": 4,
1893
+ "key": [
1894
+ {
1895
+ "id": "K_LCONTROL",
1896
+ "text": "១២៣",
1897
+ "width": "140",
1898
+ "sp": "2",
1899
+ "nextlayer": "default"
1900
+ },
1901
+ {
1902
+ "id": "K_LOPT",
1903
+ "text": "*Menu*",
1904
+ "width": "120",
1905
+ "sp": "1"
1906
+ },
1907
+ {
1908
+ "id": "K_SPACE",
1909
+ "text": "​",
1910
+ "width": "555",
1911
+ "sp": "0",
1912
+ "layer": "shift",
1913
+ "sk": []
1914
+ },
1915
+ {
1916
+ "id": "K_PERIOD",
1917
+ "text": "។",
1918
+ "width": "120",
1919
+ "sk": [
1920
+ {
1921
+ "text": "៕",
1922
+ "id": "K_PERIOD",
1923
+ "layer": "shift"
1924
+ },
1925
+ {
1926
+ "text": "!",
1927
+ "id": "U_0021"
1928
+ },
1929
+ {
1930
+ "text": "?",
1931
+ "id": "U_003F"
1932
+ }
1933
+ ]
1934
+ },
1935
+ {
1936
+ "id": "K_ENTER",
1937
+ "text": "*Enter*",
1938
+ "width": "140",
1939
+ "sp": "1"
1940
+ }
1941
+ ]
1942
+ }
1943
+ ]
1944
+ }
1945
+ ],
1946
+ "displayUnderlying": false,
1947
+ "font": "Khmer Busra Kbd",
1948
+ "fontsize": "0.8em"
1949
+ }
1950
+ }