@novnc/novnc 1.3.0 → 1.4.0-beta

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 (64) hide show
  1. package/AUTHORS +2 -2
  2. package/LICENSE.txt +1 -1
  3. package/README.md +23 -7
  4. package/core/decoders/jpeg.js +141 -0
  5. package/core/decoders/raw.js +1 -1
  6. package/core/decoders/zrle.js +185 -0
  7. package/core/des.js +1 -1
  8. package/core/display.js +12 -0
  9. package/core/encodings.js +4 -0
  10. package/core/input/keyboard.js +10 -0
  11. package/core/ra2.js +567 -0
  12. package/core/rfb.js +469 -84
  13. package/core/util/browser.js +56 -7
  14. package/core/util/cursor.js +4 -0
  15. package/core/util/md5.js +79 -0
  16. package/docs/API.md +318 -157
  17. package/lib/base64.js +20 -34
  18. package/lib/decoders/copyrect.js +5 -12
  19. package/lib/decoders/hextile.js +17 -47
  20. package/lib/decoders/jpeg.js +149 -0
  21. package/lib/decoders/raw.js +10 -23
  22. package/lib/decoders/rre.js +5 -16
  23. package/lib/decoders/tight.js +13 -79
  24. package/lib/decoders/tightpng.js +8 -28
  25. package/lib/decoders/zrle.js +188 -0
  26. package/lib/deflator.js +9 -23
  27. package/lib/des.js +24 -37
  28. package/lib/display.js +62 -108
  29. package/lib/encodings.js +7 -8
  30. package/lib/inflator.js +6 -19
  31. package/lib/input/domkeytable.js +77 -48
  32. package/lib/input/fixedkeys.js +8 -3
  33. package/lib/input/gesturehandler.js +86 -153
  34. package/lib/input/keyboard.js +62 -91
  35. package/lib/input/keysym.js +14 -270
  36. package/lib/input/keysymdef.js +5 -7
  37. package/lib/input/util.js +43 -85
  38. package/lib/input/vkeys.js +0 -3
  39. package/lib/input/xtscancodes.js +1 -168
  40. package/lib/ra2.js +1005 -0
  41. package/lib/rfb.js +795 -923
  42. package/lib/util/browser.js +66 -29
  43. package/lib/util/cursor.js +29 -66
  44. package/lib/util/element.js +3 -5
  45. package/lib/util/events.js +23 -30
  46. package/lib/util/eventtarget.js +5 -14
  47. package/lib/util/int.js +1 -2
  48. package/lib/util/logging.js +1 -19
  49. package/lib/util/md5.js +77 -0
  50. package/lib/util/strings.js +3 -5
  51. package/lib/vendor/pako/lib/utils/common.js +8 -17
  52. package/lib/vendor/pako/lib/zlib/adler32.js +3 -7
  53. package/lib/vendor/pako/lib/zlib/constants.js +2 -5
  54. package/lib/vendor/pako/lib/zlib/crc32.js +5 -12
  55. package/lib/vendor/pako/lib/zlib/deflate.js +213 -618
  56. package/lib/vendor/pako/lib/zlib/gzheader.js +1 -13
  57. package/lib/vendor/pako/lib/zlib/inffast.js +60 -176
  58. package/lib/vendor/pako/lib/zlib/inflate.js +398 -888
  59. package/lib/vendor/pako/lib/zlib/inftrees.js +63 -169
  60. package/lib/vendor/pako/lib/zlib/messages.js +1 -11
  61. package/lib/vendor/pako/lib/zlib/trees.js +246 -588
  62. package/lib/vendor/pako/lib/zlib/zstream.js +2 -18
  63. package/lib/websock.js +37 -88
  64. package/package.json +32 -35
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _keysym = _interopRequireDefault(require("./keysym.js"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
-
12
9
  /*
13
10
  * noVNC: HTML5 VNC client
14
11
  * Copyright (C) 2018 The noVNC Authors
@@ -21,47 +18,50 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
21
18
  *
22
19
  * See https://www.w3.org/TR/uievents-key/ for possible values.
23
20
  */
24
- var DOMKeyTable = {};
25
21
 
22
+ var DOMKeyTable = {};
26
23
  function addStandard(key, standard) {
27
24
  if (standard === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
28
25
  if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\"");
29
26
  DOMKeyTable[key] = [standard, standard, standard, standard];
30
27
  }
31
-
32
28
  function addLeftRight(key, left, right) {
33
29
  if (left === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
34
30
  if (right === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
35
31
  if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\"");
36
32
  DOMKeyTable[key] = [left, left, right, left];
37
33
  }
38
-
39
34
  function addNumpad(key, standard, numpad) {
40
35
  if (standard === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
41
36
  if (numpad === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
42
37
  if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\"");
43
38
  DOMKeyTable[key] = [standard, standard, standard, numpad];
44
- } // 3.2. Modifier Keys
39
+ }
45
40
 
41
+ // 3.2. Modifier Keys
46
42
 
47
43
  addLeftRight("Alt", _keysym["default"].XK_Alt_L, _keysym["default"].XK_Alt_R);
48
44
  addStandard("AltGraph", _keysym["default"].XK_ISO_Level3_Shift);
49
45
  addStandard("CapsLock", _keysym["default"].XK_Caps_Lock);
50
- addLeftRight("Control", _keysym["default"].XK_Control_L, _keysym["default"].XK_Control_R); // - Fn
46
+ addLeftRight("Control", _keysym["default"].XK_Control_L, _keysym["default"].XK_Control_R);
47
+ // - Fn
51
48
  // - FnLock
52
-
53
49
  addLeftRight("Meta", _keysym["default"].XK_Super_L, _keysym["default"].XK_Super_R);
54
50
  addStandard("NumLock", _keysym["default"].XK_Num_Lock);
55
51
  addStandard("ScrollLock", _keysym["default"].XK_Scroll_Lock);
56
- addLeftRight("Shift", _keysym["default"].XK_Shift_L, _keysym["default"].XK_Shift_R); // - Symbol
52
+ addLeftRight("Shift", _keysym["default"].XK_Shift_L, _keysym["default"].XK_Shift_R);
53
+ // - Symbol
57
54
  // - SymbolLock
58
55
  // - Hyper
59
56
  // - Super
57
+
60
58
  // 3.3. Whitespace Keys
61
59
 
62
60
  addNumpad("Enter", _keysym["default"].XK_Return, _keysym["default"].XK_KP_Enter);
63
61
  addStandard("Tab", _keysym["default"].XK_Tab);
64
- addNumpad(" ", _keysym["default"].XK_space, _keysym["default"].XK_KP_Space); // 3.4. Navigation Keys
62
+ addNumpad(" ", _keysym["default"].XK_space, _keysym["default"].XK_KP_Space);
63
+
64
+ // 3.4. Navigation Keys
65
65
 
66
66
  addNumpad("ArrowDown", _keysym["default"].XK_Down, _keysym["default"].XK_KP_Down);
67
67
  addNumpad("ArrowLeft", _keysym["default"].XK_Left, _keysym["default"].XK_KP_Left);
@@ -70,39 +70,45 @@ addNumpad("ArrowUp", _keysym["default"].XK_Up, _keysym["default"].XK_KP_Up);
70
70
  addNumpad("End", _keysym["default"].XK_End, _keysym["default"].XK_KP_End);
71
71
  addNumpad("Home", _keysym["default"].XK_Home, _keysym["default"].XK_KP_Home);
72
72
  addNumpad("PageDown", _keysym["default"].XK_Next, _keysym["default"].XK_KP_Next);
73
- addNumpad("PageUp", _keysym["default"].XK_Prior, _keysym["default"].XK_KP_Prior); // 3.5. Editing Keys
73
+ addNumpad("PageUp", _keysym["default"].XK_Prior, _keysym["default"].XK_KP_Prior);
74
+
75
+ // 3.5. Editing Keys
74
76
 
75
- addStandard("Backspace", _keysym["default"].XK_BackSpace); // Browsers send "Clear" for the numpad 5 without NumLock because
77
+ addStandard("Backspace", _keysym["default"].XK_BackSpace);
78
+ // Browsers send "Clear" for the numpad 5 without NumLock because
76
79
  // Windows uses VK_Clear for that key. But Unix expects KP_Begin for
77
80
  // that scenario.
78
-
79
81
  addNumpad("Clear", _keysym["default"].XK_Clear, _keysym["default"].XK_KP_Begin);
80
- addStandard("Copy", _keysym["default"].XF86XK_Copy); // - CrSel
81
-
82
+ addStandard("Copy", _keysym["default"].XF86XK_Copy);
83
+ // - CrSel
82
84
  addStandard("Cut", _keysym["default"].XF86XK_Cut);
83
- addNumpad("Delete", _keysym["default"].XK_Delete, _keysym["default"].XK_KP_Delete); // - EraseEof
85
+ addNumpad("Delete", _keysym["default"].XK_Delete, _keysym["default"].XK_KP_Delete);
86
+ // - EraseEof
84
87
  // - ExSel
85
-
86
88
  addNumpad("Insert", _keysym["default"].XK_Insert, _keysym["default"].XK_KP_Insert);
87
89
  addStandard("Paste", _keysym["default"].XF86XK_Paste);
88
90
  addStandard("Redo", _keysym["default"].XK_Redo);
89
- addStandard("Undo", _keysym["default"].XK_Undo); // 3.6. UI Keys
91
+ addStandard("Undo", _keysym["default"].XK_Undo);
92
+
93
+ // 3.6. UI Keys
94
+
90
95
  // - Accept
91
96
  // - Again (could just be XK_Redo)
92
97
  // - Attn
93
-
94
98
  addStandard("Cancel", _keysym["default"].XK_Cancel);
95
99
  addStandard("ContextMenu", _keysym["default"].XK_Menu);
96
100
  addStandard("Escape", _keysym["default"].XK_Escape);
97
101
  addStandard("Execute", _keysym["default"].XK_Execute);
98
102
  addStandard("Find", _keysym["default"].XK_Find);
99
103
  addStandard("Help", _keysym["default"].XK_Help);
100
- addStandard("Pause", _keysym["default"].XK_Pause); // - Play
104
+ addStandard("Pause", _keysym["default"].XK_Pause);
105
+ // - Play
101
106
  // - Props
102
-
103
107
  addStandard("Select", _keysym["default"].XK_Select);
104
108
  addStandard("ZoomIn", _keysym["default"].XF86XK_ZoomIn);
105
- addStandard("ZoomOut", _keysym["default"].XF86XK_ZoomOut); // 3.7. Device Keys
109
+ addStandard("ZoomOut", _keysym["default"].XF86XK_ZoomOut);
110
+
111
+ // 3.7. Device Keys
106
112
 
107
113
  addStandard("BrightnessDown", _keysym["default"].XF86XK_MonBrightnessDown);
108
114
  addStandard("BrightnessUp", _keysym["default"].XF86XK_MonBrightnessUp);
@@ -113,24 +119,26 @@ addStandard("PowerOff", _keysym["default"].XF86XK_PowerDown);
113
119
  addStandard("PrintScreen", _keysym["default"].XK_Print);
114
120
  addStandard("Hibernate", _keysym["default"].XF86XK_Hibernate);
115
121
  addStandard("Standby", _keysym["default"].XF86XK_Standby);
116
- addStandard("WakeUp", _keysym["default"].XF86XK_WakeUp); // 3.8. IME and Composition Keys
122
+ addStandard("WakeUp", _keysym["default"].XF86XK_WakeUp);
123
+
124
+ // 3.8. IME and Composition Keys
117
125
 
118
126
  addStandard("AllCandidates", _keysym["default"].XK_MultipleCandidate);
119
127
  addStandard("Alphanumeric", _keysym["default"].XK_Eisu_toggle);
120
128
  addStandard("CodeInput", _keysym["default"].XK_Codeinput);
121
129
  addStandard("Compose", _keysym["default"].XK_Multi_key);
122
- addStandard("Convert", _keysym["default"].XK_Henkan); // - Dead
130
+ addStandard("Convert", _keysym["default"].XK_Henkan);
131
+ // - Dead
123
132
  // - FinalMode
124
-
125
133
  addStandard("GroupFirst", _keysym["default"].XK_ISO_First_Group);
126
134
  addStandard("GroupLast", _keysym["default"].XK_ISO_Last_Group);
127
135
  addStandard("GroupNext", _keysym["default"].XK_ISO_Next_Group);
128
- addStandard("GroupPrevious", _keysym["default"].XK_ISO_Prev_Group); // - ModeChange (XK_Mode_switch is often used for AltGr)
136
+ addStandard("GroupPrevious", _keysym["default"].XK_ISO_Prev_Group);
137
+ // - ModeChange (XK_Mode_switch is often used for AltGr)
129
138
  // - NextCandidate
130
-
131
139
  addStandard("NonConvert", _keysym["default"].XK_Muhenkan);
132
- addStandard("PreviousCandidate", _keysym["default"].XK_PreviousCandidate); // - Process
133
-
140
+ addStandard("PreviousCandidate", _keysym["default"].XK_PreviousCandidate);
141
+ // - Process
134
142
  addStandard("SingleCandidate", _keysym["default"].XK_SingleCandidate);
135
143
  addStandard("HangulMode", _keysym["default"].XK_Hangul);
136
144
  addStandard("HanjaMode", _keysym["default"].XK_Hangul_Hanja);
@@ -140,12 +148,13 @@ addStandard("Hankaku", _keysym["default"].XK_Hankaku);
140
148
  addStandard("Hiragana", _keysym["default"].XK_Hiragana);
141
149
  addStandard("HiraganaKatakana", _keysym["default"].XK_Hiragana_Katakana);
142
150
  addStandard("KanaMode", _keysym["default"].XK_Kana_Shift); // could also be _Kana_Lock
143
-
144
151
  addStandard("KanjiMode", _keysym["default"].XK_Kanji);
145
152
  addStandard("Katakana", _keysym["default"].XK_Katakana);
146
153
  addStandard("Romaji", _keysym["default"].XK_Romaji);
147
154
  addStandard("Zenkaku", _keysym["default"].XK_Zenkaku);
148
- addStandard("ZenkakuHankaku", _keysym["default"].XK_Zenkaku_Hankaku); // 3.9. General-Purpose Function Keys
155
+ addStandard("ZenkakuHankaku", _keysym["default"].XK_Zenkaku_Hankaku);
156
+
157
+ // 3.9. General-Purpose Function Keys
149
158
 
150
159
  addStandard("F1", _keysym["default"].XK_F1);
151
160
  addStandard("F2", _keysym["default"].XK_F2);
@@ -181,20 +190,22 @@ addStandard("F31", _keysym["default"].XK_F31);
181
190
  addStandard("F32", _keysym["default"].XK_F32);
182
191
  addStandard("F33", _keysym["default"].XK_F33);
183
192
  addStandard("F34", _keysym["default"].XK_F34);
184
- addStandard("F35", _keysym["default"].XK_F35); // - Soft1...
193
+ addStandard("F35", _keysym["default"].XK_F35);
194
+ // - Soft1...
195
+
185
196
  // 3.10. Multimedia Keys
197
+
186
198
  // - ChannelDown
187
199
  // - ChannelUp
188
-
189
200
  addStandard("Close", _keysym["default"].XF86XK_Close);
190
201
  addStandard("MailForward", _keysym["default"].XF86XK_MailForward);
191
202
  addStandard("MailReply", _keysym["default"].XF86XK_Reply);
192
- addStandard("MailSend", _keysym["default"].XF86XK_Send); // - MediaClose
193
-
203
+ addStandard("MailSend", _keysym["default"].XF86XK_Send);
204
+ // - MediaClose
194
205
  addStandard("MediaFastForward", _keysym["default"].XF86XK_AudioForward);
195
206
  addStandard("MediaPause", _keysym["default"].XF86XK_AudioPause);
196
- addStandard("MediaPlay", _keysym["default"].XF86XK_AudioPlay); // - MediaPlayPause
197
-
207
+ addStandard("MediaPlay", _keysym["default"].XF86XK_AudioPlay);
208
+ // - MediaPlayPause
198
209
  addStandard("MediaRecord", _keysym["default"].XF86XK_AudioRecord);
199
210
  addStandard("MediaRewind", _keysym["default"].XF86XK_AudioRewind);
200
211
  addStandard("MediaStop", _keysym["default"].XF86XK_AudioStop);
@@ -204,10 +215,15 @@ addStandard("New", _keysym["default"].XF86XK_New);
204
215
  addStandard("Open", _keysym["default"].XF86XK_Open);
205
216
  addStandard("Print", _keysym["default"].XK_Print);
206
217
  addStandard("Save", _keysym["default"].XF86XK_Save);
207
- addStandard("SpellCheck", _keysym["default"].XF86XK_Spell); // 3.11. Multimedia Numpad Keys
218
+ addStandard("SpellCheck", _keysym["default"].XF86XK_Spell);
219
+
220
+ // 3.11. Multimedia Numpad Keys
221
+
208
222
  // - Key11
209
223
  // - Key12
224
+
210
225
  // 3.12. Audio Keys
226
+
211
227
  // - AudioBalanceLeft
212
228
  // - AudioBalanceRight
213
229
  // - AudioBassBoostDown
@@ -218,22 +234,25 @@ addStandard("SpellCheck", _keysym["default"].XF86XK_Spell); // 3.11. Multimedia
218
234
  // - AudioSurroundModeNext
219
235
  // - AudioTrebleDown
220
236
  // - AudioTrebleUp
221
-
222
237
  addStandard("AudioVolumeDown", _keysym["default"].XF86XK_AudioLowerVolume);
223
238
  addStandard("AudioVolumeUp", _keysym["default"].XF86XK_AudioRaiseVolume);
224
- addStandard("AudioVolumeMute", _keysym["default"].XF86XK_AudioMute); // - MicrophoneToggle
239
+ addStandard("AudioVolumeMute", _keysym["default"].XF86XK_AudioMute);
240
+ // - MicrophoneToggle
225
241
  // - MicrophoneVolumeDown
226
242
  // - MicrophoneVolumeUp
243
+ addStandard("MicrophoneVolumeMute", _keysym["default"].XF86XK_AudioMicMute);
244
+
245
+ // 3.13. Speech Keys
227
246
 
228
- addStandard("MicrophoneVolumeMute", _keysym["default"].XF86XK_AudioMicMute); // 3.13. Speech Keys
229
247
  // - SpeechCorrectionList
230
248
  // - SpeechInputToggle
249
+
231
250
  // 3.14. Application Keys
232
251
 
233
252
  addStandard("LaunchApplication1", _keysym["default"].XF86XK_MyComputer);
234
253
  addStandard("LaunchApplication2", _keysym["default"].XF86XK_Calculator);
235
- addStandard("LaunchCalendar", _keysym["default"].XF86XK_Calendar); // - LaunchContacts
236
-
254
+ addStandard("LaunchCalendar", _keysym["default"].XF86XK_Calendar);
255
+ // - LaunchContacts
237
256
  addStandard("LaunchMail", _keysym["default"].XF86XK_Mail);
238
257
  addStandard("LaunchMediaPlayer", _keysym["default"].XF86XK_AudioMedia);
239
258
  addStandard("LaunchMusicPlayer", _keysym["default"].XF86XK_Music);
@@ -242,7 +261,9 @@ addStandard("LaunchScreenSaver", _keysym["default"].XF86XK_ScreenSaver);
242
261
  addStandard("LaunchSpreadsheet", _keysym["default"].XF86XK_Excel);
243
262
  addStandard("LaunchWebBrowser", _keysym["default"].XF86XK_WWW);
244
263
  addStandard("LaunchWebCam", _keysym["default"].XF86XK_WebCam);
245
- addStandard("LaunchWordProcessor", _keysym["default"].XF86XK_Word); // 3.15. Browser Keys
264
+ addStandard("LaunchWordProcessor", _keysym["default"].XF86XK_Word);
265
+
266
+ // 3.15. Browser Keys
246
267
 
247
268
  addStandard("BrowserBack", _keysym["default"].XF86XK_Back);
248
269
  addStandard("BrowserFavorites", _keysym["default"].XF86XK_Favorites);
@@ -250,19 +271,27 @@ addStandard("BrowserForward", _keysym["default"].XF86XK_Forward);
250
271
  addStandard("BrowserHome", _keysym["default"].XF86XK_HomePage);
251
272
  addStandard("BrowserRefresh", _keysym["default"].XF86XK_Refresh);
252
273
  addStandard("BrowserSearch", _keysym["default"].XF86XK_Search);
253
- addStandard("BrowserStop", _keysym["default"].XF86XK_Stop); // 3.16. Mobile Phone Keys
274
+ addStandard("BrowserStop", _keysym["default"].XF86XK_Stop);
275
+
276
+ // 3.16. Mobile Phone Keys
277
+
254
278
  // - A whole bunch...
279
+
255
280
  // 3.17. TV Keys
281
+
256
282
  // - A whole bunch...
283
+
257
284
  // 3.18. Media Controller Keys
258
- // - A whole bunch...
259
285
 
286
+ // - A whole bunch...
260
287
  addStandard("Dimmer", _keysym["default"].XF86XK_BrightnessAdjust);
261
288
  addStandard("MediaAudioTrack", _keysym["default"].XF86XK_AudioCycleTrack);
262
289
  addStandard("RandomToggle", _keysym["default"].XF86XK_AudioRandomPlay);
263
290
  addStandard("SplitScreenToggle", _keysym["default"].XF86XK_SplitScreen);
264
291
  addStandard("Subtitle", _keysym["default"].XF86XK_Subtitle);
265
- addStandard("VideoModeNext", _keysym["default"].XF86XK_Next_VMode); // Extra: Numpad
292
+ addStandard("VideoModeNext", _keysym["default"].XF86XK_Next_VMode);
293
+
294
+ // Extra: Numpad
266
295
 
267
296
  addNumpad("=", _keysym["default"].XK_equal, _keysym["default"].XK_KP_Equal);
268
297
  addNumpad("+", _keysym["default"].XK_plus, _keysym["default"].XK_KP_Add);
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  /*
9
8
  * noVNC: HTML5 VNC client
10
9
  * Copyright (C) 2018 The noVNC Authors
11
10
  * Licensed under MPL 2.0 or any later version (see LICENSE.txt)
12
11
  */
13
-
14
12
  /*
15
13
  * Fallback mapping between HTML key codes (physical keys) and
16
14
  * HTML key values. This only works for keys that don't vary
@@ -20,12 +18,13 @@ exports["default"] = void 0;
20
18
  * See https://www.w3.org/TR/uievents-code/ for possible codes.
21
19
  * See https://www.w3.org/TR/uievents-key/ for possible values.
22
20
  */
23
-
24
21
  /* eslint-disable key-spacing */
25
22
  var _default = {
26
23
  // 3.1.1.1. Writing System Keys
24
+
27
25
  'Backspace': 'Backspace',
28
26
  // 3.1.1.2. Functional Keys
27
+
29
28
  'AltLeft': 'Alt',
30
29
  'AltRight': 'Alt',
31
30
  // This could also be 'AltGraph'
@@ -40,7 +39,9 @@ var _default = {
40
39
  'ShiftRight': 'Shift',
41
40
  'Tab': 'Tab',
42
41
  // FIXME: Japanese/Korean keys
42
+
43
43
  // 3.1.2. Control Pad Section
44
+
44
45
  'Delete': 'Delete',
45
46
  'End': 'End',
46
47
  'Help': 'Help',
@@ -49,15 +50,18 @@ var _default = {
49
50
  'PageDown': 'PageDown',
50
51
  'PageUp': 'PageUp',
51
52
  // 3.1.3. Arrow Pad Section
53
+
52
54
  'ArrowDown': 'ArrowDown',
53
55
  'ArrowLeft': 'ArrowLeft',
54
56
  'ArrowRight': 'ArrowRight',
55
57
  'ArrowUp': 'ArrowUp',
56
58
  // 3.1.4. Numpad Section
59
+
57
60
  'NumLock': 'NumLock',
58
61
  'NumpadBackspace': 'Backspace',
59
62
  'NumpadClear': 'Clear',
60
63
  // 3.1.5. Function Section
64
+
61
65
  'Escape': 'Escape',
62
66
  'F1': 'F1',
63
67
  'F2': 'F2',
@@ -98,6 +102,7 @@ var _default = {
98
102
  'ScrollLock': 'ScrollLock',
99
103
  'Pause': 'Pause',
100
104
  // 3.1.6. Media Keys
105
+
101
106
  'BrowserBack': 'BrowserBack',
102
107
  'BrowserFavorites': 'BrowserFavorites',
103
108
  'BrowserForward': 'BrowserForward',