@roku-sdk/components 0.0.0-stage → 2.18.0

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 (211) hide show
  1. package/BREAKING_CHANGES.md +84 -0
  2. package/LICENSE +21 -0
  3. package/README.md +19 -2
  4. package/core-jsx.d.ts +53 -0
  5. package/eslint.config.mjs +3 -0
  6. package/jsx.d.ts +273 -0
  7. package/package.json +84 -3
  8. package/src/__tests__/container.test.tsx +150 -0
  9. package/src/__tests__/glyphs.test.ts +202 -0
  10. package/src/__tests__/modal-boundary-export.test.ts +12 -0
  11. package/src/__tests__/native-modal.test.tsx +224 -0
  12. package/src/__tests__/tween-release.test.tsx +125 -0
  13. package/src/__tests__/tween-stops-shape.test.tsx +165 -0
  14. package/src/__tests__/tween-without-compat.test.tsx +64 -0
  15. package/src/__tests__/tween.test.tsx +195 -0
  16. package/src/blended-busy-spinner.props.ts +37 -0
  17. package/src/blended-busy-spinner.tsx +13 -0
  18. package/src/bounding-tracker.props.ts +18 -0
  19. package/src/bounding-tracker.tsx +13 -0
  20. package/src/button-row.tsx +126 -0
  21. package/src/channel-store.props.ts +425 -0
  22. package/src/channel-store.tsx +76 -0
  23. package/src/container.tsx +130 -0
  24. package/src/core/jsx-runtime.ts +39 -0
  25. package/src/focusable-group.props.ts +8 -0
  26. package/src/focusable-group.tsx +17 -0
  27. package/src/focusable.props.ts +14 -0
  28. package/src/focusable.tsx +17 -0
  29. package/src/glyphs.ts +116 -0
  30. package/src/helpers/index.tsx +4 -0
  31. package/src/helpers/resolution-context.tsx +68 -0
  32. package/src/helpers/scale-for-device-resolution.ts +31 -0
  33. package/src/index.tsx +70 -0
  34. package/src/jsx-props.ts +87 -0
  35. package/src/kdfs.d.ts +14 -0
  36. package/src/kdfs.ts +15 -0
  37. package/src/key-handler.props.ts +33 -0
  38. package/src/key-handler.tsx +24 -0
  39. package/src/modal-dialog.props.ts +38 -0
  40. package/src/modal-dialog.tsx +41 -0
  41. package/src/retain-asset.ts +24 -0
  42. package/src/sg-intrinsics.json +1153 -0
  43. package/src/sg-nodes/__tests__/__snapshots__/font.test.tsx.snap +13 -0
  44. package/src/sg-nodes/__tests__/__snapshots__/prop-forwarding.test.tsx.snap +4409 -0
  45. package/src/sg-nodes/__tests__/core-props.test.ts +301 -0
  46. package/src/sg-nodes/__tests__/font.test.tsx +141 -0
  47. package/src/sg-nodes/__tests__/imperative-methods.test.ts +268 -0
  48. package/src/sg-nodes/__tests__/prop-forwarding.test.tsx +1049 -0
  49. package/src/sg-nodes/__tests__/solid-integration.test.tsx +719 -0
  50. package/src/sg-nodes/animated-image.props.ts +64 -0
  51. package/src/sg-nodes/animated-image.tsx +23 -0
  52. package/src/sg-nodes/animation.props.ts +292 -0
  53. package/src/sg-nodes/animation.tsx +190 -0
  54. package/src/sg-nodes/array-grid.ts +602 -0
  55. package/src/sg-nodes/audio.props.ts +302 -0
  56. package/src/sg-nodes/audio.tsx +57 -0
  57. package/src/sg-nodes/busy-spinner.props.ts +59 -0
  58. package/src/sg-nodes/busy-spinner.tsx +84 -0
  59. package/src/sg-nodes/button-group.props.ts +141 -0
  60. package/src/sg-nodes/button-group.tsx +30 -0
  61. package/src/sg-nodes/button.props.ts +119 -0
  62. package/src/sg-nodes/button.tsx +31 -0
  63. package/src/sg-nodes/check-list.props.ts +71 -0
  64. package/src/sg-nodes/check-list.tsx +55 -0
  65. package/src/sg-nodes/content-node.props.ts +1316 -0
  66. package/src/sg-nodes/content-node.tsx +153 -0
  67. package/src/sg-nodes/core-props.ts +197 -0
  68. package/src/sg-nodes/custom-keyboard.props.ts +108 -0
  69. package/src/sg-nodes/custom-keyboard.tsx +48 -0
  70. package/src/sg-nodes/dialog.props.ts +159 -0
  71. package/src/sg-nodes/dialog.tsx +36 -0
  72. package/src/sg-nodes/dynamic-key-grid.props.ts +22 -0
  73. package/src/sg-nodes/dynamic-key-grid.tsx +16 -0
  74. package/src/sg-nodes/dynamic-keyboard.props.ts +30 -0
  75. package/src/sg-nodes/dynamic-keyboard.tsx +18 -0
  76. package/src/sg-nodes/dynamic-mini-keyboard.props.ts +22 -0
  77. package/src/sg-nodes/dynamic-mini-keyboard.tsx +18 -0
  78. package/src/sg-nodes/dynamic-pinpad.props.ts +57 -0
  79. package/src/sg-nodes/dynamic-pinpad.tsx +18 -0
  80. package/src/sg-nodes/effect.props.ts +116 -0
  81. package/src/sg-nodes/effect.tsx +39 -0
  82. package/src/sg-nodes/font.props.ts +45 -0
  83. package/src/sg-nodes/font.tsx +80 -0
  84. package/src/sg-nodes/group.props.ts +105 -0
  85. package/src/sg-nodes/group.tsx +30 -0
  86. package/src/sg-nodes/label-list.props.ts +86 -0
  87. package/src/sg-nodes/label-list.tsx +64 -0
  88. package/src/sg-nodes/label.props.ts +207 -0
  89. package/src/sg-nodes/label.tsx +56 -0
  90. package/src/sg-nodes/layout-group.props.ts +69 -0
  91. package/src/sg-nodes/layout-group.tsx +75 -0
  92. package/src/sg-nodes/list-panel.props.ts +104 -0
  93. package/src/sg-nodes/list-panel.tsx +49 -0
  94. package/src/sg-nodes/markup-grid.props.ts +78 -0
  95. package/src/sg-nodes/markup-grid.tsx +38 -0
  96. package/src/sg-nodes/markup-list.props.ts +68 -0
  97. package/src/sg-nodes/markup-list.tsx +38 -0
  98. package/src/sg-nodes/mask-group.props.ts +78 -0
  99. package/src/sg-nodes/mask-group.tsx +59 -0
  100. package/src/sg-nodes/media-playback-methods.ts +20 -0
  101. package/src/sg-nodes/node.ts +77 -0
  102. package/src/sg-nodes/overhang.props.ts +169 -0
  103. package/src/sg-nodes/overhang.tsx +29 -0
  104. package/src/sg-nodes/panel-set.props.ts +71 -0
  105. package/src/sg-nodes/panel-set.tsx +53 -0
  106. package/src/sg-nodes/panel.props.ts +176 -0
  107. package/src/sg-nodes/panel.tsx +56 -0
  108. package/src/sg-nodes/poster-grid.props.ts +277 -0
  109. package/src/sg-nodes/poster-grid.tsx +45 -0
  110. package/src/sg-nodes/poster.props.ts +125 -0
  111. package/src/sg-nodes/poster.tsx +44 -0
  112. package/src/sg-nodes/radio-button-list.props.ts +59 -0
  113. package/src/sg-nodes/radio-button-list.tsx +68 -0
  114. package/src/sg-nodes/rectangle.props.ts +29 -0
  115. package/src/sg-nodes/rectangle.tsx +27 -0
  116. package/src/sg-nodes/row-list.props.ts +288 -0
  117. package/src/sg-nodes/row-list.tsx +47 -0
  118. package/src/sg-nodes/scene.props.ts +65 -0
  119. package/src/sg-nodes/scene.tsx +15 -0
  120. package/src/sg-nodes/scrollable-text.props.ts +133 -0
  121. package/src/sg-nodes/scrollable-text.tsx +64 -0
  122. package/src/sg-nodes/scrolling-label.props.ts +106 -0
  123. package/src/sg-nodes/scrolling-label.tsx +42 -0
  124. package/src/sg-nodes/simple-label.props.ts +156 -0
  125. package/src/sg-nodes/simple-label.tsx +59 -0
  126. package/src/sg-nodes/sound-effect.props.ts +130 -0
  127. package/src/sg-nodes/sound-effect.tsx +65 -0
  128. package/src/sg-nodes/standard-dialog.props.ts +520 -0
  129. package/src/sg-nodes/standard-dialog.tsx +428 -0
  130. package/src/sg-nodes/standard-keyboard-dialog.props.ts +84 -0
  131. package/src/sg-nodes/standard-keyboard-dialog.tsx +59 -0
  132. package/src/sg-nodes/standard-message-dialog.props.ts +56 -0
  133. package/src/sg-nodes/standard-message-dialog.tsx +48 -0
  134. package/src/sg-nodes/standard-pinpad-dialog.props.ts +64 -0
  135. package/src/sg-nodes/standard-pinpad-dialog.tsx +46 -0
  136. package/src/sg-nodes/standard-progress-dialog.props.ts +30 -0
  137. package/src/sg-nodes/standard-progress-dialog.tsx +43 -0
  138. package/src/sg-nodes/target-group.props.ts +278 -0
  139. package/src/sg-nodes/target-group.tsx +63 -0
  140. package/src/sg-nodes/target-list.props.ts +128 -0
  141. package/src/sg-nodes/target-list.tsx +66 -0
  142. package/src/sg-nodes/target-set.props.ts +63 -0
  143. package/src/sg-nodes/target-set.tsx +42 -0
  144. package/src/sg-nodes/time-grid.props.ts +646 -0
  145. package/src/sg-nodes/time-grid.tsx +87 -0
  146. package/src/sg-nodes/tween.props.ts +115 -0
  147. package/src/sg-nodes/types.ts +150 -0
  148. package/src/sg-nodes/video.props.ts +573 -0
  149. package/src/sg-nodes/video.tsx +73 -0
  150. package/src/sg-nodes/voice-text-edit-box.props.ts +91 -0
  151. package/src/sg-nodes/voice-text-edit-box.tsx +15 -0
  152. package/src/sg-nodes/zoom-row-list.props.ts +416 -0
  153. package/src/sg-nodes/zoom-row-list.tsx +42 -0
  154. package/src/standard-dialog-next/__tests__/standard-dialog-next.test.tsx +186 -0
  155. package/src/standard-dialog-next/index.ts +5 -0
  156. package/src/standard-dialog-next/standard-dialog-next.props.ts +80 -0
  157. package/src/standard-dialog-next/standard-dialog-next.tsx +326 -0
  158. package/src/test-helpers/tween-test-setup.ts +78 -0
  159. package/src/tween.tsx +173 -0
  160. package/src/types.ts +8 -0
  161. package/src/xml-components/blended-busy-spinner/BlendedBusySpinner.brs +13 -0
  162. package/src/xml-components/blended-busy-spinner/BlendedBusySpinner.xml +10 -0
  163. package/src/xml-components/blended-busy-spinner/BlendedBusySpinner.xml.d.ts +42 -0
  164. package/src/xml-components/bounding-tracker/BoundingTracker.brs +26 -0
  165. package/src/xml-components/bounding-tracker/BoundingTracker.xml +14 -0
  166. package/src/xml-components/bounding-tracker/BoundingTracker.xml.d.ts +42 -0
  167. package/src/xml-components/channel-store/channelStoreExt.brs +159 -0
  168. package/src/xml-components/channel-store/channelStoreExt.xml +29 -0
  169. package/src/xml-components/channel-store/channelStoreExt.xml.d.ts +57 -0
  170. package/src/xml-components/focus/focusable-group.brs +251 -0
  171. package/src/xml-components/focus/focusable-group.xml +15 -0
  172. package/src/xml-components/focus/focusable-group.xml.d.ts +42 -0
  173. package/src/xml-components/focus/focusable.xml +18 -0
  174. package/src/xml-components/focus/focusable.xml.d.ts +48 -0
  175. package/src/xml-components/keyboards/CustomAddressKDF.keyboard.json +547 -0
  176. package/src/xml-components/keyboards/CustomKeyboard.brs +322 -0
  177. package/src/xml-components/keyboards/CustomKeyboard.xml +45 -0
  178. package/src/xml-components/keyboards/CustomKeyboard.xml.d.ts +73 -0
  179. package/src/xml-components/keyboards/KeyGridExt.xml +4 -0
  180. package/src/xml-components/keyboards/KeyGridExt.xml.d.ts +37 -0
  181. package/src/xml-components/keyboards/KeyboardExt.xml +4 -0
  182. package/src/xml-components/keyboards/KeyboardExt.xml.d.ts +37 -0
  183. package/src/xml-components/keyboards/MOPPinPadCustomKDF.keyboard.json +151 -0
  184. package/src/xml-components/keyboards/MiniKeyboardExt.xml +4 -0
  185. package/src/xml-components/keyboards/MiniKeyboardExt.xml.d.ts +37 -0
  186. package/src/xml-components/keyboards/PhonePadCustomKDF.keyboard.json +42 -0
  187. package/src/xml-components/keyboards/PinPadExt.brs +102 -0
  188. package/src/xml-components/keyboards/PinPadExt.xml +17 -0
  189. package/src/xml-components/keyboards/PinPadExt.xml.d.ts +49 -0
  190. package/src/xml-components/keyboards/WifiCustomKDF.keyboard.json +1242 -0
  191. package/src/xml-components/keyhandler/KeyHandler.brs +30 -0
  192. package/src/xml-components/keyhandler/KeyHandler.xml +16 -0
  193. package/src/xml-components/keyhandler/KeyHandler.xml.d.ts +45 -0
  194. package/src/xml-components/managed-list-panel/ManagedListPanel.brs +137 -0
  195. package/src/xml-components/managed-list-panel/ManagedListPanel.xml +10 -0
  196. package/src/xml-components/managed-list-panel/ManagedListPanel.xml.d.ts +37 -0
  197. package/src/xml-components/modal/Modal.brs +105 -0
  198. package/src/xml-components/modal/Modal.xml +22 -0
  199. package/src/xml-components/modal/Modal.xml.d.ts +54 -0
  200. package/src/xml-components/modal/StandardDialogExt.xml +10 -0
  201. package/src/xml-components/modal/StandardDialogExt.xml.d.ts +37 -0
  202. package/src/xml-components/modal/StandardKeyboardDialogExt.xml +10 -0
  203. package/src/xml-components/modal/StandardKeyboardDialogExt.xml.d.ts +37 -0
  204. package/src/xml-components/modal/StandardMessageDialogExt.xml +10 -0
  205. package/src/xml-components/modal/StandardMessageDialogExt.xml.d.ts +37 -0
  206. package/src/xml-components/modal/StandardPinPadDialogExt.xml +10 -0
  207. package/src/xml-components/modal/StandardPinPadDialogExt.xml.d.ts +37 -0
  208. package/src/xml-components/modal/StandardProgressDialogExt.xml +10 -0
  209. package/src/xml-components/modal/StandardProgressDialogExt.xml.d.ts +37 -0
  210. package/src/xml-components/modal/tests/Modal.test.brs +195 -0
  211. package/tsconfig.json +10 -0
