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; }