diff --git a/src/org/connectbot/service/TerminalKeyListener.java b/src/org/connectbot/service/TerminalKeyListener.java index e768134..7425bb3 100644 --- a/src/org/connectbot/service/TerminalKeyListener.java +++ b/src/org/connectbot/service/TerminalKeyListener.java @@ -182,6 +182,16 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha bridge.redraw(); } + if ((curMetaState & 0x08) != 0) { + metaState |= META_CTRL_ON; + bridge.redraw(); + } + + if (event.isAltPressed()) { + metaState |= META_ALT_ON; + bridge.redraw(); + } + int key = keymap.get(keyCode, curMetaState); if ((metaState & META_CTRL_MASK) != 0) { @@ -210,6 +220,10 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha && sendFunctionKey(keyCode)) return true; + if ((metaState & META_ALT_MASK) != 0) { + sendEscape(); + } + if (key < 0x80) bridge.transport.write(key); else