Add event stack to the UI
This commit is contained in:
parent
8d8251ddcb
commit
c82f683881
|
|
@ -881,6 +881,18 @@ select:active {
|
||||||
box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
|
box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#noVNC_click_stack {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 250px;
|
||||||
|
height: 250px;
|
||||||
|
overflow: scroll;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 5px 0 0 0;
|
||||||
|
box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
/*Default noVNC logo.*/
|
/*Default noVNC logo.*/
|
||||||
/* From: http://fonts.googleapis.com/css?family=Orbitron:700 */
|
/* From: http://fonts.googleapis.com/css?family=Orbitron:700 */
|
||||||
@font-face {
|
@font-face {
|
||||||
|
|
|
||||||
25
app/ui.js
25
app/ui.js
|
|
@ -37,6 +37,8 @@ const UI = {
|
||||||
lastKeyboardinput: null,
|
lastKeyboardinput: null,
|
||||||
defaultKeyboardinputLen: 100,
|
defaultKeyboardinputLen: 100,
|
||||||
|
|
||||||
|
canvasInteractionEvents: Array(),
|
||||||
|
|
||||||
inhibit_reconnect: true,
|
inhibit_reconnect: true,
|
||||||
reconnect_callback: null,
|
reconnect_callback: null,
|
||||||
reconnect_password: null,
|
reconnect_password: null,
|
||||||
|
|
@ -713,10 +715,30 @@ const UI = {
|
||||||
let scaleRatioY = UI.rfb.canvas.height / UI.rfb.canvas.clientHeight;
|
let scaleRatioY = UI.rfb.canvas.height / UI.rfb.canvas.clientHeight;
|
||||||
let x = Math.floor(e.offsetX * scaleRatioX);
|
let x = Math.floor(e.offsetX * scaleRatioX);
|
||||||
let y = Math.floor(e.offsetY * scaleRatioY);
|
let y = Math.floor(e.offsetY * scaleRatioY);
|
||||||
document.getElementById('noVNC_mouse_coordinates').innerText = "(" + x + ", " + y + ")"
|
document.getElementById('noVNC_mouse_coordinates').innerHTML = "(" + x + ", " + y + ")"
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
trackClicks() {
|
||||||
|
UI.rfb.canvas.addEventListener('mouseup', function(e) {
|
||||||
|
let scaleRatioX = UI.rfb.canvas.width / UI.rfb.canvas.clientWidth;
|
||||||
|
let scaleRatioY = UI.rfb.canvas.height / UI.rfb.canvas.clientHeight;
|
||||||
|
let x = Math.floor(e.offsetX * scaleRatioX);
|
||||||
|
let y = Math.floor(e.offsetY * scaleRatioY);
|
||||||
|
UI.canvasInteractionEvents.push({name: e.type, x: x, y: y})
|
||||||
|
UI.updateInteractionStackUI();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
updateInteractionStackUI() {
|
||||||
|
document.getElementById('noVNC_click_stack').innerHTML = "";
|
||||||
|
for (var i = 0; i < UI.canvasInteractionEvents.length; i++) {
|
||||||
|
let e = UI.canvasInteractionEvents[i];
|
||||||
|
let el = document.createElement('li');
|
||||||
|
el.innerText = e.name + " at (" + e.x + ", " + e.y + ")";
|
||||||
|
document.getElementById('noVNC_click_stack').append(el);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
/* ------^-------
|
/* ------^-------
|
||||||
* /VISUAL
|
* /VISUAL
|
||||||
|
|
@ -1048,6 +1070,7 @@ const UI = {
|
||||||
UI.rfb.showDotCursor = UI.getSetting('show_dot');
|
UI.rfb.showDotCursor = UI.getSetting('show_dot');
|
||||||
|
|
||||||
UI.trackMouse();
|
UI.trackMouse();
|
||||||
|
UI.trackClicks();
|
||||||
|
|
||||||
UI.updateViewOnly(); // requires UI.rfb
|
UI.updateViewOnly(); // requires UI.rfb
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue