diff options
author | Joey Rizzoli <joey@lineageos.org> | 2017-05-30 21:17:26 +0200 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2019-09-10 23:47:42 +0300 |
commit | 78c8a5f371e2af2ae47fc2f645541e253158f3f6 (patch) | |
tree | 5866fed1c0cd8c84115478a2595744fbf66d1cec | |
parent | a684d7fe45bb3d5743b49bfa3c6c6d3ac8494350 (diff) | |
download | android_packages_apps_Terminal-lineage-17.0.tar.gz android_packages_apps_Terminal-lineage-17.0.tar.bz2 android_packages_apps_Terminal-lineage-17.0.zip |
Terminal: volume keys as up/downlineage-17.0
Change-Id: Ia2feb76065f00cb96adad2f6c6553dc2313e3591
Signed-off-by: Joey Rizzoli <joey@lineageos.org>
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | res/xml/settings.xml | 5 | ||||
-rw-r--r-- | src/com/android/terminal/TerminalKeys.java | 15 | ||||
-rw-r--r-- | src/com/android/terminal/TerminalSettingsActivity.java | 1 | ||||
-rw-r--r-- | src/com/android/terminal/TerminalView.java | 2 |
5 files changed, 21 insertions, 4 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index aa65847..de6a193 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -31,4 +31,6 @@ <string name="font_size_title">Font size</string> <string name="text_colors_title">Text colors</string> + <string name="volumekey_title">Volume keys as input</string> + <string name="volumekey_summary">Volume Up/Down keys will input Up/Down keys</string> </resources> diff --git a/res/xml/settings.xml b/res/xml/settings.xml index 5a7a361..833b90f 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -18,6 +18,11 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/menu_item_settings"> + <SwitchPreference + android:key="volumekey_mode" + android:title="@string/volumekey_title" + android:summary="@string/volumekey_summary" + android:defaultValue="false" /> <PreferenceCategory android:title="@string/screen_settings"> <SwitchPreference diff --git a/src/com/android/terminal/TerminalKeys.java b/src/com/android/terminal/TerminalKeys.java index 9850f52..b408a8c 100644 --- a/src/com/android/terminal/TerminalKeys.java +++ b/src/com/android/terminal/TerminalKeys.java @@ -16,6 +16,8 @@ package com.android.terminal; +import android.content.Context; +import android.preference.PreferenceManager; import android.util.Log; import android.view.KeyCharacterMap; import android.view.KeyEvent; @@ -85,7 +87,10 @@ public class TerminalKeys { return mod; } - public static int getKey(KeyEvent event) { + public static int getKey(Context context, KeyEvent event) { + final boolean volumeAsInput = PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(TerminalSettingsActivity.KEY_VOLUME_MODE, false); + switch(event.getKeyCode()) { case KeyEvent.KEYCODE_ENTER: return VTERM_KEY_ENTER; @@ -115,6 +120,10 @@ public class TerminalKeys { return VTERM_KEY_PAGEUP; case KeyEvent.KEYCODE_PAGE_DOWN: return VTERM_KEY_PAGEDOWN; + case KeyEvent.KEYCODE_VOLUME_UP: + return volumeAsInput ? VTERM_KEY_UP : 0; + case KeyEvent.KEYCODE_VOLUME_DOWN: + return volumeAsInput ? VTERM_KEY_DOWN : 0; default: return 0; } @@ -174,12 +183,12 @@ public class TerminalKeys { return c; } - public boolean onKey(View v, int keyCode, KeyEvent event) { + public boolean onKey(View v, Context context, int keyCode, KeyEvent event) { if (mTerm == null || event.getAction() == KeyEvent.ACTION_UP) return false; int modifiers = getModifiers(event); - int c = getKey(event); + int c = getKey(context, event); if (c != 0) { if (DEBUG) { Log.d(TAG, "dispatched key event: " + diff --git a/src/com/android/terminal/TerminalSettingsActivity.java b/src/com/android/terminal/TerminalSettingsActivity.java index f7d49d9..9516813 100644 --- a/src/com/android/terminal/TerminalSettingsActivity.java +++ b/src/com/android/terminal/TerminalSettingsActivity.java @@ -36,6 +36,7 @@ public class TerminalSettingsActivity extends PreferenceActivity { public static final String KEY_SCREEN_ORIENTATION = "screen_orientation"; public static final String KEY_FONT_SIZE = "font_size"; public static final String KEY_TEXT_COLORS = "text_colors"; + public static final String KEY_VOLUME_MODE = "volumekey_mode"; private SwitchPreference mFullscreenModePref; private ListPreference mScreenOrientationPref; diff --git a/src/com/android/terminal/TerminalView.java b/src/com/android/terminal/TerminalView.java index c5a8b63..3d75b12 100644 --- a/src/com/android/terminal/TerminalView.java +++ b/src/com/android/terminal/TerminalView.java @@ -251,7 +251,7 @@ public class TerminalView extends ListView { private View.OnKeyListener mKeyListener = new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { - final boolean res = mTermKeys.onKey(v, keyCode, event); + final boolean res = mTermKeys.onKey(v, getContext(), keyCode, event); if (res && SCROLL_ON_INPUT) { scrollToBottom(true); } |