bfg-common 1.3.239 → 1.3.241
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/common/BadBrowser.vue +16 -12
- package/components/common/accordion/Accordion.vue +1 -0
- package/components/common/accordion/Recursion.vue +2 -0
- package/components/common/accordion/lib/models/interfaces.ts +1 -0
- package/components/common/adapterManager/AddAdapterModal.vue +11 -4
- package/components/common/adapterManager/AddAdapterWarningModal.vue +1 -0
- package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +2 -0
- package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +2 -0
- package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +2 -0
- package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +2 -0
- package/components/common/adapterManager/ui/table/Adapters.vue +14 -13
- package/components/common/adapterManager/ui/table/Header.vue +6 -4
- package/components/common/adapterManager/ui/table/Table.vue +13 -4
- package/components/common/browse/Browse.vue +5 -1
- package/components/common/browse/blocks/Container.vue +3 -0
- package/components/common/browse/blocks/contents/Files.vue +1 -0
- package/components/common/context/ContextRecursion.vue +6 -1
- package/components/common/details/DetailsItem.vue +3 -0
- package/components/common/diagramMain/Header.vue +4 -0
- package/components/common/diagramMain/adapter/AdapterItem.vue +2 -0
- package/components/common/diagramMain/adapter/Contents.vue +2 -0
- package/components/common/diagramMain/lib/models/interfaces.ts +10 -0
- package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +1 -0
- package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +13 -27
- package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +1 -0
- package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +3 -0
- package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +8 -0
- package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +6 -0
- package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +2 -0
- package/components/common/diagramMain/modals/lib/config/networkModal.ts +4 -0
- package/components/common/diagramMain/modals/lib/config/portModal.ts +7 -2
- package/components/common/diagramMain/modals/lib/mappers/mappers.ts +36 -0
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +19 -13
- package/components/common/diagramMain/modals/remove/RemoveModal.vue +5 -0
- package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +11 -7
- package/components/common/diagramMain/network/Contents.vue +5 -4
- package/components/common/diagramMain/port/Port.vue +1 -0
- package/components/common/feedback/Buttons.vue +2 -0
- package/components/common/feedback/Feedback.vue +9 -2
- package/components/common/feedback/Message.vue +9 -0
- package/components/common/feedback/VisitPortal.vue +11 -2
- package/components/common/help/navbar/left/Left.vue +1 -0
- package/components/common/help/navbar/right/Right.vue +12 -2
- package/components/common/help/navbar/right/lib/models/interfaces.ts +1 -0
- package/components/common/home/alertsTable/AlertsTable.vue +1 -0
- package/components/common/modals/Confirmation.vue +10 -2
- package/components/common/modals/Rename.vue +1 -0
- package/components/common/monitor/advanced/tools/Tools.vue +10 -1
- package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +7 -1
- package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +6 -1
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +14 -1
- package/components/common/monitor/overview/filters/Filters.vue +12 -5
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +4 -0
- package/components/common/pages/Tasks.vue +120 -120
- package/components/common/perPage/PerPage.vue +1 -0
- package/components/common/recursionTree/RecursionTree.vue +205 -203
- package/components/common/recursionTree/lib/models/interfaces.ts +4 -2
- package/components/common/select/button/ButtonDropdown.vue +2 -0
- package/components/common/select/button/lib/models/interfaces.ts +1 -0
- package/components/common/select/input/Input.vue +1 -0
- package/components/common/select/radio/RadioGroup.vue +2 -0
- package/components/common/select/radio/lib/models/interfaces.ts +1 -0
- package/components/common/shortcuts/Block.vue +2 -0
- package/components/common/shortcuts/Category.vue +1 -0
- package/components/common/shortcuts/lib/models/interfaces.ts +1 -0
- package/components/common/spiceConsole/Drawer.vue +4 -0
- package/components/common/spiceConsole/keyboard/Keyboard.vue +1 -0
- package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +81 -6
- package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +1 -0
- package/components/common/split/horizontal/Horizontal.vue +1 -0
- package/components/common/vm/actions/add/Add.vue +576 -575
- package/components/common/vm/actions/clone/select/options/Options.vue +9 -3
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +7 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +225 -220
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +6 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +5 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +295 -294
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +12 -4
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +3 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +6 -1
- package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +31 -27
- package/components/common/vm/actions/common/select/name/Name.vue +7 -1
- package/components/common/vm/actions/common/select/os/os.vue +7 -1
- package/components/common/weekSelect/WeekSelect.vue +143 -112
- package/components/common/weekSelect/lib/models/interfaces.ts +1 -0
- package/components/common/wizards/datastore/add/local/createName/CreateName.vue +1 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +8 -7
- package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +9 -1
- package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +6 -3
- package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +1 -0
- package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +3 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +2 -0
- package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +2 -0
- package/components/common/wizards/datastore/add/types/Types.vue +1 -0
- package/components/common/wizards/network/add/modals/SelectNetwork.vue +16 -3
- package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +10 -2
- package/components/common/wizards/network/add/modals/SelectSwitch.vue +10 -2
- package/components/common/wizards/network/add/steps/ConnectionSettings.vue +5 -1
- package/components/common/wizards/network/add/steps/IpFourSettings.vue +12 -2
- package/components/common/wizards/network/add/steps/PortProperties.vue +16 -3
- package/components/common/wizards/network/add/steps/SelectConnectionType.vue +6 -3
- package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +11 -0
- package/components/common/wizards/vm/common/tooltip/Tooltip.vue +2 -0
- package/components/common/wizards/vm/migrate/select/network/Network.vue +1 -0
- package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +1 -0
- package/components/common/wizards/vm/migrate/select/storage/Storage.vue +5 -1
- package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +1 -0
- package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +1 -0
- package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +1 -0
- package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +1 -0
- package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +9 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I_KeyboardRowItem } from
|
|
1
|
+
import { I_KeyboardRowItem } from '~/components/common/spiceConsole/keyboard/lib/models/interfaces'
|
|
2
2
|
|
|
3
3
|
const keyboardRows: I_KeyboardRowItem[][] = [
|
|
4
4
|
[
|
|
@@ -10,6 +10,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
10
10
|
secondaryValue: 'Esc',
|
|
11
11
|
shiftValue: 'Esc',
|
|
12
12
|
capsLockValue: 'Esc',
|
|
13
|
+
testId: 'key-esc',
|
|
13
14
|
},
|
|
14
15
|
{
|
|
15
16
|
name: 'F1',
|
|
@@ -19,6 +20,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
19
20
|
secondaryValue: 'F1',
|
|
20
21
|
shiftValue: 'F1',
|
|
21
22
|
capsLockValue: 'F1',
|
|
23
|
+
testId: 'key-f1',
|
|
22
24
|
},
|
|
23
25
|
{
|
|
24
26
|
name: 'F2',
|
|
@@ -28,6 +30,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
28
30
|
secondaryValue: 'F2',
|
|
29
31
|
shiftValue: 'F2',
|
|
30
32
|
capsLockValue: 'F2',
|
|
33
|
+
testId: 'key-f2',
|
|
31
34
|
},
|
|
32
35
|
{
|
|
33
36
|
name: 'F3',
|
|
@@ -37,6 +40,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
37
40
|
secondaryValue: 'F3',
|
|
38
41
|
shiftValue: 'F3',
|
|
39
42
|
capsLockValue: 'F3',
|
|
43
|
+
testId: 'key-f3',
|
|
40
44
|
},
|
|
41
45
|
{
|
|
42
46
|
name: 'F4',
|
|
@@ -46,6 +50,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
46
50
|
secondaryValue: 'F4',
|
|
47
51
|
shiftValue: 'F4',
|
|
48
52
|
capsLockValue: 'F4',
|
|
53
|
+
testId: 'key-f4',
|
|
49
54
|
},
|
|
50
55
|
{
|
|
51
56
|
name: 'F5',
|
|
@@ -55,6 +60,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
55
60
|
secondaryValue: 'F5',
|
|
56
61
|
shiftValue: 'F5',
|
|
57
62
|
capsLockValue: 'F5',
|
|
63
|
+
testId: 'key-f5',
|
|
58
64
|
},
|
|
59
65
|
{
|
|
60
66
|
name: 'F6',
|
|
@@ -64,6 +70,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
64
70
|
secondaryValue: 'F6',
|
|
65
71
|
shiftValue: 'F6',
|
|
66
72
|
capsLockValue: 'F6',
|
|
73
|
+
testId: 'key-f6',
|
|
67
74
|
},
|
|
68
75
|
{
|
|
69
76
|
name: 'F7',
|
|
@@ -73,6 +80,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
73
80
|
secondaryValue: 'F7',
|
|
74
81
|
shiftValue: 'F7',
|
|
75
82
|
capsLockValue: 'F7',
|
|
83
|
+
testId: 'key-f7',
|
|
76
84
|
},
|
|
77
85
|
{
|
|
78
86
|
name: 'F8',
|
|
@@ -82,6 +90,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
82
90
|
secondaryValue: 'F8',
|
|
83
91
|
shiftValue: 'F8',
|
|
84
92
|
capsLockValue: 'F8',
|
|
93
|
+
testId: 'key-f8',
|
|
85
94
|
},
|
|
86
95
|
{
|
|
87
96
|
name: 'F9',
|
|
@@ -91,6 +100,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
91
100
|
secondaryValue: 'F9',
|
|
92
101
|
shiftValue: 'F9',
|
|
93
102
|
capsLockValue: 'F9',
|
|
103
|
+
testId: 'key-f9',
|
|
94
104
|
},
|
|
95
105
|
{
|
|
96
106
|
name: 'F10',
|
|
@@ -100,6 +110,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
100
110
|
secondaryValue: 'F10',
|
|
101
111
|
shiftValue: 'F10',
|
|
102
112
|
capsLockValue: 'F10',
|
|
113
|
+
testId: 'key-f10',
|
|
103
114
|
},
|
|
104
115
|
{
|
|
105
116
|
name: 'F11',
|
|
@@ -109,6 +120,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
109
120
|
secondaryValue: 'F11',
|
|
110
121
|
shiftValue: 'F11',
|
|
111
122
|
capsLockValue: 'F11',
|
|
123
|
+
testId: 'key-f11',
|
|
112
124
|
},
|
|
113
125
|
{
|
|
114
126
|
name: 'F12',
|
|
@@ -118,6 +130,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
118
130
|
secondaryValue: 'F12',
|
|
119
131
|
shiftValue: 'F12',
|
|
120
132
|
capsLockValue: 'F12',
|
|
133
|
+
testId: 'key-f12',
|
|
121
134
|
},
|
|
122
135
|
],
|
|
123
136
|
[
|
|
@@ -133,6 +146,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
133
146
|
rusSecondaryValue: 'ё',
|
|
134
147
|
rusShiftValue: 'Ё',
|
|
135
148
|
rusCapsLockValue: 'Ё',
|
|
149
|
+
testId: 'key-backquote',
|
|
136
150
|
},
|
|
137
151
|
{
|
|
138
152
|
name: '1',
|
|
@@ -144,6 +158,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
144
158
|
capsLockValue: '1',
|
|
145
159
|
rusSecondaryValue: '!',
|
|
146
160
|
rusShiftValue: '!',
|
|
161
|
+
testId: 'key-digit1',
|
|
147
162
|
},
|
|
148
163
|
{
|
|
149
164
|
name: '2',
|
|
@@ -155,6 +170,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
155
170
|
capsLockValue: '2',
|
|
156
171
|
rusSecondaryValue: '"',
|
|
157
172
|
rusShiftValue: '"',
|
|
173
|
+
testId: 'key-digit2',
|
|
158
174
|
},
|
|
159
175
|
{
|
|
160
176
|
name: '3',
|
|
@@ -166,6 +182,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
166
182
|
capsLockValue: '3',
|
|
167
183
|
rusSecondaryValue: '№',
|
|
168
184
|
rusShiftValue: '№',
|
|
185
|
+
testId: 'key-digit3',
|
|
169
186
|
},
|
|
170
187
|
{
|
|
171
188
|
name: '4',
|
|
@@ -177,6 +194,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
177
194
|
capsLockValue: '4',
|
|
178
195
|
rusSecondaryValue: ';',
|
|
179
196
|
rusShiftValue: ';',
|
|
197
|
+
testId: 'key-digit4',
|
|
180
198
|
},
|
|
181
199
|
{
|
|
182
200
|
name: '5',
|
|
@@ -188,6 +206,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
188
206
|
capsLockValue: '5',
|
|
189
207
|
rusSecondaryValue: '%',
|
|
190
208
|
rusShiftValue: '%',
|
|
209
|
+
testId: 'key-digit5',
|
|
191
210
|
},
|
|
192
211
|
{
|
|
193
212
|
name: '6',
|
|
@@ -199,6 +218,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
199
218
|
capsLockValue: '6',
|
|
200
219
|
rusSecondaryValue: ':',
|
|
201
220
|
rusShiftValue: ':',
|
|
221
|
+
testId: 'key-digit6',
|
|
202
222
|
},
|
|
203
223
|
{
|
|
204
224
|
name: '7',
|
|
@@ -210,6 +230,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
210
230
|
capsLockValue: '7',
|
|
211
231
|
rusSecondaryValue: '?',
|
|
212
232
|
rusShiftValue: '?',
|
|
233
|
+
testId: 'key-digit7',
|
|
213
234
|
},
|
|
214
235
|
{
|
|
215
236
|
name: '8',
|
|
@@ -221,6 +242,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
221
242
|
capsLockValue: '8',
|
|
222
243
|
rusSecondaryValue: '*',
|
|
223
244
|
rusShiftValue: '*',
|
|
245
|
+
testId: 'key-digit8',
|
|
224
246
|
},
|
|
225
247
|
{
|
|
226
248
|
name: '9',
|
|
@@ -232,6 +254,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
232
254
|
capsLockValue: '9',
|
|
233
255
|
rusSecondaryValue: '(',
|
|
234
256
|
rusShiftValue: '(',
|
|
257
|
+
testId: 'key-digit9',
|
|
235
258
|
},
|
|
236
259
|
{
|
|
237
260
|
name: '0',
|
|
@@ -243,6 +266,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
243
266
|
capsLockValue: '0',
|
|
244
267
|
rusSecondaryValue: ')',
|
|
245
268
|
rusShiftValue: ')',
|
|
269
|
+
testId: 'key-digit0',
|
|
246
270
|
},
|
|
247
271
|
{
|
|
248
272
|
name: '-',
|
|
@@ -256,6 +280,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
256
280
|
rusSecondaryValue: '_',
|
|
257
281
|
rusCapsLockValue: '-',
|
|
258
282
|
rusShiftValue: '_',
|
|
283
|
+
testId: 'key-minus',
|
|
259
284
|
},
|
|
260
285
|
{
|
|
261
286
|
name: '=',
|
|
@@ -269,6 +294,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
269
294
|
rusSecondaryValue: '+',
|
|
270
295
|
rusCapsLockValue: '=',
|
|
271
296
|
rusShiftValue: '+',
|
|
297
|
+
testId: 'key-equal',
|
|
272
298
|
},
|
|
273
299
|
{
|
|
274
300
|
name: 'Backspace',
|
|
@@ -278,6 +304,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
278
304
|
secondaryValue: 'Backspace',
|
|
279
305
|
shiftValue: 'Backspace',
|
|
280
306
|
capsLockValue: 'Backspace',
|
|
307
|
+
testId: 'key-backspace',
|
|
281
308
|
},
|
|
282
309
|
],
|
|
283
310
|
[
|
|
@@ -289,6 +316,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
289
316
|
secondaryValue: 'Tab',
|
|
290
317
|
shiftValue: 'Tab',
|
|
291
318
|
capsLockValue: 'Tab',
|
|
319
|
+
testId: 'key-tab',
|
|
292
320
|
},
|
|
293
321
|
{
|
|
294
322
|
name: 'Q',
|
|
@@ -303,6 +331,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
303
331
|
rusSecondaryValue: 'й',
|
|
304
332
|
rusCapsLockValue: 'Й',
|
|
305
333
|
rusShiftValue: 'Й',
|
|
334
|
+
testId: 'key-Q',
|
|
306
335
|
},
|
|
307
336
|
{
|
|
308
337
|
name: 'W',
|
|
@@ -317,6 +346,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
317
346
|
rusSecondaryValue: 'ц',
|
|
318
347
|
rusCapsLockValue: 'Ц',
|
|
319
348
|
rusShiftValue: 'Ц',
|
|
349
|
+
testId: 'key-W',
|
|
320
350
|
},
|
|
321
351
|
{
|
|
322
352
|
name: 'E',
|
|
@@ -331,6 +361,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
331
361
|
rusSecondaryValue: 'у',
|
|
332
362
|
rusCapsLockValue: 'У',
|
|
333
363
|
rusShiftValue: 'У',
|
|
364
|
+
testId: 'key-E',
|
|
334
365
|
},
|
|
335
366
|
{
|
|
336
367
|
name: 'R',
|
|
@@ -345,6 +376,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
345
376
|
rusSecondaryValue: 'к',
|
|
346
377
|
rusCapsLockValue: 'К',
|
|
347
378
|
rusShiftValue: 'К',
|
|
379
|
+
testId: 'key-R',
|
|
348
380
|
},
|
|
349
381
|
{
|
|
350
382
|
name: 'T',
|
|
@@ -359,6 +391,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
359
391
|
rusSecondaryValue: 'е',
|
|
360
392
|
rusCapsLockValue: 'Е',
|
|
361
393
|
rusShiftValue: 'Е',
|
|
394
|
+
testId: 'key-T',
|
|
362
395
|
},
|
|
363
396
|
{
|
|
364
397
|
name: 'Y',
|
|
@@ -373,6 +406,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
373
406
|
rusSecondaryValue: 'н',
|
|
374
407
|
rusCapsLockValue: 'Н',
|
|
375
408
|
rusShiftValue: 'Н',
|
|
409
|
+
testId: 'key-Y',
|
|
376
410
|
},
|
|
377
411
|
{
|
|
378
412
|
name: 'U',
|
|
@@ -387,6 +421,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
387
421
|
rusSecondaryValue: 'г',
|
|
388
422
|
rusCapsLockValue: 'Г',
|
|
389
423
|
rusShiftValue: 'Г',
|
|
424
|
+
testId: 'key-U',
|
|
390
425
|
},
|
|
391
426
|
{
|
|
392
427
|
name: 'I',
|
|
@@ -401,6 +436,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
401
436
|
rusSecondaryValue: 'ш',
|
|
402
437
|
rusCapsLockValue: 'Ш',
|
|
403
438
|
rusShiftValue: 'Ш',
|
|
439
|
+
testId: 'key-I',
|
|
404
440
|
},
|
|
405
441
|
{
|
|
406
442
|
name: 'O',
|
|
@@ -415,6 +451,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
415
451
|
rusSecondaryValue: 'щ',
|
|
416
452
|
rusCapsLockValue: 'Щ',
|
|
417
453
|
rusShiftValue: 'Щ',
|
|
454
|
+
testId: 'key-O',
|
|
418
455
|
},
|
|
419
456
|
{
|
|
420
457
|
name: 'P',
|
|
@@ -429,6 +466,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
429
466
|
rusSecondaryValue: 'з',
|
|
430
467
|
rusCapsLockValue: 'З',
|
|
431
468
|
rusShiftValue: 'З',
|
|
469
|
+
testId: 'key-P',
|
|
432
470
|
},
|
|
433
471
|
{
|
|
434
472
|
name: '[',
|
|
@@ -442,6 +480,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
442
480
|
rusSecondaryValue: 'х',
|
|
443
481
|
rusCapsLockValue: 'Х',
|
|
444
482
|
rusShiftValue: 'Х',
|
|
483
|
+
testId: 'key-bracket-left',
|
|
445
484
|
},
|
|
446
485
|
{
|
|
447
486
|
name: ']',
|
|
@@ -455,6 +494,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
455
494
|
rusSecondaryValue: 'ъ',
|
|
456
495
|
rusCapsLockValue: 'Ъ',
|
|
457
496
|
rusShiftValue: 'Ъ',
|
|
497
|
+
testId: 'key-bracket-right',
|
|
458
498
|
},
|
|
459
499
|
{
|
|
460
500
|
name: '\\',
|
|
@@ -468,6 +508,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
468
508
|
rusSecondaryValue: '/',
|
|
469
509
|
rusCapsLockValue: '\\',
|
|
470
510
|
rusShiftValue: '/',
|
|
511
|
+
testId: 'key-backslash',
|
|
471
512
|
},
|
|
472
513
|
],
|
|
473
514
|
[
|
|
@@ -479,6 +520,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
479
520
|
secondaryValue: 'Caps Lock',
|
|
480
521
|
shiftValue: 'Caps Lock',
|
|
481
522
|
capsLockValue: 'Caps Lock',
|
|
523
|
+
testId: 'key-caps-lock',
|
|
482
524
|
},
|
|
483
525
|
{
|
|
484
526
|
name: 'A',
|
|
@@ -493,6 +535,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
493
535
|
rusSecondaryValue: 'ф',
|
|
494
536
|
rusCapsLockValue: 'Ф',
|
|
495
537
|
rusShiftValue: 'Ф',
|
|
538
|
+
testId: 'key-A',
|
|
496
539
|
},
|
|
497
540
|
{
|
|
498
541
|
name: 'S',
|
|
@@ -507,6 +550,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
507
550
|
rusSecondaryValue: 'ы',
|
|
508
551
|
rusCapsLockValue: 'Ы',
|
|
509
552
|
rusShiftValue: 'Ы',
|
|
553
|
+
testId: 'key-S',
|
|
510
554
|
},
|
|
511
555
|
{
|
|
512
556
|
name: 'D',
|
|
@@ -521,6 +565,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
521
565
|
rusSecondaryValue: 'в',
|
|
522
566
|
rusCapsLockValue: 'В',
|
|
523
567
|
rusShiftValue: 'В',
|
|
568
|
+
testId: 'key-D',
|
|
524
569
|
},
|
|
525
570
|
{
|
|
526
571
|
name: 'F',
|
|
@@ -535,6 +580,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
535
580
|
rusSecondaryValue: 'а',
|
|
536
581
|
rusCapsLockValue: 'А',
|
|
537
582
|
rusShiftValue: 'А',
|
|
583
|
+
testId: 'key-F',
|
|
538
584
|
},
|
|
539
585
|
{
|
|
540
586
|
name: 'G',
|
|
@@ -549,6 +595,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
549
595
|
rusSecondaryValue: 'п',
|
|
550
596
|
rusCapsLockValue: 'П',
|
|
551
597
|
rusShiftValue: 'П',
|
|
598
|
+
testId: 'key-G',
|
|
552
599
|
},
|
|
553
600
|
{
|
|
554
601
|
name: 'H',
|
|
@@ -563,6 +610,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
563
610
|
rusSecondaryValue: 'р',
|
|
564
611
|
rusCapsLockValue: 'Р',
|
|
565
612
|
rusShiftValue: 'Р',
|
|
613
|
+
testId: 'key-H',
|
|
566
614
|
},
|
|
567
615
|
{
|
|
568
616
|
name: 'J',
|
|
@@ -577,6 +625,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
577
625
|
rusSecondaryValue: 'о',
|
|
578
626
|
rusCapsLockValue: 'О',
|
|
579
627
|
rusShiftValue: 'О',
|
|
628
|
+
testId: 'key-J',
|
|
580
629
|
},
|
|
581
630
|
{
|
|
582
631
|
name: 'K',
|
|
@@ -591,6 +640,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
591
640
|
rusSecondaryValue: 'л',
|
|
592
641
|
rusCapsLockValue: 'Л',
|
|
593
642
|
rusShiftValue: 'Л',
|
|
643
|
+
testId: 'key-K',
|
|
594
644
|
},
|
|
595
645
|
{
|
|
596
646
|
name: 'L',
|
|
@@ -605,6 +655,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
605
655
|
rusSecondaryValue: 'д',
|
|
606
656
|
rusCapsLockValue: 'Д',
|
|
607
657
|
rusShiftValue: 'Д',
|
|
658
|
+
testId: 'key-L',
|
|
608
659
|
},
|
|
609
660
|
{
|
|
610
661
|
name: ';',
|
|
@@ -618,19 +669,21 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
618
669
|
rusSecondaryValue: 'ж',
|
|
619
670
|
rusCapsLockValue: 'Ж',
|
|
620
671
|
rusShiftValue: 'Ж',
|
|
672
|
+
testId: 'key-semicolon',
|
|
621
673
|
},
|
|
622
674
|
{
|
|
623
|
-
name: '
|
|
675
|
+
name: "'",
|
|
624
676
|
key: 'Quote',
|
|
625
|
-
value: '
|
|
677
|
+
value: "'",
|
|
626
678
|
width: '6%',
|
|
627
679
|
secondaryValue: '"',
|
|
628
680
|
shiftValue: '"',
|
|
629
|
-
capsLockValue: '
|
|
681
|
+
capsLockValue: "'",
|
|
630
682
|
rusValue: 'э',
|
|
631
683
|
rusSecondaryValue: 'э',
|
|
632
684
|
rusCapsLockValue: 'Э',
|
|
633
685
|
rusShiftValue: 'Э',
|
|
686
|
+
testId: 'key-quote',
|
|
634
687
|
},
|
|
635
688
|
{
|
|
636
689
|
name: 'Enter',
|
|
@@ -640,6 +693,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
640
693
|
secondaryValue: 'Enter',
|
|
641
694
|
shiftValue: 'Enter',
|
|
642
695
|
capsLockValue: 'Enter',
|
|
696
|
+
testId: 'key-enter',
|
|
643
697
|
},
|
|
644
698
|
],
|
|
645
699
|
[
|
|
@@ -651,6 +705,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
651
705
|
secondaryValue: 'Shift',
|
|
652
706
|
shiftValue: 'Shift',
|
|
653
707
|
capsLockValue: 'Shift',
|
|
708
|
+
testId: 'key-shift',
|
|
654
709
|
},
|
|
655
710
|
{
|
|
656
711
|
name: 'Z',
|
|
@@ -665,6 +720,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
665
720
|
rusSecondaryValue: 'я',
|
|
666
721
|
rusCapsLockValue: 'Я',
|
|
667
722
|
rusShiftValue: 'Я',
|
|
723
|
+
testId: 'key-Z',
|
|
668
724
|
},
|
|
669
725
|
{
|
|
670
726
|
name: 'X',
|
|
@@ -679,6 +735,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
679
735
|
rusSecondaryValue: 'ч',
|
|
680
736
|
rusCapsLockValue: 'Ч',
|
|
681
737
|
rusShiftValue: 'Ч',
|
|
738
|
+
testId: 'key-X',
|
|
682
739
|
},
|
|
683
740
|
{
|
|
684
741
|
name: 'C',
|
|
@@ -693,6 +750,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
693
750
|
rusSecondaryValue: 'с',
|
|
694
751
|
rusCapsLockValue: 'С',
|
|
695
752
|
rusShiftValue: 'С',
|
|
753
|
+
testId: 'key-C',
|
|
696
754
|
},
|
|
697
755
|
{
|
|
698
756
|
name: 'V',
|
|
@@ -707,6 +765,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
707
765
|
rusSecondaryValue: 'м',
|
|
708
766
|
rusCapsLockValue: 'М',
|
|
709
767
|
rusShiftValue: 'М',
|
|
768
|
+
testId: 'key-V',
|
|
710
769
|
},
|
|
711
770
|
{
|
|
712
771
|
name: 'B',
|
|
@@ -721,6 +780,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
721
780
|
rusSecondaryValue: 'и',
|
|
722
781
|
rusCapsLockValue: 'И',
|
|
723
782
|
rusShiftValue: 'И',
|
|
783
|
+
testId: 'key-B',
|
|
724
784
|
},
|
|
725
785
|
{
|
|
726
786
|
name: 'N',
|
|
@@ -735,6 +795,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
735
795
|
rusSecondaryValue: 'т',
|
|
736
796
|
rusCapsLockValue: 'Т',
|
|
737
797
|
rusShiftValue: 'Т',
|
|
798
|
+
testId: 'key-N',
|
|
738
799
|
},
|
|
739
800
|
{
|
|
740
801
|
name: 'M',
|
|
@@ -749,6 +810,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
749
810
|
rusSecondaryValue: 'ь',
|
|
750
811
|
rusCapsLockValue: 'Ь',
|
|
751
812
|
rusShiftValue: 'Ь',
|
|
813
|
+
testId: 'key-M',
|
|
752
814
|
},
|
|
753
815
|
{
|
|
754
816
|
name: ',',
|
|
@@ -762,6 +824,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
762
824
|
rusSecondaryValue: 'б',
|
|
763
825
|
rusCapsLockValue: 'Б',
|
|
764
826
|
rusShiftValue: 'Б',
|
|
827
|
+
testId: 'key-comma',
|
|
765
828
|
},
|
|
766
829
|
{
|
|
767
830
|
name: '.',
|
|
@@ -775,6 +838,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
775
838
|
rusSecondaryValue: 'ю',
|
|
776
839
|
rusCapsLockValue: 'Ю',
|
|
777
840
|
rusShiftValue: 'Ю',
|
|
841
|
+
testId: 'key-period',
|
|
778
842
|
},
|
|
779
843
|
{
|
|
780
844
|
name: '/',
|
|
@@ -788,6 +852,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
788
852
|
rusSecondaryValue: ',',
|
|
789
853
|
rusCapsLockValue: '.',
|
|
790
854
|
rusShiftValue: ',',
|
|
855
|
+
testId: 'key-slash',
|
|
791
856
|
},
|
|
792
857
|
{
|
|
793
858
|
name: '\\',
|
|
@@ -801,6 +866,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
801
866
|
rusSecondaryValue: '/',
|
|
802
867
|
rusCapsLockValue: '\\',
|
|
803
868
|
rusShiftValue: '/',
|
|
869
|
+
testId: 'key-backslash',
|
|
804
870
|
},
|
|
805
871
|
{
|
|
806
872
|
name: 'Shift',
|
|
@@ -810,6 +876,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
810
876
|
secondaryValue: 'Shift',
|
|
811
877
|
shiftValue: 'Shift',
|
|
812
878
|
capsLockValue: 'Shift',
|
|
879
|
+
testId: 'key-shift',
|
|
813
880
|
},
|
|
814
881
|
],
|
|
815
882
|
[
|
|
@@ -821,6 +888,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
821
888
|
secondaryValue: 'Ctrl',
|
|
822
889
|
shiftValue: 'Ctrl',
|
|
823
890
|
capsLockValue: 'Ctrl',
|
|
891
|
+
testId: 'key-ctrl',
|
|
824
892
|
},
|
|
825
893
|
{
|
|
826
894
|
name: 'Win',
|
|
@@ -830,6 +898,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
830
898
|
secondaryValue: 'Win',
|
|
831
899
|
shiftValue: 'Win',
|
|
832
900
|
capsLockValue: 'Win',
|
|
901
|
+
testId: 'key-win',
|
|
833
902
|
},
|
|
834
903
|
{
|
|
835
904
|
name: 'Alt',
|
|
@@ -839,6 +908,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
839
908
|
secondaryValue: 'Alt',
|
|
840
909
|
shiftValue: 'Alt',
|
|
841
910
|
capsLockValue: 'Alt',
|
|
911
|
+
testId: 'key-alt',
|
|
842
912
|
},
|
|
843
913
|
{
|
|
844
914
|
name: 'Space',
|
|
@@ -848,6 +918,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
848
918
|
secondaryValue: 'Space',
|
|
849
919
|
shiftValue: 'Space',
|
|
850
920
|
capsLockValue: 'Space',
|
|
921
|
+
testId: 'key-space',
|
|
851
922
|
},
|
|
852
923
|
{
|
|
853
924
|
name: 'Alt',
|
|
@@ -857,6 +928,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
857
928
|
secondaryValue: 'Alt',
|
|
858
929
|
shiftValue: 'Alt',
|
|
859
930
|
capsLockValue: 'Alt',
|
|
931
|
+
testId: 'key-alt',
|
|
860
932
|
},
|
|
861
933
|
{
|
|
862
934
|
name: 'Win',
|
|
@@ -866,6 +938,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
866
938
|
secondaryValue: 'Win',
|
|
867
939
|
shiftValue: 'Win',
|
|
868
940
|
capsLockValue: 'Win',
|
|
941
|
+
testId: 'key-win',
|
|
869
942
|
},
|
|
870
943
|
{
|
|
871
944
|
name: 'Menu',
|
|
@@ -875,6 +948,7 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
875
948
|
secondaryValue: 'Menu',
|
|
876
949
|
shiftValue: 'Menu',
|
|
877
950
|
capsLockValue: 'Menu',
|
|
951
|
+
testId: 'key-menu',
|
|
878
952
|
},
|
|
879
953
|
{
|
|
880
954
|
name: 'Ctrl',
|
|
@@ -884,8 +958,9 @@ const keyboardRows: I_KeyboardRowItem[][] = [
|
|
|
884
958
|
secondaryValue: 'Ctrl',
|
|
885
959
|
shiftValue: 'Ctrl',
|
|
886
960
|
capsLockValue: 'Ctrl',
|
|
961
|
+
testId: 'key-ctrl',
|
|
887
962
|
},
|
|
888
963
|
],
|
|
889
|
-
]
|
|
964
|
+
]
|
|
890
965
|
|
|
891
|
-
export default keyboardRows
|
|
966
|
+
export default keyboardRows
|