From e1f93cdb7d17a52e38adb7c09c34fd7ace25d28f Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sat, 4 Jul 2009 13:42:35 +0000 Subject: Restore some Fn key functionality for hardware keyboard users git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@353 df292f66-193f-0410-a5fc-6d59da041ff2 --- src/org/connectbot/service/TerminalBridge.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/org') diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java index f66d89c..a79668d 100644 --- a/src/org/connectbot/service/TerminalBridge.java +++ b/src/org/connectbot/service/TerminalBridge.java @@ -520,6 +520,8 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener { if (printing) { int curMetaState = event.getMetaState(); + boolean oppositeShift = (metaState & META_TAB) != 0; + metaState &= ~(META_SLASH | META_TAB); if ((metaState & META_SHIFT_MASK) != 0) { @@ -554,7 +556,7 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener { } // handle pressing f-keys - if ((metaState & META_TAB) != 0) { + if (oppositeShift) { switch(key) { case '!': ((vt320)buffer).keyPressed(vt320.KEY_F1, ' ', 0); return true; case '@': ((vt320)buffer).keyPressed(vt320.KEY_F2, ' ', 0); return true; @@ -583,6 +585,7 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener { event.getAction() == KeyEvent.ACTION_MULTIPLE) { byte[] input = event.getCharacters().getBytes(host.getEncoding()); transport.write(input); + return true; } // try handling keymode shortcuts -- cgit v1.2.3