@@ -0,0 +1,1242 @@
1
+ {
2
+ "keyboardWidthFHD": 1368,
3
+ "keyboardHeightFHD": 336,
4
+ "keyboardWidthHD": 912,
5
+ "keyboardHeightHD": 224,
6
+ "sections": [
7
+ {
8
+ "sectionWidthFHD": 180,
9
+ "sectionWidthHD": 120,
10
+ "grids": [
11
+ {
12
+ "rows": [
13
+ {
14
+ "keys": [
15
+ {
16
+ "icon": "theme:DKB_ShiftKeyBitmap",
17
+ "focusIcon": "theme:DKB_ShiftKeyFocusBitmap",
18
+ "strOut": "shift"
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "keys": [
24
+ {
25
+ "icon": "theme:DKB_SpaceKeyBitmap",
26
+ "focusIcon": "theme:DKB_SpaceKeyFocusBitmap",
27
+ "strOut": "space"
28
+ }
29
+ ]
30
+ },
31
+ {
32
+ "keys": [
33
+ {
34
+ "icon": "theme:DKB_DeleteKeyBitmap",
35
+ "focusIcon": "theme:DKB_DeleteKeyFocusBitmap",
36
+ "autoRepeat": 1,
37
+ "strOut": "backspace"
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "keys": [
43
+ {
44
+ "icon": "theme:DKB_LeftKeyBitmap",
45
+ "focusIcon": "theme:DKB_LeftKeyFocusBitmap",
46
+ "strOut": "left"
47
+ },
48
+ {
49
+ "icon": "theme:DKB_RightKeyBitmap",
50
+ "focusIcon": "theme:DKB_RightKeyFocusBitmap",
51
+ "strOut": "right"
52
+ }
53
+ ]
54
+ }
55
+ ]
56
+ }
57
+ ]
58
+ },
59
+ {
60
+ "sectionWidthFHD": 630,
61
+ "sectionWidthHD": 420,
62
+ "grids": [
63
+ {
64
+ "modes": "ABC123Lower",
65
+ "rows": [
66
+ {
67
+ "keys": [
68
+ {
69
+ "label": "a"
70
+ },
71
+ {
72
+ "label": "b"
73
+ },
74
+ {
75
+ "label": "c"
76
+ },
77
+ {
78
+ "label": "d"
79
+ },
80
+ {
81
+ "label": "e"
82
+ },
83
+ {
84
+ "label": "f"
85
+ },
86
+ {
87
+ "label": "g"
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "keys": [
93
+ {
94
+ "label": "h"
95
+ },
96
+ {
97
+ "label": "i"
98
+ },
99
+ {
100
+ "label": "j"
101
+ },
102
+ {
103
+ "label": "k"
104
+ },
105
+ {
106
+ "label": "l"
107
+ },
108
+ {
109
+ "label": "m"
110
+ },
111
+ {
112
+ "label": "n"
113
+ }
114
+ ]
115
+ },
116
+ {
117
+ "keys": [
118
+ {
119
+ "label": "o"
120
+ },
121
+ {
122
+ "label": "p"
123
+ },
124
+ {
125
+ "label": "q"
126
+ },
127
+ {
128
+ "label": "r"
129
+ },
130
+ {
131
+ "label": "s"
132
+ },
133
+ {
134
+ "label": "t"
135
+ },
136
+ {
137
+ "label": "u"
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "keys": [
143
+ {
144
+ "label": "v"
145
+ },
146
+ {
147
+ "label": "w"
148
+ },
149
+ {
150
+ "label": "x"
151
+ },
152
+ {
153
+ "label": "y"
154
+ },
155
+ {
156
+ "label": "z"
157
+ },
158
+ {
159
+ "label": "-"
160
+ },
161
+ {
162
+ "label": "_"
163
+ }
164
+ ]
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "modes": [
170
+ "ABC123Upper",
171
+ "ABC123Shift",
172
+ "capsLock"
173
+ ],
174
+ "rows": [
175
+ {
176
+ "keys": [
177
+ {
178
+ "label": "A"
179
+ },
180
+ {
181
+ "label": "B"
182
+ },
183
+ {
184
+ "label": "C"
185
+ },
186
+ {
187
+ "label": "D"
188
+ },
189
+ {
190
+ "label": "E"
191
+ },
192
+ {
193
+ "label": "F"
194
+ },
195
+ {
196
+ "label": "G"
197
+ }
198
+ ]
199
+ },
200
+ {
201
+ "keys": [
202
+ {
203
+ "label": "H"
204
+ },
205
+ {
206
+ "label": "I"
207
+ },
208
+ {
209
+ "label": "J"
210
+ },
211
+ {
212
+ "label": "K"
213
+ },
214
+ {
215
+ "label": "L"
216
+ },
217
+ {
218
+ "label": "M"
219
+ },
220
+ {
221
+ "label": "N"
222
+ }
223
+ ]
224
+ },
225
+ {
226
+ "keys": [
227
+ {
228
+ "label": "O"
229
+ },
230
+ {
231
+ "label": "P"
232
+ },
233
+ {
234
+ "label": "Q"
235
+ },
236
+ {
237
+ "label": "R"
238
+ },
239
+ {
240
+ "label": "S"
241
+ },
242
+ {
243
+ "label": "T"
244
+ },
245
+ {
246
+ "label": "U"
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "keys": [
252
+ {
253
+ "label": "V"
254
+ },
255
+ {
256
+ "label": "W"
257
+ },
258
+ {
259
+ "label": "X"
260
+ },
261
+ {
262
+ "label": "Y"
263
+ },
264
+ {
265
+ "label": "Z"
266
+ },
267
+ {
268
+ "label": "-"
269
+ },
270
+ {
271
+ "label": "_"
272
+ }
273
+ ]
274
+ }
275
+ ]
276
+ },
277
+ {
278
+ "modes": "SymbolsLower",
279
+ "rows": [
280
+ {
281
+ "keys": [
282
+ {
283
+ "label": "!"
284
+ },
285
+ {
286
+ "label": "?"
287
+ },
288
+ {
289
+ "label": "*"
290
+ },
291
+ {
292
+ "label": "#"
293
+ },
294
+ {
295
+ "label": "$"
296
+ },
297
+ {
298
+ "label": "%"
299
+ },
300
+ {
301
+ "label": "^"
302
+ }
303
+ ]
304
+ },
305
+ {
306
+ "keys": [
307
+ {
308
+ "label": "&"
309
+ },
310
+ {
311
+ "label": ","
312
+ },
313
+ {
314
+ "label": ":"
315
+ },
316
+ {
317
+ "label": ";"
318
+ },
319
+ {
320
+ "label": "`"
321
+ },
322
+ {
323
+ "label": "'"
324
+ },
325
+ {
326
+ "label": "\""
327
+ }
328
+ ]
329
+ },
330
+ {
331
+ "keys": [
332
+ {
333
+ "label": "("
334
+ },
335
+ {
336
+ "label": ")"
337
+ },
338
+ {
339
+ "label": "{"
340
+ },
341
+ {
342
+ "label": "}"
343
+ },
344
+ {
345
+ "label": "["
346
+ },
347
+ {
348
+ "label": "]"
349
+ },
350
+ {
351
+ "label": "~"
352
+ }
353
+ ]
354
+ },
355
+ {
356
+ "keys": [
357
+ {
358
+ "label": "\u00a1"
359
+ },
360
+ {
361
+ "label": "\u00bf"
362
+ },
363
+ {
364
+ "label": "<"
365
+ },
366
+ {
367
+ "label": ">"
368
+ },
369
+ {
370
+ "label": "|"
371
+ },
372
+ {
373
+ "label": "\\"
374
+ },
375
+ {
376
+ "label": "/"
377
+ }
378
+ ]
379
+ }
380
+ ]
381
+ },
382
+ {
383
+ "modes": [
384
+ "SymbolsUpper",
385
+ "SymbolsShift"
386
+ ],
387
+ "rows": [
388
+ {
389
+ "keys": [
390
+ {
391
+ "label": "\u2022"
392
+ },
393
+ {
394
+ "label": "\u00b7"
395
+ },
396
+ {
397
+ "label": "\u00a2"
398
+ },
399
+ {
400
+ "label": "\u00a3"
401
+ },
402
+ {
403
+ "label": "\u00a5"
404
+ },
405
+ {
406
+ "label": "\u20ac"
407
+ },
408
+ {
409
+ "label": "\u00a7"
410
+ }
411
+ ]
412
+ },
413
+ {
414
+ "keys": [
415
+ {
416
+ "label": "\u00ae"
417
+ },
418
+ {
419
+ "label": "\u00a9"
420
+ },
421
+ {
422
+ "label": "\u2122"
423
+ },
424
+ {
425
+ "label": "\u00ab"
426
+ },
427
+ {
428
+ "label": "\u00bb"
429
+ },
430
+ {
431
+ "label": "\u2039"
432
+ },
433
+ {
434
+ "label": "\u203a"
435
+ }
436
+ ]
437
+ },
438
+ {
439
+ "keys": [
440
+ {
441
+ "label": "\u2020"
442
+ },
443
+ {
444
+ "label": "\u2021"
445
+ },
446
+ {
447
+ "label": "\u0192"
448
+ },
449
+ {
450
+ "label": "\u00b6"
451
+ },
452
+ {
453
+ "label": "\u00b9"
454
+ },
455
+ {
456
+ "label": "\u00b2"
457
+ },
458
+ {
459
+ "label": "\u00b3"
460
+ }
461
+ ]
462
+ },
463
+ {
464
+ "keys": [
465
+ {
466
+ "label": "\u00ba"
467
+ },
468
+ {
469
+ "label": "\u00b0"
470
+ },
471
+ {
472
+ "label": "\u00aa"
473
+ },
474
+ {
475
+ "label": "\u2026"
476
+ },
477
+ {},
478
+ {},
479
+ {}
480
+ ]
481
+ }
482
+ ]
483
+ },
484
+ {
485
+ "modes": "AccentsLower",
486
+ "rows": [
487
+ {
488
+ "keys": [
489
+ {
490
+ "label": "\u00e0"
491
+ },
492
+ {
493
+ "label": "\u00e1"
494
+ },
495
+ {
496
+ "label": "\u00e2"
497
+ },
498
+ {
499
+ "label": "\u00e3"
500
+ },
501
+ {
502
+ "label": "\u00e4"
503
+ },
504
+ {
505
+ "label": "\u00e5"
506
+ },
507
+ {
508
+ "label": "\u00e6"
509
+ }
510
+ ]
511
+ },
512
+ {
513
+ "keys": [
514
+ {
515
+ "label": "\u00e8"
516
+ },
517
+ {
518
+ "label": "\u00e9"
519
+ },
520
+ {
521
+ "label": "\u00ea"
522
+ },
523
+ {
524
+ "label": "\u00eb"
525
+ },
526
+ {
527
+ "label": "\u00ec"
528
+ },
529
+ {
530
+ "label": "\u00ed"
531
+ },
532
+ {
533
+ "label": "\u00ee"
534
+ }
535
+ ]
536
+ },
537
+ {
538
+ "keys": [
539
+ {
540
+ "label": "\u00ef"
541
+ },
542
+ {
543
+ "label": "\u00f2"
544
+ },
545
+ {
546
+ "label": "\u00f3"
547
+ },
548
+ {
549
+ "label": "\u00f4"
550
+ },
551
+ {
552
+ "label": "\u00f5"
553
+ },
554
+ {
555
+ "label": "\u00f6"
556
+ },
557
+ {
558
+ "label": "\u00f8"
559
+ }
560
+ ]
561
+ },
562
+ {
563
+ "keys": [
564
+ {
565
+ "label": "\u0153"
566
+ },
567
+ {
568
+ "label": "\u00f9"
569
+ },
570
+ {
571
+ "label": "\u00fa"
572
+ },
573
+ {
574
+ "label": "\u00fb"
575
+ },
576
+ {
577
+ "label": "\u00fc"
578
+ },
579
+ {
580
+ "label": "\u00e7"
581
+ },
582
+ {
583
+ "label": "\u00f1"
584
+ }
585
+ ]
586
+ }
587
+ ]
588
+ },
589
+ {
590
+ "modes": [
591
+ "AccentsUpper",
592
+ "AccentsShift"
593
+ ],
594
+ "rows": [
595
+ {
596
+ "keys": [
597
+ {
598
+ "label": "\u00c0"
599
+ },
600
+ {
601
+ "label": "\u00c1"
602
+ },
603
+ {
604
+ "label": "\u00c2"
605
+ },
606
+ {
607
+ "label": "\u00c3"
608
+ },
609
+ {
610
+ "label": "\u00c4"
611
+ },
612
+ {
613
+ "label": "\u00c5"
614
+ },
615
+ {
616
+ "label": "\u00c6"
617
+ }
618
+ ]
619
+ },
620
+ {
621
+ "keys": [
622
+ {
623
+ "label": "\u00c8"
624
+ },
625
+ {
626
+ "label": "\u00c9"
627
+ },
628
+ {
629
+ "label": "\u00ca"
630
+ },
631
+ {
632
+ "label": "\u00cb"
633
+ },
634
+ {
635
+ "label": "\u00cc"
636
+ },
637
+ {
638
+ "label": "\u00cd"
639
+ },
640
+ {
641
+ "label": "\u00ce"
642
+ }
643
+ ]
644
+ },
645
+ {
646
+ "keys": [
647
+ {
648
+ "label": "\u00cf"
649
+ },
650
+ {
651
+ "label": "\u00d2"
652
+ },
653
+ {
654
+ "label": "\u00d3"
655
+ },
656
+ {
657
+ "label": "\u00d4"
658
+ },
659
+ {
660
+ "label": "\u00d5"
661
+ },
662
+ {
663
+ "label": "\u00d6"
664
+ },
665
+ {
666
+ "label": "\u00d8"
667
+ }
668
+ ]
669
+ },
670
+ {
671
+ "keys": [
672
+ {
673
+ "label": "\u0152"
674
+ },
675
+ {
676
+ "label": "\u00d9"
677
+ },
678
+ {
679
+ "label": "\u00da"
680
+ },
681
+ {
682
+ "label": "\u00db"
683
+ },
684
+ {
685
+ "label": "\u00dc"
686
+ },
687
+ {
688
+ "label": "\u00c7"
689
+ },
690
+ {
691
+ "label": "\u00d1"
692
+ }
693
+ ]
694
+ }
695
+ ]
696
+ }
697
+ ]
698
+ },
699
+ {
700
+ "sectionWidthFHD": 270,
701
+ "sectionWidthHD": 180,
702
+ "grids": [
703
+ {
704
+ "modes": [
705
+ "ABC123Lower",
706
+ "ABC123Upper",
707
+ "ABC123Shift",
708
+ "capsLock"
709
+ ],
710
+ "rows": [
711
+ {
712
+ "keys": [
713
+ {
714
+ "label": "1"
715
+ },
716
+ {
717
+ "label": "2"
718
+ },
719
+ {
720
+ "label": "3"
721
+ }
722
+ ]
723
+ },
724
+ {
725
+ "keys": [
726
+ {
727
+ "label": "4"
728
+ },
729
+ {
730
+ "label": "5"
731
+ },
732
+ {
733
+ "label": "6"
734
+ }
735
+ ]
736
+ },
737
+ {
738
+ "keys": [
739
+ {
740
+ "label": "7"
741
+ },
742
+ {
743
+ "label": "8"
744
+ },
745
+ {
746
+ "label": "9"
747
+ }
748
+ ]
749
+ },
750
+ {
751
+ "keys": [
752
+ {
753
+ "label": "@"
754
+ },
755
+ {
756
+ "label": "."
757
+ },
758
+ {
759
+ "label": "0"
760
+ }
761
+ ]
762
+ }
763
+ ]
764
+ },
765
+ {
766
+ "modes": "SymbolsLower",
767
+ "rows": [
768
+ {
769
+ "keys": [
770
+ {
771
+ "label": "\u00b4"
772
+ },
773
+ {
774
+ "label": "\u02c6"
775
+ },
776
+ {
777
+ "label": "\u02dc"
778
+ }
779
+ ]
780
+ },
781
+ {
782
+ "keys": [
783
+ {
784
+ "label": "\u00a8"
785
+ },
786
+ {
787
+ "label": "\u00af"
788
+ },
789
+ {
790
+ "label": "\u00b8"
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "keys": [
796
+ {
797
+ "label": "="
798
+ },
799
+ {
800
+ "label": "+"
801
+ },
802
+ {
803
+ "label": "\u00d7"
804
+ }
805
+ ]
806
+ },
807
+ {
808
+ "keys": [
809
+ {
810
+ "label": "\u00f7"
811
+ },
812
+ {
813
+ "label": "\u00b1"
814
+ },
815
+ {
816
+ "label": "\u2030"
817
+ }
818
+ ]
819
+ }
820
+ ]
821
+ },
822
+ {
823
+ "modes": [
824
+ "SymbolsUpper",
825
+ "SymbolsShift"
826
+ ],
827
+ "rows": [
828
+ {
829
+ "keys": [
830
+ {
831
+ "label": "\u00bc"
832
+ },
833
+ {
834
+ "label": "\u00bd"
835
+ },
836
+ {
837
+ "label": "\u00be"
838
+ }
839
+ ]
840
+ },
841
+ {
842
+ "keys": [
843
+ {
844
+ "label": "\u201c"
845
+ },
846
+ {
847
+ "label": "\u201d"
848
+ },
849
+ {
850
+ "label": "\u201e"
851
+ }
852
+ ]
853
+ },
854
+ {
855
+ "keys": [
856
+ {
857
+ "label": "\u2018"
858
+ },
859
+ {
860
+ "label": "\u2019"
861
+ },
862
+ {
863
+ "label": "\u201a"
864
+ }
865
+ ]
866
+ },
867
+ {
868
+ "keys": [
869
+ {
870
+ "label": "\u2013"
871
+ },
872
+ {
873
+ "label": "\u2014"
874
+ },
875
+ {}
876
+ ]
877
+ }
878
+ ]
879
+ },
880
+ {
881
+ "modes": "AccentsLower",
882
+ "rows": [
883
+ {
884
+ "keys": [
885
+ {
886
+ "label": "\u00fd"
887
+ },
888
+ {
889
+ "label": "\u00ff"
890
+ },
891
+ {
892
+ "label": "\u0161"
893
+ }
894
+ ]
895
+ },
896
+ {
897
+ "keys": [
898
+ {
899
+ "label": "\u017e"
900
+ },
901
+ {
902
+ "label": "\u00f0"
903
+ },
904
+ {
905
+ "label": "\u00fe"
906
+ }
907
+ ]
908
+ },
909
+ {
910
+ "keys": [
911
+ {
912
+ "label": "\u00df"
913
+ },
914
+ {},
915
+ {}
916
+ ]
917
+ },
918
+ {
919
+ "keys": [
920
+ {},
921
+ {},
922
+ {}
923
+ ]
924
+ }
925
+ ]
926
+ },
927
+ {
928
+ "modes": [
929
+ "AccentsUpper",
930
+ "AccentsShift"
931
+ ],
932
+ "rows": [
933
+ {
934
+ "keys": [
935
+ {
936
+ "label": "\u00dd"
937
+ },
938
+ {
939
+ "label": "\u0178"
940
+ },
941
+ {
942
+ "label": "\u0160"
943
+ }
944
+ ]
945
+ },
946
+ {
947
+ "keys": [
948
+ {
949
+ "label": "\u017d"
950
+ },
951
+ {
952
+ "label": "\u00d0"
953
+ },
954
+ {
955
+ "label": "\u00de"
956
+ }
957
+ ]
958
+ },
959
+ {
960
+ "keys": [
961
+ {},
962
+ {},
963
+ {}
964
+ ]
965
+ },
966
+ {
967
+ "keys": [
968
+ {},
969
+ {},
970
+ {}
971
+ ]
972
+ }
973
+ ]
974
+ }
975
+ ]
976
+ },
977
+ {
978
+ "sectionWidthFHD": 180,
979
+ "sectionWidthHD": 120,
980
+ "grids": [
981
+ {
982
+ "modes": [
983
+ "ABC123Lower",
984
+ "ABC123Shift"
985
+ ],
986
+ "rows": [
987
+ {
988
+ "keys": [
989
+ {
990
+ "icon": "theme:DKB_CapsModOffKeyBitmap",
991
+ "focusIcon": "theme:DKB_CapsModOffKeyFocusBitmap",
992
+ "strOut": "capslock"
993
+ }
994
+ ]
995
+ },
996
+ {
997
+ "keys": [
998
+ {
999
+ "icon": "theme:DKB_ABC123ModOnKeyBitmap",
1000
+ "focusIcon": "theme:DKB_ABC123ModOnKeyFocusBitmap",
1001
+ "strOut": "abc123"
1002
+ }
1003
+ ]
1004
+ },
1005
+ {
1006
+ "keys": [
1007
+ {
1008
+ "icon": "theme:DKB_SymbolsModOffKeyBitmap",
1009
+ "focusIcon": "theme:DKB_SymbolsModOffKeyFocusBitmap",
1010
+ "strOut": "symbols"
1011
+ }
1012
+ ]
1013
+ },
1014
+ {
1015
+ "keys": [
1016
+ {
1017
+ "icon": "theme:DKB_AccentsModOffKeyBitmap",
1018
+ "focusIcon": "theme:DKB_AccentsModOffKeyFocusBitmap",
1019
+ "strOut": "accents"
1020
+ }
1021
+ ]
1022
+ }
1023
+ ]
1024
+ },
1025
+ {
1026
+ "modes": [
1027
+ "ABC123Upper",
1028
+ "capsLock"
1029
+ ],
1030
+ "rows": [
1031
+ {
1032
+ "keys": [
1033
+ {
1034
+ "icon": "theme:DKB_CapsModOnKeyBitmap",
1035
+ "focusIcon": "theme:DKB_CapsModOnKeyFocusBitmap",
1036
+ "strOut": "capslock"
1037
+ }
1038
+ ]
1039
+ },
1040
+ {
1041
+ "keys": [
1042
+ {
1043
+ "icon": "theme:DKB_ABC123ModOnKeyBitmap",
1044
+ "focusIcon": "theme:DKB_ABC123ModOnKeyFocusBitmap",
1045
+ "strOut": "abc123"
1046
+ }
1047
+ ]
1048
+ },
1049
+ {
1050
+ "keys": [
1051
+ {
1052
+ "icon": "theme:DKB_SymbolsModOffKeyBitmap",
1053
+ "focusIcon": "theme:DKB_SymbolsModOffKeyFocusBitmap",
1054
+ "strOut": "symbols"
1055
+ }
1056
+ ]
1057
+ },
1058
+ {
1059
+ "keys": [
1060
+ {
1061
+ "icon": "theme:DKB_AccentsModOffKeyBitmap",
1062
+ "focusIcon": "theme:DKB_AccentsModOffKeyFocusBitmap",
1063
+ "strOut": "accents"
1064
+ }
1065
+ ]
1066
+ }
1067
+ ]
1068
+ },
1069
+ {
1070
+ "modes": [
1071
+ "SymbolsLower",
1072
+ "SymbolsShift"
1073
+ ],
1074
+ "rows": [
1075
+ {
1076
+ "keys": [
1077
+ {
1078
+ "icon": "theme:DKB_CapsModOffKeyBitmap",
1079
+ "focusIcon": "theme:DKB_CapsModOffKeyFocusBitmap",
1080
+ "strOut": "capslock"
1081
+ }
1082
+ ]
1083
+ },
1084
+ {
1085
+ "keys": [
1086
+ {
1087
+ "icon": "theme:DKB_ABC123ModOffKeyBitmap",
1088
+ "focusIcon": "theme:DKB_ABC123ModOffKeyFocusBitmap",
1089
+ "strOut": "abc123"
1090
+ }
1091
+ ]
1092
+ },
1093
+ {
1094
+ "keys": [
1095
+ {
1096
+ "icon": "theme:DKB_SymbolsModOnKeyBitmap",
1097
+ "focusIcon": "theme:DKB_SymbolsModOnKeyFocusBitmap",
1098
+ "strOut": "symbols"
1099
+ }
1100
+ ]
1101
+ },
1102
+ {
1103
+ "keys": [
1104
+ {
1105
+ "icon": "theme:DKB_AccentsModOffKeyBitmap",
1106
+ "focusIcon": "theme:DKB_AccentsModOffKeyFocusBitmap",
1107
+ "strOut": "accents"
1108
+ }
1109
+ ]
1110
+ }
1111
+ ]
1112
+ },
1113
+ {
1114
+ "modes": "SymbolsUpper",
1115
+ "rows": [
1116
+ {
1117
+ "keys": [
1118
+ {
1119
+ "icon": "theme:DKB_CapsModOnKeyBitmap",
1120
+ "focusIcon": "theme:DKB_CapsModOnKeyFocusBitmap",
1121
+ "strOut": "capslock"
1122
+ }
1123
+ ]
1124
+ },
1125
+ {
1126
+ "keys": [
1127
+ {
1128
+ "icon": "theme:DKB_ABC123ModOffKeyBitmap",
1129
+ "focusIcon": "theme:DKB_ABC123ModOffKeyFocusBitmap",
1130
+ "strOut": "abc123"
1131
+ }
1132
+ ]
1133
+ },
1134
+ {
1135
+ "keys": [
1136
+ {
1137
+ "icon": "theme:DKB_SymbolsModOnKeyBitmap",
1138
+ "focusIcon": "theme:DKB_SymbolsModOnKeyFocusBitmap",
1139
+ "strOut": "symbols"
1140
+ }
1141
+ ]
1142
+ },
1143
+ {
1144
+ "keys": [
1145
+ {
1146
+ "icon": "theme:DKB_AccentsModOffKeyBitmap",
1147
+ "focusIcon": "theme:DKB_AccentsModOffKeyFocusBitmap",
1148
+ "strOut": "accents"
1149
+ }
1150
+ ]
1151
+ }
1152
+ ]
1153
+ },
1154
+ {
1155
+ "modes": [
1156
+ "AccentsLower",
1157
+ "AccentsShift"
1158
+ ],
1159
+ "rows": [
1160
+ {
1161
+ "keys": [
1162
+ {
1163
+ "icon": "theme:DKB_CapsModOffKeyBitmap",
1164
+ "focusIcon": "theme:DKB_CapsModOffKeyFocusBitmap",
1165
+ "strOut": "capslock"
1166
+ }
1167
+ ]
1168
+ },
1169
+ {
1170
+ "keys": [
1171
+ {
1172
+ "icon": "theme:DKB_ABC123ModOffKeyBitmap",
1173
+ "focusIcon": "theme:DKB_ABC123ModOffKeyFocusBitmap",
1174
+ "strOut": "abc123"
1175
+ }
1176
+ ]
1177
+ },
1178
+ {
1179
+ "keys": [
1180
+ {
1181
+ "icon": "theme:DKB_SymbolsModOffKeyBitmap",
1182
+ "focusIcon": "theme:DKB_SymbolsModOffKeyFocusBitmap",
1183
+ "strOut": "symbols"
1184
+ }
1185
+ ]
1186
+ },
1187
+ {
1188
+ "keys": [
1189
+ {
1190
+ "icon": "theme:DKB_AccentsModOnKeyBitmap",
1191
+ "focusIcon": "theme:DKB_AccentsModOnKeyFocusBitmap",
1192
+ "strOut": "accents"
1193
+ }
1194
+ ]
1195
+ }
1196
+ ]
1197
+ },
1198
+ {
1199
+ "modes": "AccentsUpper",
1200
+ "rows": [
1201
+ {
1202
+ "keys": [
1203
+ {
1204
+ "icon": "theme:DKB_CapsModOnKeyBitmap",
1205
+ "focusIcon": "theme:DKB_CapsModOnKeyFocusBitmap",
1206
+ "strOut": "capslock"
1207
+ }
1208
+ ]
1209
+ },
1210
+ {
1211
+ "keys": [
1212
+ {
1213
+ "icon": "theme:DKB_ABC123ModOffKeyBitmap",
1214
+ "focusIcon": "theme:DKB_ABC123ModOffKeyFocusBitmap",
1215
+ "strOut": "abc123"
1216
+ }
1217
+ ]
1218
+ },
1219
+ {
1220
+ "keys": [
1221
+ {
1222
+ "icon": "theme:DKB_SymbolsModOffKeyBitmap",
1223
+ "focusIcon": "theme:DKB_SymbolsModOffKeyFocusBitmap",
1224
+ "strOut": "symbols"
1225
+ }
1226
+ ]
1227
+ },
1228
+ {
1229
+ "keys": [
1230
+ {
1231
+ "icon": "theme:DKB_AccentsModOnKeyBitmap",
1232
+ "focusIcon": "theme:DKB_AccentsModOnKeyFocusBitmap",
1233
+ "strOut": "accents"
1234
+ }
1235
+ ]
1236
+ }
1237
+ ]
1238
+ }
1239
+ ]
1240
+ }
1241
+ ]
1242
+ }