Fixed type button for guest sharing sessions, #3961

Ylian Saint-Hilaire committed May 11, 2022 at 12:52 UTC 0dab6de02d6a8bb4d57e104689bf1ae04bb9f295
1 file changed +23 -17
views/sharing.handlebars
+23 -17
@@ -288,7 +288,7 @@
288 var agentPresent = true;
289 var intelAmtPresent = false;
290 var deskAspectRatio = 0;
291 - var desktopsettings = { encoding: 2, showfocus: false, showmouse: true, showcad: true, quality: 40, scaling: 1024, framerate: 100, localkeymap: false };
291 + var desktopsettings = { encoding: 2, showfocus: false, showmouse: true, showcad: true, quality: 40, scaling: 1024, framerate: 100, localkeymap: false, remotekeymap: false };
292 var serverPublicNamePort = '{{{serverDnsName}}}:{{{serverPublicPort}}}';
293 var domain = '{{{domain}}}';
294 var domainUrl = '{{{domainurl}}}';
@@ -1049,24 +1049,30 @@
1049 }, 10);
1050 } else {
1051 // MeshAgent
1052 - for (var i in txt) {
1053 - var a = txt.charCodeAt(i), b = ltxt.charCodeAt(i);
1054 - if (((a >= 65) && (a <= 90)) || ((a >= 97) && (a <= 122))) {
1055 - if ((a == b) && (shift == false)) { x.push([desktop.m.KeyAction.DOWN, 16]); shift = true; } // LShift down
1056 - if ((a != b) && (shift == true)) { x.push([desktop.m.KeyAction.UP, 16]); shift = false; } // LShift up
1057 - } else if ((a >= 48) && (a <= 57)) {
1058 - if (shift == true) { x.push([desktop.m.KeyAction.UP, 16]); shift = false; } // Shift up
1059 - } else if (DeskTypeTranslate[a]) {
1060 - if (shift == true) { x.push([desktop.m.KeyAction.UP, 16]); shift = false; } // Shift up
1061 - b = DeskTypeTranslate[a];
1062 - } else if (DeskTypeShiftTranslate[a]) {
1063 - if (shift == false) { x.push([desktop.m.KeyAction.DOWN, 16]); shift = true; } // LShift down
1064 - b = DeskTypeShiftTranslate[a];
1052 + if (desktopsettings.remotekeymap !== true) {
1053 + // New unicode typing
1054 + desktop.m.SendStringUnicode(txt);
1055 + } else {
1056 + // Old scan code typing. This is for non-unicode system.
1057 + for (var i in txt) {
1058 + var a = txt.charCodeAt(i), b = ltxt.charCodeAt(i);
1059 + if (((a >= 65) && (a <= 90)) || ((a >= 97) && (a <= 122))) {
1060 + if ((a == b) && (shift == false)) { x.push([desktop.m.KeyAction.DOWN, 16]); shift = true; } // LShift down
1061 + if ((a != b) && (shift == true)) { x.push([desktop.m.KeyAction.UP, 16]); shift = false; } // LShift up
1062 + } else if ((a >= 48) && (a <= 57)) {
1063 + if (shift == true) { x.push([desktop.m.KeyAction.UP, 16]); shift = false; } // Shift up
1064 + } else if (DeskTypeTranslate[a]) {
1065 + if (shift == true) { x.push([desktop.m.KeyAction.UP, 16]); shift = false; } // Shift up
1066 + b = DeskTypeTranslate[a];
1067 + } else if (DeskTypeShiftTranslate[a]) {
1068 + if (shift == false) { x.push([desktop.m.KeyAction.DOWN, 16]); shift = true; } // LShift down
1069 + b = DeskTypeShiftTranslate[a];
1070 + }
1071 + x.push([desktop.m.KeyAction.DOWN, b], [desktop.m.KeyAction.UP, b]);
1072 }
1066 - x.push([desktop.m.KeyAction.DOWN, b], [desktop.m.KeyAction.UP, b]);
1073 + if (shift == true) { x.push([desktop.m.KeyAction.UP, 16]); shift = false; } // Shift up
1074 + desktop.m.SendKeyMsgKC(x);
1075 }
1068 - if (shift == true) { x.push([desktop.m.KeyAction.UP, 16]); shift = false; } // Shift up
1069 - desktop.m.SendKeyMsgKC(x);
1076 }
1077 }
1078