Added Web-RDP mouse wheel reverse option.

Ylian Saint-Hilaire committed Jun 19, 2022 at 12:07 UTC f150e3ac5fe2ad558f5f8119d13b2c252a90330a
2 files changed +9
public/scripts/agent-rdp-0.0.1.js
+1
@@ -198,6 +198,7 @@ var CreateRDPDesktop = function (canvasid) {
198 if (obj.mouseNagleTimer != null) { clearTimeout(obj.mouseNagleTimer); obj.mouseNagleTimer = null; }
199 var delta = 0;
200 if (e.detail) { delta = (e.detail * 120); } else if (e.wheelDelta) { delta = (e.wheelDelta * 3); }
201 + if (obj.m.ReverseMouseWheel) { delta = -1 * delta; } // Reverse the mouse wheel
202 if (delta != 0) { obj.socket.send(JSON.stringify(['wheel', m.x, m.y, delta, false, false])); }
203 e.preventDefault();
204 return false;
views/default.handlebars
+8
@@ -1379,6 +1379,7 @@
1379 <label style="display:block"><input type="checkbox" id="d7rdp9" />Enable Desktop Composision</label>
1380 <label style="display:block"><input type="checkbox" id="d7rdpclip" />Automatic Clipboard</label>
1381 <label style="display:block"><input type="checkbox" id="d7rdpsmb" />Swap Mouse Buttons</label>
1382 + <label style="display:block"><input type="checkbox" id="d7rdprmw" />Reverse Mouse Wheel</label>
1383 </div>
1384 </div>
1385 </div>
@@ -8594,6 +8595,7 @@
8595 desktop.m.onScreenSizeChange = mdeskAdjust;
8596 desktop.m.onClipboardChanged = function(text) { if ((text != null) && (desktopsettings.rdpautoclipboard) && (navigator.clipboard != null)) { navigator.clipboard.writeText(text).then(function() { }).catch(function(err) { console.log(err); }) } } // Put remote clipboard data into our clipboard
8597 if (desktopsettings.rdpsmb) { desktop.m.SwapMouse = desktopsettings.rdpsmb; }
8598 + if (desktopsettings.rdprmw) { desktop.m.ReverseMouseWheel = desktopsettings.rdprmw; }
8599 desktop.Start(desktopNode._id, currentNode.rdpport ? currentNode.rdpport : 3389, tsid);
8600 desktop.contype = 4;
8601 desktop.onConsoleMessageChange = function () {
@@ -8882,6 +8884,7 @@
8884 desktopsettings.localkeymap = d7localKeyMap.checked;
8885 desktopsettings.rdpsize = d7rdpsize.value;
8886 desktopsettings.rdpsmb = d7rdpsmb.checked;
8887 + desktopsettings.rdprmw = d7rdprmw.checked;
8888 desktopsettings.rdpautoclipboard = d7rdpclip.checked;
8889 var rdpflags = 0;
8890 for (var i = 1; i < 10; i++) { if ((i != 5) && (Q('d7rdp' + i).checked)) { rdpflags |= (1 << (i - 1)); } }
@@ -8902,6 +8905,10 @@
8905 if (desktopsettings.showfocus == false) { desktop.m.focusmode = 0; deskFocusBtn.value = "All Focus"; }
8906 if (desktop.State != 0) { desktop.Stop(); setTimeout(function () { connectDesktop(null, 2); }, 50); }
8907 }
8908 + if (desktop.contype == 4) {
8909 + desktop.m.SwapMouse = desktopsettings.rdpsmb;
8910 + desktop.m.ReverseMouseWheel = desktopsettings.rdprmw;
8911 + }
8912 }
8913 }
8914
@@ -8925,6 +8932,7 @@
8932 if (desktopsettings.rdpsize != null) { d7rdpsize.value = desktopsettings.rdpsize; }
8933 if (desktopsettings.rdpflags == null) { desktopsettings.rdpflags = 0x2F; }
8934 if (desktopsettings.rdpsmb != null) { d7rdpsmb.checked = desktopsettings.rdpsmb; }
8935 + if (desktopsettings.rdprmw != null) { d7rdprmw.checked = desktopsettings.rdprmw; }
8936 if (desktopsettings.rdpautoclipboard != null) { d7rdpclip.checked = desktopsettings.rdpautoclipboard; }
8937 for (var i = 1; i < 10; i++) { if (i != 5) { Q('d7rdp' + i).checked = ((desktopsettings.rdpflags & (1 << (i - 1))) != 0); } }
8938 }