summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorDonovan Bartish <DRockstar.Epic4G@gmail.com>2012-06-29 11:12:25 -0700
committerDonovan Bartish <djdonovanbartish@yahoo.com>2012-07-05 07:26:52 -0700
commit84ca24573090ce971db1f23103622b2bcc55b967 (patch)
treecb3a240fb4777b16540faf7511340aeb2f3e48fe /core
parent9ba2de56e07106926118d4b719a8357733cbdbec (diff)
downloadframeworks_base-84ca24573090ce971db1f23103622b2bcc55b967.zip
frameworks_base-84ca24573090ce971db1f23103622b2bcc55b967.tar.gz
frameworks_base-84ca24573090ce971db1f23103622b2bcc55b967.tar.bz2
input: add keymapping and handle www/com key for keypads in ics
Based off of this commit, updated for ics: https://github.com/CyanogenMod/android_frameworks_base/commit/ebb5e47760cc156fba6d6a93ad0dfaeb562f4771 Allows keypads to have custom keymapping, and brings back www./.com key function Fixed: Corrected all wrong entries to api/current.txt, including for those that already passed gerrit review @hide used in java for all non aosp api Change-Id: I0ffb35dae441e3ef7a4924492cc9168939551d3f
Diffstat (limited to 'core')
-rw-r--r--core/java/android/text/method/QwertyKeyListener.java6
-rw-r--r--core/java/android/view/KeyCharacterMap.java12
-rwxr-xr-xcore/java/android/view/KeyEvent.java73
-rwxr-xr-xcore/res/res/values/attrs.xml13
4 files changed, 103 insertions, 1 deletions
diff --git a/core/java/android/text/method/QwertyKeyListener.java b/core/java/android/text/method/QwertyKeyListener.java
index 192257b..97ee48a 100644
--- a/core/java/android/text/method/QwertyKeyListener.java
+++ b/core/java/android/text/method/QwertyKeyListener.java
@@ -129,6 +129,12 @@ public class QwertyKeyListener extends BaseKeyListener {
return true;
}
+ if (i == KeyCharacterMap.DOT_WWW_INPUT || i == KeyCharacterMap.DOT_COM_INPUT) {
+ content.replace(selStart, selEnd, selStart == 0 ? "www." : ".com");
+ adjustMetaAfterKeypress(content);
+ return true;
+ }
+
if (i == KeyCharacterMap.HEX_INPUT) {
int start;
diff --git a/core/java/android/view/KeyCharacterMap.java b/core/java/android/view/KeyCharacterMap.java
index 575af3b..4e4116d 100644
--- a/core/java/android/view/KeyCharacterMap.java
+++ b/core/java/android/view/KeyCharacterMap.java
@@ -120,6 +120,18 @@ public class KeyCharacterMap {
public static final char PICKER_DIALOG_INPUT = '\uEF01';
/**
+ * Private use character denoting a .com suffix
+ * @hide
+ */
+ public static final char DOT_COM_INPUT = '\uEF03';
+
+ /**
+ * Private use character denoting a www. prefix
+ * @hide
+ */
+ public static final char DOT_WWW_INPUT = '\uEF04';
+
+ /**
* Modifier keys may be chorded with character keys.
*
* @see {#link #getModifierBehavior()} for more details.
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 458eb85..0d15d66 100755
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -592,15 +592,53 @@ public class KeyEvent extends InputEvent implements Parcelable {
* Used to launch a calculator application. */
public static final int KEYCODE_CALCULATOR = 210;
+ /** Please note all remaining keycodes need to be
+ * hidden from the api */
+
+ /** @hide */
public static final int KEYCODE_TOGGLE_WIFI = 211;
+ /** @hide */
public static final int KEYCODE_TOGGLE_BT = 212;
+ /** @hide */
public static final int KEYCODE_TOGGLE_TOUCHPAD = 213;
+ /** @hide */
public static final int KEYCODE_BRIGHTNESS_DOWN = 214;
+ /** @hide */
public static final int KEYCODE_BRIGHTNESS_UP = 215;
+ /** @hide */
public static final int KEYCODE_BRIGHTNESS_AUTO = 216;
+ /** @hide */
public static final int KEYCODE_SCREENSHOT = 217;
+ /** @hide */
+ /** FUNC_1 through USER5 to support keypad mapping */
+ /** @hide */
+ public static final int KEYCODE_FUNC_1 = 218;
+ /** @hide */
+ public static final int KEYCODE_FUNC_2 = 219;
+ /** @hide */
+ public static final int KEYCODE_FUNC_3 = 220;
+ /** @hide */
+ public static final int KEYCODE_FUNC_4 = 221;
+ /** @hide */
+ public static final int KEYCODE_FUNC_5 = 222;
+ /** @hide */
+ public static final int KEYCODE_FUNC_6 = 223;
+ /** @hide */
+ public static final int KEYCODE_FUNC_7 = 224;
+ /** @hide */
+ public static final int KEYCODE_FUNC_8 = 225;
+ /** @hide */
+ public static final int KEYCODE_USER1 = 226;
+ /** @hide */
+ public static final int KEYCODE_USER2 = 227;
+ /** @hide */
+ public static final int KEYCODE_USER3 = 228;
+ /** @hide */
+ public static final int KEYCODE_USER4 = 229;
+ /** @hide */
+ public static final int KEYCODE_USER5 = 230;
- private static final int LAST_KEYCODE = KEYCODE_SCREENSHOT;
+ private static final int LAST_KEYCODE = KEYCODE_USER5;
// NOTE: If you add a new keycode here you must also add it to:
// isSystem()
@@ -833,13 +871,46 @@ public class KeyEvent extends InputEvent implements Parcelable {
names.append(KEYCODE_CALENDAR, "KEYCODE_CALENDAR");
names.append(KEYCODE_MUSIC, "KEYCODE_MUSIC");
names.append(KEYCODE_CALCULATOR, "KEYCODE_CALCULATOR");
+ /** @hide */
names.append(KEYCODE_TOGGLE_WIFI, "KEYCODE_TOGGLE_WIFI");
+ /** @hide */
names.append(KEYCODE_TOGGLE_BT, "KEYCODE_TOGGLE_BT");
+ /** @hide */
names.append(KEYCODE_TOGGLE_TOUCHPAD, "KEYCODE_TOGGLE_TOUCHPAD");
+ /** @hide */
names.append(KEYCODE_BRIGHTNESS_DOWN, "KEYCODE_BRIGHTNESS_DOWN");
+ /** @hide */
names.append(KEYCODE_BRIGHTNESS_UP, "KEYCODE_BRIGHTNESS_UP");
+ /** @hide */
names.append(KEYCODE_BRIGHTNESS_AUTO, "KEYCODE_BRIGHTNESS_AUTO");
+ /** @hide */
names.append(KEYCODE_SCREENSHOT, "KEYCODE_SCREENSHOT");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_1");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_2");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_3");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_4");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_5");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_6");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_7");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_FUNC_8");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER1");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER2");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER3");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER4");
+ /** @hide */
+ names.append(KEYCODE_SCREENSHOT, "KEYCODE_USER5");
};
// Symbolic names of all metakeys in bit order from least significant to most significant.
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 320aac9..49162ea 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1504,6 +1504,19 @@
<enum name="KEYCODE_BRIGHTNESS_UP" value="215" />
<enum name="KEYCODE_BRIGHTNESS_AUTO" value="216" />
<enum name="KEYCODE_SCREENSHOT" value="217" />
+ <enum name="KEYCODE_FUNC_1" value="218" />
+ <enum name="KEYCODE_FUNC_2" value="219" />
+ <enum name="KEYCODE_FUNC_3" value="220" />
+ <enum name="KEYCODE_FUNC_4" value="221" />
+ <enum name="KEYCODE_FUNC_5" value="222" />
+ <enum name="KEYCODE_FUNC_6" value="223" />
+ <enum name="KEYCODE_FUNC_7" value="224" />
+ <enum name="KEYCODE_FUNC_8" value="225" />
+ <enum name="KEYCODE_USER1" value="226" />
+ <enum name="KEYCODE_USER2" value="227" />
+ <enum name="KEYCODE_USER3" value="228" />
+ <enum name="KEYCODE_USER4" value="229" />
+ <enum name="KEYCODE_USER5" value="230" />
</attr>
<!-- ***************************************************************** -->