From 7f215bf19765510f3682d653f763a1897f32b9e9 Mon Sep 17 00:00:00 2001 From: Chris Radek Date: Tue, 5 Oct 2010 15:05:20 -0500 Subject: [PATCH] my connectbot keyboard improvements for droid2 TAB gives tab ALT-TAB gives ~ ALTLOCK gives escape ALT-UP gives pg up ALT-DOWN gives pg dn OK-/ gives \ --- src/de/mud/terminal/vt320.java | 2 ++ .../connectbot/service/TerminalKeyListener.java | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 0 deletions(-) diff --git a/src/de/mud/terminal/vt320.java b/src/de/mud/terminal/vt320.java index fd41a06..d6d23f0 100644 --- a/src/de/mud/terminal/vt320.java +++ b/src/de/mud/terminal/vt320.java @@ -283,8 +283,10 @@ public void setScreenSize(int c, int r, boolean broadcast) { KeyUp = new String[4]; KeyUp[0] = "\u001b[A"; + KeyUp[3] = "\u001b[5~"; KeyDown = new String[4]; KeyDown[0] = "\u001b[B"; + KeyDown[3] = "\u001b[6~"; KeyRight = new String[4]; KeyRight[0] = "\u001b[C"; KeyLeft = new String[4]; diff --git a/src/org/connectbot/service/TerminalKeyListener.java b/src/org/connectbot/service/TerminalKeyListener.java index e768134..cee6f7b 100644 --- a/src/org/connectbot/service/TerminalKeyListener.java +++ b/src/org/connectbot/service/TerminalKeyListener.java @@ -162,6 +162,7 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha bridge.resetScrollPosition(); boolean printing = (keymap.isPrintingKey(keyCode) || keyCode == KeyEvent.KEYCODE_SPACE); + // Log.d(TAG, "keycode " + keyCode + " printing " + printing); // otherwise pass through to existing session // print normal keys @@ -202,6 +203,12 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha key = 0x00; else if (key == 0x3F) key = 0x7F; + // ctrl-slash -> backslash + else if (key == 0x2F) + key = 0x5C; + // ctrl-atsign -> escape + else if (key == 0x40) + key = 0x1B; } // handle pressing f-keys @@ -296,6 +303,17 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha break; + case 93: // ALT LOCK? + sendEscape(); + return true; + case KeyEvent.KEYCODE_TAB: + if(getStateForBuffer() > 0) { + bridge.transport.write('~'); + } else { + bridge.transport.write('\t'); + } + metaState &= ~META_TRANSIENT; + return true; case KeyEvent.KEYCODE_DEL: ((vt320) buffer).keyPressed(vt320.KEY_BACK_SPACE, ' ', getStateForBuffer()); -- 1.7.0.4