1
0
mirror of https://github.com/Ylianst/MeshCommander synced 2025-12-06 06:03:20 +00:00

Added AMT KVM mouse wheel support.

This commit is contained in:
Ylian Saint-Hilaire
2022-02-22 18:21:34 -08:00
parent 437a5355ac
commit 6b49e70d02
3 changed files with 46 additions and 31 deletions

View File

@@ -884,6 +884,7 @@ var CreateAmtRemoteDesktop = function (divid, scrolldiv) {
c.onmouseup = obj.mouseup; c.onmouseup = obj.mouseup;
c.onmousedown = obj.mousedown; c.onmousedown = obj.mousedown;
c.onmousemove = obj.mousemove; c.onmousemove = obj.mousemove;
c.onmousewheel = obj.mousewheel;
//if (navigator.userAgent.match(/mozilla/i)) c.DOMMouseScroll = obj.xxDOMMouseScroll; else c.onmousewheel = obj.xxMouseWheel; //if (navigator.userAgent.match(/mozilla/i)) c.DOMMouseScroll = obj.xxDOMMouseScroll; else c.onmousewheel = obj.xxMouseWheel;
_MouseInputGrab = true; _MouseInputGrab = true;
} }
@@ -894,6 +895,7 @@ var CreateAmtRemoteDesktop = function (divid, scrolldiv) {
c.onmousemove = null; c.onmousemove = null;
c.onmouseup = null; c.onmouseup = null;
c.onmousedown = null; c.onmousedown = null;
c.onmousewheel = null;
//if (navigator.userAgent.match(/mozilla/i)) c.DOMMouseScroll = null; else c.onmousewheel = null; //if (navigator.userAgent.match(/mozilla/i)) c.DOMMouseScroll = null; else c.onmousewheel = null;
_MouseInputGrab = false; _MouseInputGrab = false;
} }
@@ -921,6 +923,18 @@ var CreateAmtRemoteDesktop = function (divid, scrolldiv) {
// RFB 'PointerEvent' and mouse handlers // RFB 'PointerEvent' and mouse handlers
obj.mousedblclick = function (e) { } obj.mousedblclick = function (e) { }
obj.mousewheel = function (e) {
var v = 0;
if (typeof e.deltaY == 'number') { v = -1 * e.deltaY; }
else if (typeof e.detail == 'number') { v = -1 * e.detail; }
else if (typeof e.wheelDelta == 'number') { v = e.wheelDelta; }
if (v == 0) return;
var tmpmask = obj.buttonmask;
obj.buttonmask |= (1 << ((v > 0) ? 3 : 4));
obj.mousemove(e, 1);
obj.buttonmask = tmpmask;
return obj.mousemove(e, 1);
}
obj.mousedown = function (e) { obj.buttonmask |= (1 << e.button); return obj.mousemove(e, 1); } obj.mousedown = function (e) { obj.buttonmask |= (1 << e.button); return obj.mousemove(e, 1); }
obj.mouseup = function (e) { obj.buttonmask &= (0xFFFF - (1 << e.button)); return obj.mousemove(e, 1); } obj.mouseup = function (e) { obj.buttonmask &= (0xFFFF - (1 << e.button)); return obj.mousemove(e, 1); }
obj.mousemove = function (e, force) { obj.mousemove = function (e, force) {

View File

@@ -8906,12 +8906,13 @@
function dmousedown(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) desktop.m.mousedown(e); } function dmousedown(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) desktop.m.mousedown(e); }
function dmouseup(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) desktop.m.mouseup(e); } function dmouseup(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) desktop.m.mouseup(e); }
function dmousemove(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) desktop.m.mousemove(e); } function dmousemove(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) desktop.m.mousemove(e); }
function dmousewheel(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) desktop.m.mousewheel(e); }
// ###END###{!DesktopInband} // ###END###{!DesktopInband}
// ###BEGIN###{DesktopInband} // ###BEGIN###{DesktopInband}
function dmousedown(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousedown(e); desktop.m.sendKeepAlive(); } else { desktop.m.mousedown(e); } } } function dmousedown(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousedown(e); desktop.m.sendKeepAlive(); } else { desktop.m.mousedown(e); } } }
function dmouseup(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mouseup(e); desktop.m.sendKeepAlive(); } else { desktop.m.mouseup(e); } } } function dmouseup(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mouseup(e); desktop.m.sendKeepAlive(); } else { desktop.m.mouseup(e); } } }
function dmousemove(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousemove(e); desktop.m.sendKeepAlive(); } else { desktop.m.mousemove(e); } } } function dmousemove(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousemove(e); desktop.m.sendKeepAlive(); } else { desktop.m.mousemove(e); } } }
function dmousewheel(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousewheel(e); desktop.m.sendKeepAlive(); } } } function dmousewheel(e) { if (!xxdialogMode && (!Q('id_DeskVO').checked)) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousewheel(e); desktop.m.sendKeepAlive(); } else { desktop.m.mousewheel(e); } } }
// ###END###{DesktopInband} // ###END###{DesktopInband}
function drotate(x) { function drotate(x) {

View File

@@ -65,49 +65,49 @@
] ]
}, },
{ {
"de": " 1 Minute", "de": " 1 Minute ",
"en": " 1 minute ", "en": " 1 minute ",
"es": " 1 minuto", "es": " 1 minuto ",
"fr": " 1 minute", "fr": " 1 minute ",
"it": " 1 minuto", "it": " 1 minuto ",
"ja": " 1分", "ja": " 1分 ",
"ko": " 1 분", "ko": " 1 분 ",
"nl": " 1 minuut", "nl": " 1 minuut ",
"pt": " 1 minuto", "pt": " 1 minuto ",
"ru": " 1 минута", "ru": " 1 минута ",
"zh-chs": " 1分钟", "zh-chs": " 1分钟 ",
"xloc": [ "xloc": [
"index.html->id_computerSelector->dialog->21->1508" "index.html->id_computerSelector->dialog->21->1508"
] ]
}, },
{ {
"de": " 1 Minute", "de": " 1 minute ",
"en": " 1 minutes ", "en": " 1 minutes ",
"es": " 1 minuto", "es": " 1 minuto ",
"fr": " 1 minutes", "fr": " 1 minutes ",
"it": " 1 minuti", "it": " 1 minuti ",
"ja": " 1分", "ja": " 1分 ",
"ko": " 1 분", "ko": " 1 분 ",
"nl": " 1 minuut", "nl": " 1 minuut ",
"pt": " 1 minuto", "pt": " 1 minuto ",
"ru": " 1 минута", "ru": " 1 минута ",
"zh-chs": " 1分钟", "zh-chs": " 1分钟 ",
"xloc": [ "xloc": [
"index.html->id_computerSelector->dialog->21->1507" "index.html->id_computerSelector->dialog->21->1507"
] ]
}, },
{ {
"de": ": Zu protokollierendes Ereignis", "de": " : Zu protokollierendes Ereignis",
"en": " : Event to log", "en": " : Event to log",
"es": ": Evento para registrar", "es": " : Evento para registrar",
"fr": ": Événement à consigner", "fr": " : Événement à consigner",
"it": ": Evento da registrare", "it": " : Evento da registrare",
"ja": ":ログに記録するイベント", "ja": " :ログに記録するイベント",
"ko": ": 기록 할 이벤트", "ko": " : 기록 할 이벤트",
"nl": ": Te loggen gebeurtenis", "nl": " : Te loggen gebeurtenis",
"pt": ": Evento a ser registrado", "pt": " : Evento a ser registrado",
"ru": ": Событие для входа", "ru": " : Событие для входа",
"zh-chs": ":要记录的事件", "zh-chs": " :要记录的事件",
"xloc": [ "xloc": [
"index.html->id_computerSelector->dialog->21->770" "index.html->id_computerSelector->dialog->21->770"
] ]