OSDN Git Service

Reconcile the character popups for the hard and soft keyboards.
authorEric Fischer <enf@google.com>
Tue, 15 Sep 2009 23:02:47 +0000 (16:02 -0700)
committerEric Fischer <enf@google.com>
Tue, 15 Sep 2009 23:04:39 +0000 (16:04 -0700)
Have the hardware keyboard popups for digits and symbols include
all the same characters as the soft keyboard has for those keys.

Bug 2056195

core/java/android/text/method/QwertyKeyListener.java

index 172e9ac..38881d3 100644 (file)
@@ -401,16 +401,12 @@ public class QwertyKeyListener extends BaseKeyListener {
     private static SparseArray<String> PICKER_SETS =
                         new SparseArray<String>();
     static {
-        PICKER_SETS.put('!', "\u00A1");
-        PICKER_SETS.put('<', "\u00AB");
-        PICKER_SETS.put('>', "\u00BB");
-        PICKER_SETS.put('?', "\u00BF");
         PICKER_SETS.put('A', "\u00C0\u00C1\u00C2\u00C4\u00C6\u00C3\u00C5\u0104\u0100");
         PICKER_SETS.put('C', "\u00C7\u0106\u010C");
         PICKER_SETS.put('D', "\u010E");
         PICKER_SETS.put('E', "\u00C8\u00C9\u00CA\u00CB\u0118\u011A\u0112");
         PICKER_SETS.put('L', "\u0141");
-        PICKER_SETS.put('I', "\u00CC\u00CD\u00CE\u00CF\u012A");
+        PICKER_SETS.put('I', "\u00CC\u00CD\u00CE\u00CF\u012A\u0130");
         PICKER_SETS.put('N', "\u00D1\u0143\u0147");
         PICKER_SETS.put('O', "\u00D8\u0152\u00D5\u00D2\u00D3\u00D4\u00D6\u014C");
         PICKER_SETS.put('R', "\u0158");
@@ -423,7 +419,7 @@ public class QwertyKeyListener extends BaseKeyListener {
         PICKER_SETS.put('c', "\u00E7\u0107\u010D");
         PICKER_SETS.put('d', "\u010F");
         PICKER_SETS.put('e', "\u00E8\u00E9\u00EA\u00EB\u0119\u011B\u0113");
-        PICKER_SETS.put('i', "\u00EC\u00ED\u00EE\u00EF\u012B");
+        PICKER_SETS.put('i', "\u00EC\u00ED\u00EE\u00EF\u012B\u0131");
         PICKER_SETS.put('l', "\u0142");
         PICKER_SETS.put('n', "\u00F1\u0144\u0148");
         PICKER_SETS.put('o', "\u00F8\u0153\u00F5\u00F2\u00F3\u00F4\u00F6\u014D");
@@ -435,6 +431,33 @@ public class QwertyKeyListener extends BaseKeyListener {
         PICKER_SETS.put('z', "\u017A\u017C\u017E");
         PICKER_SETS.put(KeyCharacterMap.PICKER_DIALOG_INPUT,
                              "\u2026\u00A5\u2022\u00AE\u00A9\u00B1[]{}\\");
+
+        // From packages/inputmethods/LatinIME/res/xml/kbd_symbols.xml
+
+        PICKER_SETS.put('1', "\u00b9\u00bd\u2153\u00bc\u215b");
+        PICKER_SETS.put('2', "\u00b2\u2154");
+        PICKER_SETS.put('3', "\u00b3\u00be\u215c");
+        PICKER_SETS.put('4', "\u2074");
+        PICKER_SETS.put('5', "\u215d");
+        PICKER_SETS.put('7', "\u215e");
+        PICKER_SETS.put('0', "\u207f\u2205");
+        PICKER_SETS.put('$', "\u00a2\u00a3\u20ac\u00a5\u20a3\u20a4\u20b1");
+        PICKER_SETS.put('%', "\u2030");
+        PICKER_SETS.put('*', "\u2020\u2021");
+        PICKER_SETS.put('-', "\u2013\u2014");
+        PICKER_SETS.put('+', "\u00b1");
+        PICKER_SETS.put('(', "[{<");
+        PICKER_SETS.put(')', "]}>");
+        PICKER_SETS.put('!', "\u00a1");
+        PICKER_SETS.put('"', "\u201c\u201d\u00ab\u00bb\u02dd");
+        PICKER_SETS.put('?', "\u00bf");
+        PICKER_SETS.put(',', "\u201a\u201e");
+
+        // From packages/inputmethods/LatinIME/res/xml/kbd_symbols_shift.xml
+
+        PICKER_SETS.put('=', "\u2260\u2248\u221e");
+        PICKER_SETS.put('<', "\u2264\u00ab\u2039");
+        PICKER_SETS.put('>', "\u2265\u00bb\u203a");
     };
 
     private boolean showCharacterPicker(View view, Editable content, char c,