@novnc/novnc 1.0.0 → 1.2.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 (87) hide show
  1. package/AUTHORS +13 -0
  2. package/LICENSE.txt +2 -1
  3. package/README.md +69 -3
  4. package/core/base64.js +35 -41
  5. package/core/decoders/copyrect.js +22 -0
  6. package/core/decoders/hextile.js +137 -0
  7. package/core/decoders/raw.js +56 -0
  8. package/core/decoders/rre.js +44 -0
  9. package/core/decoders/tight.js +315 -0
  10. package/core/decoders/tightpng.js +27 -0
  11. package/core/deflator.js +85 -0
  12. package/core/des.js +90 -95
  13. package/core/display.js +254 -297
  14. package/core/encodings.js +7 -3
  15. package/core/inflator.js +48 -20
  16. package/core/input/domkeytable.js +21 -24
  17. package/core/input/fixedkeys.js +3 -1
  18. package/core/input/gesturehandler.js +567 -0
  19. package/core/input/keyboard.js +194 -120
  20. package/core/input/keysym.js +2 -0
  21. package/core/input/keysymdef.js +3 -3
  22. package/core/input/util.js +53 -12
  23. package/core/input/vkeys.js +2 -1
  24. package/core/rfb.js +1937 -1496
  25. package/core/util/browser.js +80 -29
  26. package/core/util/cursor.js +253 -0
  27. package/core/util/element.js +32 -0
  28. package/core/util/events.js +59 -55
  29. package/core/util/eventtarget.js +25 -30
  30. package/core/util/int.js +15 -0
  31. package/core/util/logging.js +21 -16
  32. package/core/util/polyfill.js +15 -8
  33. package/core/util/strings.js +21 -8
  34. package/core/websock.js +145 -167
  35. package/docs/API.md +31 -10
  36. package/lib/base64.js +115 -0
  37. package/lib/decoders/copyrect.js +44 -0
  38. package/lib/decoders/hextile.js +173 -0
  39. package/lib/decoders/raw.js +78 -0
  40. package/lib/decoders/rre.js +65 -0
  41. package/lib/decoders/tight.js +350 -0
  42. package/lib/decoders/tightpng.js +67 -0
  43. package/lib/deflator.js +99 -0
  44. package/lib/des.js +314 -0
  45. package/lib/display.js +733 -0
  46. package/lib/encodings.js +64 -0
  47. package/lib/inflator.js +87 -0
  48. package/lib/input/domkeytable.js +282 -0
  49. package/lib/input/fixedkeys.js +123 -0
  50. package/lib/input/gesturehandler.js +642 -0
  51. package/lib/input/keyboard.js +429 -0
  52. package/lib/input/keysym.js +1135 -0
  53. package/lib/input/keysymdef.js +1354 -0
  54. package/lib/input/util.js +304 -0
  55. package/lib/input/vkeys.js +127 -0
  56. package/lib/input/xtscancodes.js +505 -0
  57. package/lib/rfb.js +3448 -0
  58. package/lib/util/browser.js +131 -0
  59. package/lib/util/cursor.js +314 -0
  60. package/lib/util/element.js +43 -0
  61. package/lib/util/events.js +142 -0
  62. package/lib/util/eventtarget.js +64 -0
  63. package/lib/util/int.js +22 -0
  64. package/lib/util/logging.js +79 -0
  65. package/lib/util/polyfill.js +72 -0
  66. package/lib/util/strings.js +38 -0
  67. package/lib/vendor/pako/lib/utils/common.js +67 -0
  68. package/lib/vendor/pako/lib/zlib/adler32.js +33 -0
  69. package/lib/vendor/pako/lib/zlib/constants.js +51 -0
  70. package/lib/vendor/pako/lib/zlib/crc32.js +42 -0
  71. package/lib/vendor/pako/lib/zlib/deflate.js +2159 -0
  72. package/lib/vendor/pako/lib/zlib/gzheader.js +53 -0
  73. package/lib/vendor/pako/lib/zlib/inffast.js +445 -0
  74. package/lib/vendor/pako/lib/zlib/inflate.js +2114 -0
  75. package/lib/vendor/pako/lib/zlib/inftrees.js +418 -0
  76. package/lib/vendor/pako/lib/zlib/messages.js +36 -0
  77. package/lib/vendor/pako/lib/zlib/trees.js +1499 -0
  78. package/lib/vendor/pako/lib/zlib/zstream.js +46 -0
  79. package/lib/vendor/promise.js +255 -0
  80. package/lib/websock.js +374 -0
  81. package/package.json +48 -28
  82. package/vendor/pako/lib/zlib/deflate.js +30 -30
  83. package/vendor/pako/lib/zlib/inflate.js +17 -17
  84. package/core/input/mouse.js +0 -280
  85. package/docs/API-internal.md +0 -125
  86. package/docs/EMBEDDING.md +0 -83
  87. package/docs/VERSION +0 -1
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.encodingName = encodingName;
7
+ exports.encodings = void 0;
8
+
9
+ /*
10
+ * noVNC: HTML5 VNC client
11
+ * Copyright (C) 2019 The noVNC Authors
12
+ * Licensed under MPL 2.0 (see LICENSE.txt)
13
+ *
14
+ * See README.md for usage and integration instructions.
15
+ */
16
+ var encodings = {
17
+ encodingRaw: 0,
18
+ encodingCopyRect: 1,
19
+ encodingRRE: 2,
20
+ encodingHextile: 5,
21
+ encodingTight: 7,
22
+ encodingTightPNG: -260,
23
+ pseudoEncodingQualityLevel9: -23,
24
+ pseudoEncodingQualityLevel0: -32,
25
+ pseudoEncodingDesktopSize: -223,
26
+ pseudoEncodingLastRect: -224,
27
+ pseudoEncodingCursor: -239,
28
+ pseudoEncodingQEMUExtendedKeyEvent: -258,
29
+ pseudoEncodingDesktopName: -307,
30
+ pseudoEncodingExtendedDesktopSize: -308,
31
+ pseudoEncodingXvp: -309,
32
+ pseudoEncodingFence: -312,
33
+ pseudoEncodingContinuousUpdates: -313,
34
+ pseudoEncodingCompressLevel9: -247,
35
+ pseudoEncodingCompressLevel0: -256,
36
+ pseudoEncodingVMwareCursor: 0x574d5664,
37
+ pseudoEncodingExtendedClipboard: 0xc0a1e5ce
38
+ };
39
+ exports.encodings = encodings;
40
+
41
+ function encodingName(num) {
42
+ switch (num) {
43
+ case encodings.encodingRaw:
44
+ return "Raw";
45
+
46
+ case encodings.encodingCopyRect:
47
+ return "CopyRect";
48
+
49
+ case encodings.encodingRRE:
50
+ return "RRE";
51
+
52
+ case encodings.encodingHextile:
53
+ return "Hextile";
54
+
55
+ case encodings.encodingTight:
56
+ return "Tight";
57
+
58
+ case encodings.encodingTightPNG:
59
+ return "TightPNG";
60
+
61
+ default:
62
+ return "[unknown encoding " + num + "]";
63
+ }
64
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _inflate2 = require("../lib/vendor/pako/lib/zlib/inflate.js");
9
+
10
+ var _zstream = _interopRequireDefault(require("../lib/vendor/pako/lib/zlib/zstream.js"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15
+
16
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
17
+
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
19
+
20
+ var Inflate = /*#__PURE__*/function () {
21
+ function Inflate() {
22
+ _classCallCheck(this, Inflate);
23
+
24
+ this.strm = new _zstream.default();
25
+ this.chunkSize = 1024 * 10 * 10;
26
+ this.strm.output = new Uint8Array(this.chunkSize);
27
+ this.windowBits = 5;
28
+ (0, _inflate2.inflateInit)(this.strm, this.windowBits);
29
+ }
30
+
31
+ _createClass(Inflate, [{
32
+ key: "setInput",
33
+ value: function setInput(data) {
34
+ if (!data) {
35
+ //FIXME: flush remaining data.
36
+
37
+ /* eslint-disable camelcase */
38
+ this.strm.input = null;
39
+ this.strm.avail_in = 0;
40
+ this.strm.next_in = 0;
41
+ } else {
42
+ this.strm.input = data;
43
+ this.strm.avail_in = this.strm.input.length;
44
+ this.strm.next_in = 0;
45
+ /* eslint-enable camelcase */
46
+ }
47
+ }
48
+ }, {
49
+ key: "inflate",
50
+ value: function inflate(expected) {
51
+ // resize our output buffer if it's too small
52
+ // (we could just use multiple chunks, but that would cause an extra
53
+ // allocation each time to flatten the chunks)
54
+ if (expected > this.chunkSize) {
55
+ this.chunkSize = expected;
56
+ this.strm.output = new Uint8Array(this.chunkSize);
57
+ }
58
+ /* eslint-disable camelcase */
59
+
60
+
61
+ this.strm.next_out = 0;
62
+ this.strm.avail_out = expected;
63
+ /* eslint-enable camelcase */
64
+
65
+ var ret = (0, _inflate2.inflate)(this.strm, 0); // Flush argument not used.
66
+
67
+ if (ret < 0) {
68
+ throw new Error("zlib inflate failed");
69
+ }
70
+
71
+ if (this.strm.next_out != expected) {
72
+ throw new Error("Incomplete zlib block");
73
+ }
74
+
75
+ return new Uint8Array(this.strm.output.buffer, 0, this.strm.next_out);
76
+ }
77
+ }, {
78
+ key: "reset",
79
+ value: function reset() {
80
+ (0, _inflate2.inflateReset)(this.strm);
81
+ }
82
+ }]);
83
+
84
+ return Inflate;
85
+ }();
86
+
87
+ exports.default = Inflate;
@@ -0,0 +1,282 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _keysym = _interopRequireDefault(require("./keysym.js"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ /*
13
+ * noVNC: HTML5 VNC client
14
+ * Copyright (C) 2018 The noVNC Authors
15
+ * Licensed under MPL 2.0 or any later version (see LICENSE.txt)
16
+ */
17
+
18
+ /*
19
+ * Mapping between HTML key values and VNC/X11 keysyms for "special"
20
+ * keys that cannot be handled via their Unicode codepoint.
21
+ *
22
+ * See https://www.w3.org/TR/uievents-key/ for possible values.
23
+ */
24
+ var DOMKeyTable = {};
25
+
26
+ function addStandard(key, standard) {
27
+ if (standard === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
28
+ if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\"");
29
+ DOMKeyTable[key] = [standard, standard, standard, standard];
30
+ }
31
+
32
+ function addLeftRight(key, left, right) {
33
+ if (left === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
34
+ if (right === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
35
+ if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\"");
36
+ DOMKeyTable[key] = [left, left, right, left];
37
+ }
38
+
39
+ function addNumpad(key, standard, numpad) {
40
+ if (standard === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
41
+ if (numpad === undefined) throw new Error("Undefined keysym for key \"" + key + "\"");
42
+ if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\"");
43
+ DOMKeyTable[key] = [standard, standard, standard, numpad];
44
+ } // 2.2. Modifier Keys
45
+
46
+
47
+ addLeftRight("Alt", _keysym.default.XK_Alt_L, _keysym.default.XK_Alt_R);
48
+ addStandard("AltGraph", _keysym.default.XK_ISO_Level3_Shift);
49
+ addStandard("CapsLock", _keysym.default.XK_Caps_Lock);
50
+ addLeftRight("Control", _keysym.default.XK_Control_L, _keysym.default.XK_Control_R); // - Fn
51
+ // - FnLock
52
+
53
+ addLeftRight("Meta", _keysym.default.XK_Super_L, _keysym.default.XK_Super_R);
54
+ addStandard("NumLock", _keysym.default.XK_Num_Lock);
55
+ addStandard("ScrollLock", _keysym.default.XK_Scroll_Lock);
56
+ addLeftRight("Shift", _keysym.default.XK_Shift_L, _keysym.default.XK_Shift_R); // - Symbol
57
+ // - SymbolLock
58
+ // 2.3. Whitespace Keys
59
+
60
+ addNumpad("Enter", _keysym.default.XK_Return, _keysym.default.XK_KP_Enter);
61
+ addStandard("Tab", _keysym.default.XK_Tab);
62
+ addNumpad(" ", _keysym.default.XK_space, _keysym.default.XK_KP_Space); // 2.4. Navigation Keys
63
+
64
+ addNumpad("ArrowDown", _keysym.default.XK_Down, _keysym.default.XK_KP_Down);
65
+ addNumpad("ArrowUp", _keysym.default.XK_Up, _keysym.default.XK_KP_Up);
66
+ addNumpad("ArrowLeft", _keysym.default.XK_Left, _keysym.default.XK_KP_Left);
67
+ addNumpad("ArrowRight", _keysym.default.XK_Right, _keysym.default.XK_KP_Right);
68
+ addNumpad("End", _keysym.default.XK_End, _keysym.default.XK_KP_End);
69
+ addNumpad("Home", _keysym.default.XK_Home, _keysym.default.XK_KP_Home);
70
+ addNumpad("PageDown", _keysym.default.XK_Next, _keysym.default.XK_KP_Next);
71
+ addNumpad("PageUp", _keysym.default.XK_Prior, _keysym.default.XK_KP_Prior); // 2.5. Editing Keys
72
+
73
+ addStandard("Backspace", _keysym.default.XK_BackSpace); // Browsers send "Clear" for the numpad 5 without NumLock because
74
+ // Windows uses VK_Clear for that key. But Unix expects KP_Begin for
75
+ // that scenario.
76
+
77
+ addNumpad("Clear", _keysym.default.XK_Clear, _keysym.default.XK_KP_Begin);
78
+ addStandard("Copy", _keysym.default.XF86XK_Copy); // - CrSel
79
+
80
+ addStandard("Cut", _keysym.default.XF86XK_Cut);
81
+ addNumpad("Delete", _keysym.default.XK_Delete, _keysym.default.XK_KP_Delete); // - EraseEof
82
+ // - ExSel
83
+
84
+ addNumpad("Insert", _keysym.default.XK_Insert, _keysym.default.XK_KP_Insert);
85
+ addStandard("Paste", _keysym.default.XF86XK_Paste);
86
+ addStandard("Redo", _keysym.default.XK_Redo);
87
+ addStandard("Undo", _keysym.default.XK_Undo); // 2.6. UI Keys
88
+ // - Accept
89
+ // - Again (could just be XK_Redo)
90
+ // - Attn
91
+
92
+ addStandard("Cancel", _keysym.default.XK_Cancel);
93
+ addStandard("ContextMenu", _keysym.default.XK_Menu);
94
+ addStandard("Escape", _keysym.default.XK_Escape);
95
+ addStandard("Execute", _keysym.default.XK_Execute);
96
+ addStandard("Find", _keysym.default.XK_Find);
97
+ addStandard("Help", _keysym.default.XK_Help);
98
+ addStandard("Pause", _keysym.default.XK_Pause); // - Play
99
+ // - Props
100
+
101
+ addStandard("Select", _keysym.default.XK_Select);
102
+ addStandard("ZoomIn", _keysym.default.XF86XK_ZoomIn);
103
+ addStandard("ZoomOut", _keysym.default.XF86XK_ZoomOut); // 2.7. Device Keys
104
+
105
+ addStandard("BrightnessDown", _keysym.default.XF86XK_MonBrightnessDown);
106
+ addStandard("BrightnessUp", _keysym.default.XF86XK_MonBrightnessUp);
107
+ addStandard("Eject", _keysym.default.XF86XK_Eject);
108
+ addStandard("LogOff", _keysym.default.XF86XK_LogOff);
109
+ addStandard("Power", _keysym.default.XF86XK_PowerOff);
110
+ addStandard("PowerOff", _keysym.default.XF86XK_PowerDown);
111
+ addStandard("PrintScreen", _keysym.default.XK_Print);
112
+ addStandard("Hibernate", _keysym.default.XF86XK_Hibernate);
113
+ addStandard("Standby", _keysym.default.XF86XK_Standby);
114
+ addStandard("WakeUp", _keysym.default.XF86XK_WakeUp); // 2.8. IME and Composition Keys
115
+
116
+ addStandard("AllCandidates", _keysym.default.XK_MultipleCandidate);
117
+ addStandard("Alphanumeric", _keysym.default.XK_Eisu_Shift); // could also be _Eisu_Toggle
118
+
119
+ addStandard("CodeInput", _keysym.default.XK_Codeinput);
120
+ addStandard("Compose", _keysym.default.XK_Multi_key);
121
+ addStandard("Convert", _keysym.default.XK_Henkan); // - Dead
122
+ // - FinalMode
123
+
124
+ addStandard("GroupFirst", _keysym.default.XK_ISO_First_Group);
125
+ addStandard("GroupLast", _keysym.default.XK_ISO_Last_Group);
126
+ addStandard("GroupNext", _keysym.default.XK_ISO_Next_Group);
127
+ addStandard("GroupPrevious", _keysym.default.XK_ISO_Prev_Group); // - ModeChange (XK_Mode_switch is often used for AltGr)
128
+ // - NextCandidate
129
+
130
+ addStandard("NonConvert", _keysym.default.XK_Muhenkan);
131
+ addStandard("PreviousCandidate", _keysym.default.XK_PreviousCandidate); // - Process
132
+
133
+ addStandard("SingleCandidate", _keysym.default.XK_SingleCandidate);
134
+ addStandard("HangulMode", _keysym.default.XK_Hangul);
135
+ addStandard("HanjaMode", _keysym.default.XK_Hangul_Hanja);
136
+ addStandard("JunjuaMode", _keysym.default.XK_Hangul_Jeonja);
137
+ addStandard("Eisu", _keysym.default.XK_Eisu_toggle);
138
+ addStandard("Hankaku", _keysym.default.XK_Hankaku);
139
+ addStandard("Hiragana", _keysym.default.XK_Hiragana);
140
+ addStandard("HiraganaKatakana", _keysym.default.XK_Hiragana_Katakana);
141
+ addStandard("KanaMode", _keysym.default.XK_Kana_Shift); // could also be _Kana_Lock
142
+
143
+ addStandard("KanjiMode", _keysym.default.XK_Kanji);
144
+ addStandard("Katakana", _keysym.default.XK_Katakana);
145
+ addStandard("Romaji", _keysym.default.XK_Romaji);
146
+ addStandard("Zenkaku", _keysym.default.XK_Zenkaku);
147
+ addStandard("ZenkakuHanaku", _keysym.default.XK_Zenkaku_Hankaku); // 2.9. General-Purpose Function Keys
148
+
149
+ addStandard("F1", _keysym.default.XK_F1);
150
+ addStandard("F2", _keysym.default.XK_F2);
151
+ addStandard("F3", _keysym.default.XK_F3);
152
+ addStandard("F4", _keysym.default.XK_F4);
153
+ addStandard("F5", _keysym.default.XK_F5);
154
+ addStandard("F6", _keysym.default.XK_F6);
155
+ addStandard("F7", _keysym.default.XK_F7);
156
+ addStandard("F8", _keysym.default.XK_F8);
157
+ addStandard("F9", _keysym.default.XK_F9);
158
+ addStandard("F10", _keysym.default.XK_F10);
159
+ addStandard("F11", _keysym.default.XK_F11);
160
+ addStandard("F12", _keysym.default.XK_F12);
161
+ addStandard("F13", _keysym.default.XK_F13);
162
+ addStandard("F14", _keysym.default.XK_F14);
163
+ addStandard("F15", _keysym.default.XK_F15);
164
+ addStandard("F16", _keysym.default.XK_F16);
165
+ addStandard("F17", _keysym.default.XK_F17);
166
+ addStandard("F18", _keysym.default.XK_F18);
167
+ addStandard("F19", _keysym.default.XK_F19);
168
+ addStandard("F20", _keysym.default.XK_F20);
169
+ addStandard("F21", _keysym.default.XK_F21);
170
+ addStandard("F22", _keysym.default.XK_F22);
171
+ addStandard("F23", _keysym.default.XK_F23);
172
+ addStandard("F24", _keysym.default.XK_F24);
173
+ addStandard("F25", _keysym.default.XK_F25);
174
+ addStandard("F26", _keysym.default.XK_F26);
175
+ addStandard("F27", _keysym.default.XK_F27);
176
+ addStandard("F28", _keysym.default.XK_F28);
177
+ addStandard("F29", _keysym.default.XK_F29);
178
+ addStandard("F30", _keysym.default.XK_F30);
179
+ addStandard("F31", _keysym.default.XK_F31);
180
+ addStandard("F32", _keysym.default.XK_F32);
181
+ addStandard("F33", _keysym.default.XK_F33);
182
+ addStandard("F34", _keysym.default.XK_F34);
183
+ addStandard("F35", _keysym.default.XK_F35); // - Soft1...
184
+ // 2.10. Multimedia Keys
185
+ // - ChannelDown
186
+ // - ChannelUp
187
+
188
+ addStandard("Close", _keysym.default.XF86XK_Close);
189
+ addStandard("MailForward", _keysym.default.XF86XK_MailForward);
190
+ addStandard("MailReply", _keysym.default.XF86XK_Reply);
191
+ addStandard("MailSend", _keysym.default.XF86XK_Send); // - MediaClose
192
+
193
+ addStandard("MediaFastForward", _keysym.default.XF86XK_AudioForward);
194
+ addStandard("MediaPause", _keysym.default.XF86XK_AudioPause);
195
+ addStandard("MediaPlay", _keysym.default.XF86XK_AudioPlay);
196
+ addStandard("MediaRecord", _keysym.default.XF86XK_AudioRecord);
197
+ addStandard("MediaRewind", _keysym.default.XF86XK_AudioRewind);
198
+ addStandard("MediaStop", _keysym.default.XF86XK_AudioStop);
199
+ addStandard("MediaTrackNext", _keysym.default.XF86XK_AudioNext);
200
+ addStandard("MediaTrackPrevious", _keysym.default.XF86XK_AudioPrev);
201
+ addStandard("New", _keysym.default.XF86XK_New);
202
+ addStandard("Open", _keysym.default.XF86XK_Open);
203
+ addStandard("Print", _keysym.default.XK_Print);
204
+ addStandard("Save", _keysym.default.XF86XK_Save);
205
+ addStandard("SpellCheck", _keysym.default.XF86XK_Spell); // 2.11. Multimedia Numpad Keys
206
+ // - Key11
207
+ // - Key12
208
+ // 2.12. Audio Keys
209
+ // - AudioBalanceLeft
210
+ // - AudioBalanceRight
211
+ // - AudioBassBoostDown
212
+ // - AudioBassBoostToggle
213
+ // - AudioBassBoostUp
214
+ // - AudioFaderFront
215
+ // - AudioFaderRear
216
+ // - AudioSurroundModeNext
217
+ // - AudioTrebleDown
218
+ // - AudioTrebleUp
219
+
220
+ addStandard("AudioVolumeDown", _keysym.default.XF86XK_AudioLowerVolume);
221
+ addStandard("AudioVolumeUp", _keysym.default.XF86XK_AudioRaiseVolume);
222
+ addStandard("AudioVolumeMute", _keysym.default.XF86XK_AudioMute); // - MicrophoneToggle
223
+ // - MicrophoneVolumeDown
224
+ // - MicrophoneVolumeUp
225
+
226
+ addStandard("MicrophoneVolumeMute", _keysym.default.XF86XK_AudioMicMute); // 2.13. Speech Keys
227
+ // - SpeechCorrectionList
228
+ // - SpeechInputToggle
229
+ // 2.14. Application Keys
230
+
231
+ addStandard("LaunchApplication1", _keysym.default.XF86XK_MyComputer);
232
+ addStandard("LaunchApplication2", _keysym.default.XF86XK_Calculator);
233
+ addStandard("LaunchCalendar", _keysym.default.XF86XK_Calendar);
234
+ addStandard("LaunchMail", _keysym.default.XF86XK_Mail);
235
+ addStandard("LaunchMediaPlayer", _keysym.default.XF86XK_AudioMedia);
236
+ addStandard("LaunchMusicPlayer", _keysym.default.XF86XK_Music);
237
+ addStandard("LaunchPhone", _keysym.default.XF86XK_Phone);
238
+ addStandard("LaunchScreenSaver", _keysym.default.XF86XK_ScreenSaver);
239
+ addStandard("LaunchSpreadsheet", _keysym.default.XF86XK_Excel);
240
+ addStandard("LaunchWebBrowser", _keysym.default.XF86XK_WWW);
241
+ addStandard("LaunchWebCam", _keysym.default.XF86XK_WebCam);
242
+ addStandard("LaunchWordProcessor", _keysym.default.XF86XK_Word); // 2.15. Browser Keys
243
+
244
+ addStandard("BrowserBack", _keysym.default.XF86XK_Back);
245
+ addStandard("BrowserFavorites", _keysym.default.XF86XK_Favorites);
246
+ addStandard("BrowserForward", _keysym.default.XF86XK_Forward);
247
+ addStandard("BrowserHome", _keysym.default.XF86XK_HomePage);
248
+ addStandard("BrowserRefresh", _keysym.default.XF86XK_Refresh);
249
+ addStandard("BrowserSearch", _keysym.default.XF86XK_Search);
250
+ addStandard("BrowserStop", _keysym.default.XF86XK_Stop); // 2.16. Mobile Phone Keys
251
+ // - A whole bunch...
252
+ // 2.17. TV Keys
253
+ // - A whole bunch...
254
+ // 2.18. Media Controller Keys
255
+ // - A whole bunch...
256
+
257
+ addStandard("Dimmer", _keysym.default.XF86XK_BrightnessAdjust);
258
+ addStandard("MediaAudioTrack", _keysym.default.XF86XK_AudioCycleTrack);
259
+ addStandard("RandomToggle", _keysym.default.XF86XK_AudioRandomPlay);
260
+ addStandard("SplitScreenToggle", _keysym.default.XF86XK_SplitScreen);
261
+ addStandard("Subtitle", _keysym.default.XF86XK_Subtitle);
262
+ addStandard("VideoModeNext", _keysym.default.XF86XK_Next_VMode); // Extra: Numpad
263
+
264
+ addNumpad("=", _keysym.default.XK_equal, _keysym.default.XK_KP_Equal);
265
+ addNumpad("+", _keysym.default.XK_plus, _keysym.default.XK_KP_Add);
266
+ addNumpad("-", _keysym.default.XK_minus, _keysym.default.XK_KP_Subtract);
267
+ addNumpad("*", _keysym.default.XK_asterisk, _keysym.default.XK_KP_Multiply);
268
+ addNumpad("/", _keysym.default.XK_slash, _keysym.default.XK_KP_Divide);
269
+ addNumpad(".", _keysym.default.XK_period, _keysym.default.XK_KP_Decimal);
270
+ addNumpad(",", _keysym.default.XK_comma, _keysym.default.XK_KP_Separator);
271
+ addNumpad("0", _keysym.default.XK_0, _keysym.default.XK_KP_0);
272
+ addNumpad("1", _keysym.default.XK_1, _keysym.default.XK_KP_1);
273
+ addNumpad("2", _keysym.default.XK_2, _keysym.default.XK_KP_2);
274
+ addNumpad("3", _keysym.default.XK_3, _keysym.default.XK_KP_3);
275
+ addNumpad("4", _keysym.default.XK_4, _keysym.default.XK_KP_4);
276
+ addNumpad("5", _keysym.default.XK_5, _keysym.default.XK_KP_5);
277
+ addNumpad("6", _keysym.default.XK_6, _keysym.default.XK_KP_6);
278
+ addNumpad("7", _keysym.default.XK_7, _keysym.default.XK_KP_7);
279
+ addNumpad("8", _keysym.default.XK_8, _keysym.default.XK_KP_8);
280
+ addNumpad("9", _keysym.default.XK_9, _keysym.default.XK_KP_9);
281
+ var _default = DOMKeyTable;
282
+ exports.default = _default;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ /*
9
+ * noVNC: HTML5 VNC client
10
+ * Copyright (C) 2018 The noVNC Authors
11
+ * Licensed under MPL 2.0 or any later version (see LICENSE.txt)
12
+ */
13
+
14
+ /*
15
+ * Fallback mapping between HTML key codes (physical keys) and
16
+ * HTML key values. This only works for keys that don't vary
17
+ * between layouts. We also omit those who manage fine by mapping the
18
+ * Unicode representation.
19
+ *
20
+ * See https://www.w3.org/TR/uievents-code/ for possible codes.
21
+ * See https://www.w3.org/TR/uievents-key/ for possible values.
22
+ */
23
+
24
+ /* eslint-disable key-spacing */
25
+ var _default = {
26
+ // 3.1.1.1. Writing System Keys
27
+ 'Backspace': 'Backspace',
28
+ // 3.1.1.2. Functional Keys
29
+ 'AltLeft': 'Alt',
30
+ 'AltRight': 'Alt',
31
+ // This could also be 'AltGraph'
32
+ 'CapsLock': 'CapsLock',
33
+ 'ContextMenu': 'ContextMenu',
34
+ 'ControlLeft': 'Control',
35
+ 'ControlRight': 'Control',
36
+ 'Enter': 'Enter',
37
+ 'MetaLeft': 'Meta',
38
+ 'MetaRight': 'Meta',
39
+ 'ShiftLeft': 'Shift',
40
+ 'ShiftRight': 'Shift',
41
+ 'Tab': 'Tab',
42
+ // FIXME: Japanese/Korean keys
43
+ // 3.1.2. Control Pad Section
44
+ 'Delete': 'Delete',
45
+ 'End': 'End',
46
+ 'Help': 'Help',
47
+ 'Home': 'Home',
48
+ 'Insert': 'Insert',
49
+ 'PageDown': 'PageDown',
50
+ 'PageUp': 'PageUp',
51
+ // 3.1.3. Arrow Pad Section
52
+ 'ArrowDown': 'ArrowDown',
53
+ 'ArrowLeft': 'ArrowLeft',
54
+ 'ArrowRight': 'ArrowRight',
55
+ 'ArrowUp': 'ArrowUp',
56
+ // 3.1.4. Numpad Section
57
+ 'NumLock': 'NumLock',
58
+ 'NumpadBackspace': 'Backspace',
59
+ 'NumpadClear': 'Clear',
60
+ // 3.1.5. Function Section
61
+ 'Escape': 'Escape',
62
+ 'F1': 'F1',
63
+ 'F2': 'F2',
64
+ 'F3': 'F3',
65
+ 'F4': 'F4',
66
+ 'F5': 'F5',
67
+ 'F6': 'F6',
68
+ 'F7': 'F7',
69
+ 'F8': 'F8',
70
+ 'F9': 'F9',
71
+ 'F10': 'F10',
72
+ 'F11': 'F11',
73
+ 'F12': 'F12',
74
+ 'F13': 'F13',
75
+ 'F14': 'F14',
76
+ 'F15': 'F15',
77
+ 'F16': 'F16',
78
+ 'F17': 'F17',
79
+ 'F18': 'F18',
80
+ 'F19': 'F19',
81
+ 'F20': 'F20',
82
+ 'F21': 'F21',
83
+ 'F22': 'F22',
84
+ 'F23': 'F23',
85
+ 'F24': 'F24',
86
+ 'F25': 'F25',
87
+ 'F26': 'F26',
88
+ 'F27': 'F27',
89
+ 'F28': 'F28',
90
+ 'F29': 'F29',
91
+ 'F30': 'F30',
92
+ 'F31': 'F31',
93
+ 'F32': 'F32',
94
+ 'F33': 'F33',
95
+ 'F34': 'F34',
96
+ 'F35': 'F35',
97
+ 'PrintScreen': 'PrintScreen',
98
+ 'ScrollLock': 'ScrollLock',
99
+ 'Pause': 'Pause',
100
+ // 3.1.6. Media Keys
101
+ 'BrowserBack': 'BrowserBack',
102
+ 'BrowserFavorites': 'BrowserFavorites',
103
+ 'BrowserForward': 'BrowserForward',
104
+ 'BrowserHome': 'BrowserHome',
105
+ 'BrowserRefresh': 'BrowserRefresh',
106
+ 'BrowserSearch': 'BrowserSearch',
107
+ 'BrowserStop': 'BrowserStop',
108
+ 'Eject': 'Eject',
109
+ 'LaunchApp1': 'LaunchMyComputer',
110
+ 'LaunchApp2': 'LaunchCalendar',
111
+ 'LaunchMail': 'LaunchMail',
112
+ 'MediaPlayPause': 'MediaPlay',
113
+ 'MediaStop': 'MediaStop',
114
+ 'MediaTrackNext': 'MediaTrackNext',
115
+ 'MediaTrackPrevious': 'MediaTrackPrevious',
116
+ 'Power': 'Power',
117
+ 'Sleep': 'Sleep',
118
+ 'AudioVolumeDown': 'AudioVolumeDown',
119
+ 'AudioVolumeMute': 'AudioVolumeMute',
120
+ 'AudioVolumeUp': 'AudioVolumeUp',
121
+ 'WakeUp': 'WakeUp'
122
+ };
123
+ exports.default = _default;