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
}