diff options
author | Robert Ewald <robewald@gmx.net> | 2012-10-02 22:12:58 +0200 |
---|---|---|
committer | Jack Palevich <jackpal@google.com> | 2012-10-07 10:12:43 -0700 |
commit | ad8eac83e1b02c6b558a6581a2d385d38f1116c5 (patch) | |
tree | 30cd0cc75a3eb1bc7c93feeccc9cca41ca5456b9 | |
parent | 7785940304e1a21fd25730770e6d8ba01a8a33b2 (diff) | |
download | AndroidTerm-ad8eac83e1b02c6b558a6581a2d385d38f1116c5.tar.gz |
Add Alt key behavior option to the preferences screen.
This will allow the user to choose whether she wants to keep the old
behavior or send a esc character before the string.
-rw-r--r-- | libraries/emulatorview/src/jackpal/androidterm/emulatorview/EmulatorView.java | 9 | ||||
-rw-r--r-- | libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java | 5 | ||||
-rw-r--r-- | res/values/defaults.xml | 1 | ||||
-rw-r--r-- | res/values/strings.xml | 3 | ||||
-rw-r--r-- | res/xml/preferences.xml | 1 | ||||
-rw-r--r-- | src/jackpal/androidterm/TermView.java | 1 | ||||
-rw-r--r-- | src/jackpal/androidterm/util/TermSettings.java | 8 |
7 files changed, 28 insertions, 0 deletions
diff --git a/libraries/emulatorview/src/jackpal/androidterm/emulatorview/EmulatorView.java b/libraries/emulatorview/src/jackpal/androidterm/emulatorview/EmulatorView.java index 466a269..9619f22 100644 --- a/libraries/emulatorview/src/jackpal/androidterm/emulatorview/EmulatorView.java +++ b/libraries/emulatorview/src/jackpal/androidterm/emulatorview/EmulatorView.java @@ -1242,6 +1242,15 @@ public class EmulatorView extends View implements GestureDetector.OnGestureListe } /** + * Set whether to prepend the ESC keycode to the character when when pressing + * the ALT Key. + * @param flag + */ + public void setAltSendsEsc(boolean flag) { + mKeyListener.setAltSendsEsc(flag); + } + + /** * Set the keycode corresponding to the Ctrl key. */ public void setControlKeyCode(int keyCode) { diff --git a/libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java b/libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java index f8ca207..d9554c3 100644 --- a/libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java +++ b/libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java @@ -665,6 +665,7 @@ class TermKeyListener { private TermSession mTermSession; private int mBackKeyCode; + private boolean mAltSendsEsc; // Map keycodes out of (above) the Unicode code point space. static public final int KEYCODE_OFFSET = 0xA00000; @@ -682,6 +683,10 @@ class TermKeyListener { mBackKeyCode = code; } + public void setAltSendsEsc(boolean flag) { + mAltSendsEsc = flag; + } + public void handleControlKey(boolean down) { if (down) { mControlKey.onPress(); diff --git a/res/values/defaults.xml b/res/values/defaults.xml index 4ef4857..bd2868f 100644 --- a/res/values/defaults.xml +++ b/res/values/defaults.xml @@ -8,6 +8,7 @@ <string name="pref_fontsize_default">10</string> <string name="pref_color_default">1</string> <bool name="pref_utf8_by_default_default">false</bool> + <bool name="pref_alt_sends_esc_off_default">false</bool> <string name="pref_backaction_default">2</string> <string name="pref_controlkey_default">5</string> <string name="pref_fnkey_default">4</string> diff --git a/res/values/strings.xml b/res/values/strings.xml index b2e23f4..ad08dda 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -144,4 +144,7 @@ <string name="email_transcript_subject">Transcript from Android Terminal Emulator</string> <string name="email_transcript_chooser_title">Mail transcript using:</string> <string name="email_transcript_no_email_activity_found">Could not choose an email activity to send transcript.</string> + <string name="alt_sends_esc">Alt sends ESC</string> + <string name="alt_compose_char">Alt composes characters</string> + <string name="alt_key_behavior">Alt Key Behaviour</string> </resources> diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 81be6a0..d9edec7 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -87,6 +87,7 @@ android:defaultValue="@bool/pref_utf8_by_default_default" android:title="@string/title_utf8_by_default_preference" android:summary="@string/summary_utf8_by_default_preference" /> + <CheckBoxPreference android:title="@string/alt_key_behavior" android:key="alt_key_behavior" android:defaultValue="@bool/pref_alt_sends_esc_off_default" android:summaryOn="@string/alt_sends_esc" android:summaryOff="@string/alt_compose_char"/> </PreferenceCategory> diff --git a/src/jackpal/androidterm/TermView.java b/src/jackpal/androidterm/TermView.java index 5d83e3d..cd572d5 100644 --- a/src/jackpal/androidterm/TermView.java +++ b/src/jackpal/androidterm/TermView.java @@ -43,6 +43,7 @@ public class TermView extends EmulatorView { setUseCookedIME(settings.useCookedIME()); setColorScheme(scheme); setBackKeyCharacter(settings.getBackKeyCharacter()); + setAltSendsEsc(settings.getAltSendsEscFlag()); setControlKeyCode(settings.getControlKeyCode()); setFnKeyCode(settings.getFnKeyCode()); } diff --git a/src/jackpal/androidterm/util/TermSettings.java b/src/jackpal/androidterm/util/TermSettings.java index 6336eb0..fba5912 100644 --- a/src/jackpal/androidterm/util/TermSettings.java +++ b/src/jackpal/androidterm/util/TermSettings.java @@ -51,6 +51,8 @@ public class TermSettings { private String mPrependPath = null; private String mAppendPath = null; + private boolean mAltSendsEsc; + private static final String STATUSBAR_KEY = "statusbar"; private static final String ACTIONBAR_KEY = "actionbar"; private static final String CURSORSTYLE_KEY = "cursorstyle"; @@ -69,6 +71,7 @@ public class TermSettings { private static final String VERIFYPATH_KEY = "verify_path"; private static final String PATHEXTENSIONS_KEY = "do_path_extensions"; private static final String PATHPREPEND_KEY = "allow_prepend_path"; + private static final String ALT_SENDS_ESC = "alt_key_behavior"; public static final int WHITE = 0xffffffff; public static final int BLACK = 0xff000000; @@ -177,6 +180,7 @@ public class TermSettings { mVerifyPath = readBooleanPref(VERIFYPATH_KEY, mVerifyPath); mDoPathExtensions = readBooleanPref(PATHEXTENSIONS_KEY, mDoPathExtensions); mAllowPathPrepend = readBooleanPref(PATHPREPEND_KEY, mAllowPathPrepend); + mAltSendsEsc = readBooleanPref(ALT_SENDS_ESC, mAltSendsEsc); mPrefs = null; // we leak a Context if we hold on to this } @@ -236,6 +240,10 @@ public class TermSettings { return mBackKeyAction >= BACK_KEY_SENDS_ESC; } + public boolean getAltSendsEscFlag() { + return mAltSendsEsc; + } + public int getBackKeyCharacter() { switch (mBackKeyAction) { case BACK_KEY_SENDS_ESC: return 27; |