ExtendedKey flag now only used for Windows agents (Until Linux agent is updated).

Ylian Saint-Hilaire committed Mar 1, 2022 at 10:30 UTC 60567ee8f0cf5fafe9506347a2ac324d54c74627
2 files changed +4 -1
public/scripts/agent-desktop-0.0.2.js
+2 -1
@@ -46,6 +46,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
46 obj.ScalingLevel = 1024;
47 obj.FrameRateTimer = 100;
48 obj.SwapMouse = false;
49 + obj.UseExtendedKeyFlag = true;
50 obj.FirstDraw = false;
51
52 // Remote user mouse and keyboard lock
@@ -402,7 +403,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
403 if (!event) { event = window.event; }
404
405 var extendedKey = false; // Test feature, add ?extkeys=1 to url to use.
405 - if ((urlargs.noextkeys != 1) && (typeof event.code == 'string') && (event.code.startsWith('Arrow') || (extendedKeyTable.indexOf(event.code) >= 0))) { extendedKey = true; }
406 + if ((obj.UseExtendedKeyFlag || (urlargs.extkeys == 1)) && (typeof event.code == 'string') && (event.code.startsWith('Arrow') || (extendedKeyTable.indexOf(event.code) >= 0))) { extendedKey = true; }
407
408 if ((extendedKey == false) && event.code && (event.code.startsWith('NumPad') == false) && (obj.localKeyMap == false)) {
409 // Convert "event.code" into a scancode. This works the same regardless of the keyboard language.
views/default.handlebars
+2
@@ -4742,6 +4742,7 @@
4742 } else if (contype == 1) {
4743 // Setup the Mesh Agent remote desktop
4744 desk = CreateAgentRedirect(meshserver, CreateAgentRemoteDesktop('kvmid_' + shortid), serverPublicNamePort, authCookie, authRelayCookie, domainUrl);
4745 + desk.m.UseExtendedKeyFlag = (node.agent.id < 5); // Only use extended keys on Windows agents for now
4746 desk.m.mouseCursorActive(xxcurrentView == 11);
4747 desk.shortid = shortid;
4748 desk.attemptWebRTC = attemptWebRTC;
@@ -8405,6 +8406,7 @@
8406 } else if ((contype == null) || (contype == 1) || ((contype == 3) && (currentNode.agent.id > 4))) {
8407 // Setup the Mesh Agent remote desktop
8408 desktop = CreateAgentRedirect(meshserver, CreateAgentRemoteDesktop('Desk'), serverPublicNamePort, authCookie, authRelayCookie, domainUrl);
8409 + desktop.m.UseExtendedKeyFlag = (desktopNode.agent.id < 5); // Only use extended keys on Windows agents for now
8410 desktop.m.mouseCursorActive(xxcurrentView == 11);
8411 desktop.debugmode = debugmode;
8412 desktop.m.debugmode = debugmode;