aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorBrian P. Hinz <bphinz@users.sf.net>2017-11-12 15:42:23 -0500
committerBrian P. Hinz <bphinz@users.sf.net>2017-11-13 18:21:28 -0500
commit2dc6529ecdb83afe58b6520427623a848de41d71 (patch)
tree6c1a485ed526ab14b0339e20075c83594811d2c0 /java
parente5b4003bfb24f740e0d6ea2c82422d1dacf7b927 (diff)
downloadtigervnc-2dc6529ecdb83afe58b6520427623a848de41d71.tar.gz
tigervnc-2dc6529ecdb83afe58b6520427623a848de41d71.zip
Override implicit focus transfer when "F10" key is pressed
Java L&F has pre-defined hook that transfers the focus to the menu of the RootPane. Since the viewer doesn't have a menu this just causes a loss of focus and subsequent unexpected behavior of keyboard and mouse.
Diffstat (limited to 'java')
-rw-r--r--java/com/tigervnc/vncviewer/Viewport.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/java/com/tigervnc/vncviewer/Viewport.java b/java/com/tigervnc/vncviewer/Viewport.java
index 72d61605..a588f0f4 100644
--- a/java/com/tigervnc/vncviewer/Viewport.java
+++ b/java/com/tigervnc/vncviewer/Viewport.java
@@ -102,6 +102,16 @@ class Viewport extends JPanel implements ActionListener {
releaseDownKeys();
}
});
+ Action action = new AbstractAction() {
+ public void actionPerformed(ActionEvent e) { }
+ };
+ KeyStroke f10 = KeyStroke.getKeyStroke(KeyEvent.VK_F10, 0);
+ getInputMap(JComponent.WHEN_FOCUSED).put(f10, "requestFocus");
+ getActionMap().put("requestFocus", new AbstractAction() {
+ public void actionPerformed(ActionEvent e) {
+ requestFocusInWindow();
+ }
+ });
setFocusTraversalKeysEnabled(false);
setFocusable(true);