From d1bd5ec7d40333cd7f78bcd1beea1a73cac2ed53 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Sun, 3 Apr 2011 17:51:47 -0500 Subject: [PATCH] Fix focus/clipboard related to mouse/keyboard refactor. --- include/canvas.js | 3 --- include/rfb.js | 7 +++++++ include/ui.js | 10 ++++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/include/canvas.js b/include/canvas.js index 8426a945..dd61a406 100644 --- a/include/canvas.js +++ b/include/canvas.js @@ -37,7 +37,6 @@ cdef('cursor_uri', 'raw', null, 'Can we render cursor using data URI'); cdef('target', 'dom', null, 'Canvas element for VNC viewport'); cdef('focusContainer', 'dom', document, 'DOM element that traps keyboard input'); cdef('true_color', 'bool', true, 'Request true color pixel data'); -cdef('focused', 'bool', true, 'Capture and send key strokes'); cdef('colourMap', 'raw', [], 'Colour map array (not true color)'); cdef('scale', 'float', 1, 'VNC viewport scale factor'); @@ -204,8 +203,6 @@ function constructor() { conf.cursor_uri = false; } - conf.focused = true; - Util.Debug("<< Canvas.init"); return that ; } diff --git a/include/rfb.js b/include/rfb.js index 0764e8e4..3c9c8c4a 100644 --- a/include/rfb.js +++ b/include/rfb.js @@ -165,6 +165,13 @@ that.set_local_cursor = function(cursor) { that.get_canvas = function() { return canvas; }; +that.get_keyboard = function() { + return keyboard; +}; +that.get_mouse = function() { + return mouse; +}; + diff --git a/include/ui.js b/include/ui.js index e0980d33..31f630df 100644 --- a/include/ui.js +++ b/include/ui.js @@ -145,8 +145,8 @@ load: function(target) { // Unfocus clipboard when over the VNC area $D('VNC_screen').onmousemove = function () { - var canvas = UI.rfb.get_canvas(); - if ((! canvas) || (! canvas.get_focused())) { + var keyboard = UI.rfb.get_keyboard(); + if ((! keyboard) || (! keyboard.get_focused())) { $D('VNC_clipboard_text').blur(); } }; @@ -399,11 +399,13 @@ disconnect: function() { }, canvasBlur: function() { - UI.rfb.get_canvas().set_focused(false); + UI.rfb.get_keyboard().set_focused(false); + UI.rfb.get_mouse().set_focused(false); }, canvasFocus: function() { - UI.rfb.get_canvas().set_focused(true); + UI.rfb.get_keyboard().set_focused(true); + UI.rfb.get_mouse().set_focused(true); }, clipClear: function() {