UI.updateVisualState();
- document.getElementById('noVNC_setting_host').focus();
document.documentElement.classList.remove("noVNC_loading");
var autoconnect = WebUtil.getConfigVar('autoconnect', false);
document.getElementById("noVNC_control_bar")
.addEventListener('mousedown', UI.activateControlbar);
document.getElementById("noVNC_control_bar")
- .addEventListener('keypress', UI.activateControlbar);
+ .addEventListener('keydown', UI.activateControlbar);
document.getElementById("noVNC_control_bar")
.addEventListener('mousedown', UI.keepControlbar);
document.getElementById("noVNC_control_bar")
- .addEventListener('keypress', UI.keepControlbar);
+ .addEventListener('keydown', UI.keepControlbar);
document.getElementById("noVNC_view_drag_button")
.addEventListener('click', UI.toggleViewDrag);
document.documentElement
.addEventListener('mousedown', UI.keepVirtualKeyboard, true);
+ document.documentElement
+ .addEventListener('touchstart', UI.keepVirtualKeyboard, true);
document.getElementById("noVNC_control_bar")
.addEventListener('touchstart', UI.activateControlbar);
addClipboardHandlers: function() {
document.getElementById("noVNC_clipboard_button")
.addEventListener('click', UI.toggleClipboardPanel);
- document.getElementById("noVNC_clipboard_text")
- .addEventListener('focus', UI.displayBlur);
- document.getElementById("noVNC_clipboard_text")
- .addEventListener('blur', UI.displayFocus);
document.getElementById("noVNC_clipboard_text")
.addEventListener('change', UI.clipboardSend);
document.getElementById("noVNC_clipboard_clear_button")
msg = _("Connected (unencrypted) to ") + UI.desktopName;
}
UI.showStatus(msg);
+ document.getElementById('noVNC_canvas').focus();
break;
case 'disconnecting':
UI.connected = false;
password = undefined;
}
- if ((!host) || (!port)) {
- var msg = _("Must set host and port");
+ if (!host) {
+ var msg = _("Must set host");
Log.Error(msg);
UI.showStatus(msg, 'error');
return;
}
}
- event.preventDefault();
+ // The default action of touchstart is to generate other
+ // events, which other elements might depend on. So we can't
+ // blindly prevent that. Instead restore focus right away.
+ if (event.type === "touchstart") {
+ setTimeout(input.focus.bind(input));
+ } else {
+ event.preventDefault();
+ }
},
keyboardinputReset: function() {
}
},
- displayBlur: function() {
- if (UI.rfb && !UI.rfb.get_view_only()) {
- UI.rfb.get_keyboard().set_focused(false);
- UI.rfb.get_mouse().set_focused(false);
- }
- },
-
- displayFocus: function() {
- if (UI.rfb && !UI.rfb.get_view_only()) {
- UI.rfb.get_keyboard().set_focused(true);
- UI.rfb.get_mouse().set_focused(true);
- }
- },
-
updateLocalCursor: function() {
if (!UI.rfb) return;
UI.rfb.set_local_cursor(UI.getSetting('cursor'));