Added reverse mouse wheel option to remote desktop and Intel AMT KVM.
Ylian Saint-Hilaire committed
Jun 20, 2022 at 10:55 UTC
d4502f7b11e5b6c6efb227785c4bf9d39c44d2bf
3 files changed
+21
-3
public/scripts/agent-desktop-0.0.2.js
+3
@@ -533,6 +533,9 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
533
else if (Button == obj.MouseButton.RIGHT) { Button = obj.MouseButton.LEFT; }
534
}
535
536
+ // Reverse mouse wheel if needed
537
+ if (obj.ReverseMouseWheel) { Delta = -1 * Delta; }
538
+
539
var MouseMsg = "";
540
if (Action == obj.KeyAction.DBLCLICK) {
541
MouseMsg = String.fromCharCode(0x00, obj.InputType.MOUSE, 0x00, 0x0A, 0x00, 0x88, ((X / 256) & 0xFF), (X & 0xFF), ((Y / 256) & 0xFF), (Y & 0xFF));
public/scripts/amt-desktop-0.0.2.js
+4
@@ -931,6 +931,10 @@ var CreateAmtRemoteDesktop = function (divid, scrolldiv) {
931
else if (typeof e.detail == 'number') { v = -1 * e.detail; }
932
else if (typeof e.wheelDelta == 'number') { v = e.wheelDelta; }
933
if (v == 0) return;
934
+
935
+ // Reverse mouse wheel if needed
936
+ if (obj.ReverseMouseWheel) { v = -1 * v; }
937
+
938
var tmpmask = obj.buttonmask;
939
obj.buttonmask |= (1 << ((v > 0) ? 3 : 4));
940
obj.mousemove(e, 1);
views/default.handlebars
+14
-3
@@ -1323,6 +1323,7 @@
1323
<div>Other Settings</div>
1324
<div id="d7otherset2" style="display:block">
1325
<label style="display:block"><input type="checkbox" id="d7deskSwapMouse" />Swap Mouse Buttons</label>
1326
+ <label style="display:block"><input type="checkbox" id="d7deskrmw" />Reverse Mouse Wheel</label>
1327
<label style="display:block"><input type="checkbox" id="d7deskRemoteKeyMap" />Use Remote Keyboard Map</label>
1328
<label style="display:block" id="d7deskAutoClipboardLabel"><input type="checkbox" id="d7deskAutoClipboard" />Automatic Clipboard</label>
1329
<label style="display:block" id="d7deskAutoLockLabel"><input type="checkbox" id="d7deskAutoLock" />Lock on Disconnect</label>
@@ -1346,6 +1347,7 @@
1347
<label style="display:block"><input type="checkbox" id="d7showfocus" />Show Focus Tool</label>
1348
<label style="display:block"><input type="checkbox" id="d7showcursor" />Show Local Mouse Cursor</label>
1349
<label style="display:block"><input type="checkbox" id="d7localKeyMap" />Local Keyboard Map</label>
1350
+ <label style="display:block"><input type="checkbox" id="d7kvmrmw" />Reverse Mouse Wheel</label>
1351
</div>
1352
</div>
1353
</div>
@@ -4853,6 +4855,7 @@
4855
desk.m.ScalingLevel = multidesktopsettings.scaling;
4856
if (multidesktopsettings.framerate) { desk.m.FrameRateTimer = multidesktopsettings.framerate; }
4857
if (multidesktopsettings.swapmouse) { desk.m.SwapMouse = multidesktopsettings.swapmouse; }
4858
+ if (multidesktopsettings.rmw) { desk.m.ReverseMouseWheel = multidesktopsettings.rmw; }
4859
if (multidesktopsettings.remotekeymap == true) { desk.m.remoteKeyMap = multidesktopsettings.remotekeymap; }
4860
//desk.m.onDisplayinfo = deskDisplayInfo;
4861
desk.m.onScreenSizeChange = mdeskAdjust; // Multi-Desktop Adjust
@@ -8467,6 +8470,7 @@
8470
desktop.m.bpp = (desktopsettings.encoding == 1 || desktopsettings.encoding == 3) ? 1 : 2;
8471
desktop.m.useZRLE = (desktopsettings.encoding < 3);
8472
desktop.m.localKeyMap = desktopsettings.localkeymap;
8473
+ desktop.m.ReverseMouseWheel = desktopsettings.kvmrmw;
8474
desktop.m.showmouse = desktopsettings.showmouse;
8475
desktop.m.onScreenSizeChange = deskAdjust;
8476
desktop.m.onKvmData = function (x) {
@@ -8579,6 +8583,7 @@
8583
desktop.m.ScalingLevel = desktopsettings.scaling;
8584
if (desktopsettings.framerate) { desktop.m.FrameRateTimer = desktopsettings.framerate; }
8585
if (desktopsettings.swapmouse) { desktop.m.SwapMouse = desktopsettings.swapmouse; }
8586
+ if (desktopsettings.rmw) { desktop.m.ReverseMouseWheel = desktopsettings.rmw; }
8587
if (desktopsettings.remotekeymap == true) { desktop.m.remoteKeyMap = desktopsettings.remotekeymap; }
8588
desktop.m.onDisplayinfo = deskDisplayInfo;
8589
desktop.m.onScreenSizeChange = deskAdjust;
@@ -8878,10 +8883,12 @@
8883
desktopsettings.scaling = d7bitmapscaling.value;
8884
desktopsettings.framerate = d7framelimiter.value;
8885
desktopsettings.swapmouse = d7deskSwapMouse.checked;
8886
+ desktopsettings.rmw = d7deskrmw.checked;
8887
desktopsettings.remotekeymap = d7deskRemoteKeyMap.checked;
8888
desktopsettings.autoclipboard = d7deskAutoClipboard.checked;
8889
desktopsettings.autolock = d7deskAutoLock.checked;
8890
desktopsettings.localkeymap = d7localKeyMap.checked;
8891
+ desktopsettings.kvmrmw = d7kvmrmw.checked;
8892
desktopsettings.rdpsize = d7rdpsize.value;
8893
desktopsettings.rdpsmb = d7rdpsmb.checked;
8894
desktopsettings.rdprmw = d7rdprmw.checked;
@@ -8893,19 +8900,21 @@
8900
applyDesktopSettings();
8901
updateDesktopButtons();
8902
if (desktop) {
8896
- if (desktop.contype == 1) {
8903
+ if (desktop.contype == 1) { // Intel AMT KVM
8904
desktop.m.SwapMouse = desktopsettings.swapmouse;
8905
+ desktop.m.ReverseMouseWheel = desktopsettings.rmw;
8906
desktop.m.remoteKeyMap = desktopsettings.remotekeymap;
8907
if (desktop.State != 0) {
8908
desktop.m.SendCompressionLevel(webpSupport?4:1, desktopsettings.quality, desktopsettings.scaling, desktopsettings.framerate);
8909
desktop.sendCtrlMsg('{"ctrlChannel":"102938","type":"autolock","value":' + desktopsettings.autolock + '}');
8910
}
8911
}
8904
- if (desktop.contype == 2) {
8912
+ if (desktop.contype == 2) { // Mesh Agent Remote Desktop
8913
+ desktop.m.ReverseMouseWheel = desktopsettings.kvmrmw;
8914
if (desktopsettings.showfocus == false) { desktop.m.focusmode = 0; deskFocusBtn.value = "All Focus"; }
8915
if (desktop.State != 0) { desktop.Stop(); setTimeout(function () { connectDesktop(null, 2); }, 50); }
8916
}
8908
- if (desktop.contype == 4) {
8917
+ if (desktop.contype == 4) { // Web-RDP
8918
desktop.m.SwapMouse = desktopsettings.rdpsmb;
8919
desktop.m.ReverseMouseWheel = desktopsettings.rdprmw;
8920
}
@@ -8924,10 +8933,12 @@
8933
d7bitmapscaling.value = desktopsettings.scaling;
8934
if (desktopsettings.framerate) { d7framelimiter.value = desktopsettings.framerate; } else { d7framelimiter.value = 100; }
8935
if (desktopsettings.swapmouse != null) { d7deskSwapMouse.checked = desktopsettings.swapmouse; }
8936
+ if (desktopsettings.rmw != null) { d7deskrmw.checked = desktopsettings.rmw; }
8937
if (desktopsettings.remotekeymap != null) { d7deskRemoteKeyMap.checked = desktopsettings.remotekeymap; }
8938
if (desktopsettings.autoclipboard != null) { d7deskAutoClipboard.checked = desktopsettings.autoclipboard; }
8939
if (desktopsettings.autolock != null) { d7deskAutoLock.checked = desktopsettings.autolock; }
8940
if (desktopsettings.localkeymap) { d7localKeyMap.checked = desktopsettings.localkeymap; }
8941
+ if (desktopsettings.kvmrmw) { d7kvmrmw.checked = desktopsettings.kvmrmw; }
8942
QV('deskFocusBtn', (desktop != null) && (desktop.contype == 2) && (desktop.state != 0) && (desktopsettings.showfocus));
8943
if (desktopsettings.rdpsize != null) { d7rdpsize.value = desktopsettings.rdpsize; }
8944
if (desktopsettings.rdpflags == null) { desktopsettings.rdpflags = 0x2F; }