aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/drawable/button_tab.pngbin0 -> 3535 bytes
-rw-r--r--res/layout/act_console.xml11
-rw-r--r--res/values/strings.xml4
-rw-r--r--src/org/connectbot/ConsoleActivity.java24
-rw-r--r--src/org/connectbot/service/TerminalKeyListener.java14
5 files changed, 47 insertions, 6 deletions
diff --git a/res/drawable/button_tab.png b/res/drawable/button_tab.png
new file mode 100644
index 0000000..4443118
--- /dev/null
+++ b/res/drawable/button_tab.png
Binary files differ
diff --git a/res/layout/act_console.xml b/res/layout/act_console.xml
index f7db787..46dedfb 100644
--- a/res/layout/act_console.xml
+++ b/res/layout/act_console.xml
@@ -158,6 +158,17 @@
android:src="@+drawable/button_esc"
android:contentDescription="@string/image_description_send_escape_character"
/>
+
+ <ImageView
+ android:id="@+id/button_tab"
+ android:paddingRight="15dip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/button_esc"
+ android:layout_alignParentBottom="true"
+ android:src="@+drawable/button_tab"
+ android:contentDescription="@string/image_description_send_tab_character"
+ />
</RelativeLayout>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d8e3bb5..cbc275c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -505,6 +505,10 @@
<!-- Describes the icon of the "send escape character" button in the terminal view for
accessibility purposes. -->
<string name="image_description_send_escape_character">Send escape character.</string>
+
+ <!-- Describes the icon of the "send tab character" button in the terminal view for
+ accessibility purposes. -->
+ <string name="image_description_send_tab_character">Send TAB character.</string>
<!-- Describes the icon of the "show keyboard" button in the terminal view for accessibility
purposes. -->
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