From b345859ed63d0ead7c2e56727eaaccfbe4011a68 Mon Sep 17 00:00:00 2001
From: Pierre Ossman <ossman@cendio.se>
Date: Thu, 9 Feb 2017 14:20:37 +0100
Subject: [PATCH] More aggressive retaining of focus

Try to keep the virtual keyboard up even more. Only release focus
when it is absolutely necessary.
---
 app/ui.js | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/app/ui.js b/app/ui.js
index 83233a7..6c706fa 100644
--- a/app/ui.js
+++ b/app/ui.js
@@ -1479,15 +1479,21 @@ var UI;
                 return;
             }
 
-            // Allow clicking on links
-            if (event.target.tagName === "A") {
-                return;
-            }
-
-            // And form elements, except standard noVNC buttons
-            if ((event.target.form !== undefined) &&
-                !event.target.classList.contains("noVNC_button")) {
-                return;
+            // Only allow focus to move to other elements that need
+            // focus to function properly
+            if (event.target.form !== undefined) {
+                switch (event.target.type) {
+                    case 'text':
+                    case 'email':
+                    case 'search':
+                    case 'password':
+                    case 'tel':
+                    case 'url':
+                    case 'textarea':
+                    case 'select-one':
+                    case 'select-multiple':
+                        return;
+                }
             }
 
             event.preventDefault();
-- 
GitLab