summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoey Rizzoli <joey@lineageos.org>2017-05-30 21:17:26 +0200
committerMichael Bestas <mkbestas@lineageos.org>2019-09-10 23:47:42 +0300
commit78c8a5f371e2af2ae47fc2f645541e253158f3f6 (patch)
tree5866fed1c0cd8c84115478a2595744fbf66d1cec
parenta684d7fe45bb3d5743b49bfa3c6c6d3ac8494350 (diff)
downloadandroid_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.xml2
-rw-r--r--res/xml/settings.xml5
-rw-r--r--src/com/android/terminal/TerminalKeys.java15
-rw-r--r--src/com/android/terminal/TerminalSettingsActivity.java1
-rw-r--r--src/com/android/terminal/TerminalView.java2
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);
}