@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.
- package/AUTHORS +13 -0
- package/LICENSE.txt +2 -1
- package/README.md +69 -3
- package/core/base64.js +35 -41
- package/core/decoders/copyrect.js +22 -0
- package/core/decoders/hextile.js +137 -0
- package/core/decoders/raw.js +56 -0
- package/core/decoders/rre.js +44 -0
- package/core/decoders/tight.js +315 -0
- package/core/decoders/tightpng.js +27 -0
- package/core/deflator.js +85 -0
- package/core/des.js +90 -95
- package/core/display.js +254 -297
- package/core/encodings.js +7 -3
- package/core/inflator.js +48 -20
- package/core/input/domkeytable.js +21 -24
- package/core/input/fixedkeys.js +3 -1
- package/core/input/gesturehandler.js +567 -0
- package/core/input/keyboard.js +194 -120
- package/core/input/keysym.js +2 -0
- package/core/input/keysymdef.js +3 -3
- package/core/input/util.js +53 -12
- package/core/input/vkeys.js +2 -1
- package/core/rfb.js +1937 -1496
- package/core/util/browser.js +80 -29
- package/core/util/cursor.js +253 -0
- package/core/util/element.js +32 -0
- package/core/util/events.js +59 -55
- package/core/util/eventtarget.js +25 -30
- package/core/util/int.js +15 -0
- package/core/util/logging.js +21 -16
- package/core/util/polyfill.js +15 -8
- package/core/util/strings.js +21 -8
- package/core/websock.js +145 -167
- package/docs/API.md +31 -10
- package/lib/base64.js +115 -0
- package/lib/decoders/copyrect.js +44 -0
- package/lib/decoders/hextile.js +173 -0
- package/lib/decoders/raw.js +78 -0
- package/lib/decoders/rre.js +65 -0
- package/lib/decoders/tight.js +350 -0
- package/lib/decoders/tightpng.js +67 -0
- package/lib/deflator.js +99 -0
- package/lib/des.js +314 -0
- package/lib/display.js +733 -0
- package/lib/encodings.js +64 -0
- package/lib/inflator.js +87 -0
- package/lib/input/domkeytable.js +282 -0
- package/lib/input/fixedkeys.js +123 -0
- package/lib/input/gesturehandler.js +642 -0
- package/lib/input/keyboard.js +429 -0
- package/lib/input/keysym.js +1135 -0
- package/lib/input/keysymdef.js +1354 -0
- package/lib/input/util.js +304 -0
- package/lib/input/vkeys.js +127 -0
- package/lib/input/xtscancodes.js +505 -0
- package/lib/rfb.js +3448 -0
- package/lib/util/browser.js +131 -0
- package/lib/util/cursor.js +314 -0
- package/lib/util/element.js +43 -0
- package/lib/util/events.js +142 -0
- package/lib/util/eventtarget.js +64 -0
- package/lib/util/int.js +22 -0
- package/lib/util/logging.js +79 -0
- package/lib/util/polyfill.js +72 -0
- package/lib/util/strings.js +38 -0
- package/lib/vendor/pako/lib/utils/common.js +67 -0
- package/lib/vendor/pako/lib/zlib/adler32.js +33 -0
- package/lib/vendor/pako/lib/zlib/constants.js +51 -0
- package/lib/vendor/pako/lib/zlib/crc32.js +42 -0
- package/lib/vendor/pako/lib/zlib/deflate.js +2159 -0
- package/lib/vendor/pako/lib/zlib/gzheader.js +53 -0
- package/lib/vendor/pako/lib/zlib/inffast.js +445 -0
- package/lib/vendor/pako/lib/zlib/inflate.js +2114 -0
- package/lib/vendor/pako/lib/zlib/inftrees.js +418 -0
- package/lib/vendor/pako/lib/zlib/messages.js +36 -0
- package/lib/vendor/pako/lib/zlib/trees.js +1499 -0
- package/lib/vendor/pako/lib/zlib/zstream.js +46 -0
- package/lib/vendor/promise.js +255 -0
- package/lib/websock.js +374 -0
- package/package.json +48 -28
- package/vendor/pako/lib/zlib/deflate.js +30 -30
- package/vendor/pako/lib/zlib/inflate.js +17 -17
- package/core/input/mouse.js +0 -280
- package/docs/API-internal.md +0 -125
- package/docs/EMBEDDING.md +0 -83
- package/docs/VERSION +0 -1
package/lib/encodings.js
ADDED
|
@@ -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
|
+
}
|
package/lib/inflator.js
ADDED
|
@@ -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;
|