diff options
author | Donovan Bartish <DRockstar.Epic4G@gmail.com> | 2012-06-29 11:12:25 -0700 |
---|---|---|
committer | Donovan Bartish <djdonovanbartish@yahoo.com> | 2012-07-05 07:26:52 -0700 |
commit | 84ca24573090ce971db1f23103622b2bcc55b967 (patch) | |
tree | cb3a240fb4777b16540faf7511340aeb2f3e48fe /core | |
parent | 9ba2de56e07106926118d4b719a8357733cbdbec (diff) | |
download | frameworks_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.java | 6 | ||||
-rw-r--r-- | core/java/android/view/KeyCharacterMap.java | 12 | ||||
-rwxr-xr-x | core/java/android/view/KeyEvent.java | 73 | ||||
-rwxr-xr-x | core/res/res/values/attrs.xml | 13 |
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> <!-- ***************************************************************** --> |