diff options
author | Jeremy Klein <jlklein@google.com> | 2015-07-14 15:15:47 -0700 |
---|---|---|
committer | Jeremy Klein <jlklein@google.com> | 2015-07-14 15:15:47 -0700 |
commit | 802476a777f9f646f40d6128d3476d32ffc4a901 (patch) | |
tree | 1c772cb5451b498168c7f17d74c949d9c70d6c98 /src | |
parent | d8d9a5f3d5df044c6c7e5c87d6805f702eed1a36 (diff) | |
download | connectbot-802476a777f9f646f40d6128d3476d32ffc4a901.tar.gz connectbot-802476a777f9f646f40d6128d3476d32ffc4a901.tar.bz2 connectbot-802476a777f9f646f40d6128d3476d32ffc4a901.zip |
Add a tab button to the emulated keys above the soft keyboard.
Fixes #92
Diffstat (limited to 'src')
-rw-r--r-- | src/org/connectbot/ConsoleActivity.java | 24 | ||||
-rw-r--r-- | src/org/connectbot/service/TerminalKeyListener.java | 14 |
2 files changed, 32 insertions, 6 deletions
diff --git a/src/org/connectbot/ConsoleActivity.java b/src/org/connectbot/ConsoleActivity.java index aeb0e67..d376c94 100644 --- a/src/org/connectbot/ConsoleActivity.java +++ b/src/org/connectbot/ConsoleActivity.java @@ -52,19 +52,20 @@ import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; +import android.view.MenuItem.OnMenuItemClickListener; import android.view.MotionEvent; import android.view.View; -import android.view.ViewConfiguration; -import android.view.Window; -import android.view.WindowManager; -import android.view.MenuItem.OnMenuItemClickListener; import android.view.View.OnClickListener; import android.view.View.OnKeyListener; import android.view.View.OnTouchListener; +import android.view.ViewConfiguration; +import android.view.Window; +import android.view.WindowManager; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; @@ -74,8 +75,6 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import android.widget.ViewFlipper; -import android.widget.AdapterView.OnItemClickListener; - import de.mud.terminal.vt320; public class ConsoleActivity extends Activity { @@ -440,6 +439,19 @@ public class ConsoleActivity extends Activity { } }); + final ImageView tabButton = (ImageView) findViewById(R.id.button_tab); + tabButton.setOnClickListener(new OnClickListener() { + public void onClick(View view) { + View flip = findCurrentView(R.id.console_flip); + if (flip == null) return; + TerminalView terminal = (TerminalView)flip; + + TerminalKeyListener handler = terminal.bridge.getKeyHandler(); + handler.sendTab(); + hideEmulatedKeys(); + } + }); + actionBar = ActionBarWrapper.getActionBar(this); actionBar.setDisplayHomeAsUpEnabled(true); if (titleBarHide) { diff --git a/src/org/connectbot/service/TerminalKeyListener.java b/src/org/connectbot/service/TerminalKeyListener.java index 13e8dd1..cc85268 100644 --- a/src/org/connectbot/service/TerminalKeyListener.java +++ b/src/org/connectbot/service/TerminalKeyListener.java @@ -485,6 +485,20 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha ((vt320)buffer).keyTyped(vt320.KEY_ESCAPE, ' ', 0); } + public void sendTab() { + try { + bridge.transport.write(0x09); + } catch (IOException e) { + Log.e(TAG, "Problem while trying to send TAB press.", e); + try { + bridge.transport.flush(); + } catch (IOException ioe) { + Log.d(TAG, "Our transport was closed, dispatching disconnect event"); + bridge.dispatchDisconnect(false); + } + } + } + /** * @param key * @return successful |