diff src/com/five_ten_sg/connectbot/service/TerminalKeyListener.java @ 50:2cd3d8091e37 tn5250

start tn5250 integration
author Carl Byington <carl@five-ten-sg.com>
date Wed, 11 Jun 2014 11:50:25 -0700
parents 8887bff45dee
children 8c6de858bb73
line wrap: on
line diff
--- a/src/com/five_ten_sg/connectbot/service/TerminalKeyListener.java	Wed Jun 11 11:28:31 2014 -0700
+++ b/src/com/five_ten_sg/connectbot/service/TerminalKeyListener.java	Wed Jun 11 11:50:25 2014 -0700
@@ -85,9 +85,10 @@
     private final vt320 buffer;
     private       String encoding;
 
-    private String keymode = null;
-    private boolean hardKeyboard = false;
-    private String customKeyboard = null;
+    private   String  keymode = null;
+    protected boolean hardKeyboard = false;
+    protected boolean hardKeyboardHidden;
+    private   String  customKeyboard = null;
 
     private int metaState = 0;
     private int mDeadKey = 0;
@@ -95,8 +96,8 @@
     // TODO add support for the new API.
     private ClipboardManager clipboard = null;
     private boolean selectingForCopy = false;
-    private final SelectionArea selectionArea;
-    private final SharedPreferences prefs;
+    private   final SelectionArea selectionArea;
+    protected final SharedPreferences prefs;
 
 
     public TerminalKeyListener(TerminalManager manager,
@@ -110,8 +111,8 @@
         selectionArea = new SelectionArea();
         prefs = PreferenceManager.getDefaultSharedPreferences(manager);
         prefs.registerOnSharedPreferenceChangeListener(this);
-        hardKeyboard = (manager.res.getConfiguration().keyboard
-                        == Configuration.KEYBOARD_QWERTY);
+        hardKeyboard       = (manager.res.getConfiguration().keyboard == Configuration.KEYBOARD_QWERTY);
+        hardKeyboardHidden = manager.hardKeyboardHidden;
         updateKeymode();
         updateCustomKeymap();
     }
@@ -127,16 +128,12 @@
     public boolean onKey(View v, int keyCode, KeyEvent event) {
         try {
             // skip keys if we aren't connected yet or have been disconnected
-            if (bridge.isDisconnected() || bridge.transport == null)
-                return false;
-
-            final boolean hardKeyboardHidden = manager.hardKeyboardHidden;
+            if (bridge.isDisconnected()) return false;
 
             // Ignore all key-up events except for the special keys
             if (event.getAction() == KeyEvent.ACTION_UP) {
                 // There's nothing here for virtual keyboard users.
-                if (!hardKeyboard || (hardKeyboard && hardKeyboardHidden))
-                    return false;
+                if (!hardKeyboard || hardKeyboardHidden) return false;
 
                 // if keycode debugging enabled, log and print the pressed key
                 if (prefs.getBoolean(PreferenceConstants.DEBUG_KEYCODES, false)) {
@@ -276,8 +273,7 @@
 
                     // If there is no hard keyboard or there is a hard keyboard currently hidden,
                     // CTRL-1 through CTRL-9 will send F1 through F9
-                    if ((!hardKeyboard || (hardKeyboard && hardKeyboardHidden))
-                            && sendFunctionKey(keyCode))
+                    if ((!hardKeyboard || hardKeyboardHidden) && sendFunctionKey(keyCode))
                         return true;
 
                     uchar = keyAsControl(uchar);
@@ -1135,7 +1131,7 @@
         return false;
     }
 
-    private boolean fullKeyboard() {
+    protected boolean fullKeyboard() {
         if (customKeyboard.equals(PreferenceConstants.CUSTOM_KEYMAP_FULL) ||
                 (customKeyboard.equals(PreferenceConstants.CUSTOM_KEYMAP_ASUS_TF)))
             return true;