From 4ef29959bda59ae5f90aeeb48a8ef7e218500d03 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Tue, 15 Sep 2009 16:02:47 -0700 Subject: [PATCH] Reconcile the character popups for the hard and soft keyboards. Have the hardware keyboard popups for digits and symbols include all the same characters as the soft keyboard has for those keys. Bug 2056195 --- .../text/method/QwertyKeyListener.java | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/core/java/android/text/method/QwertyKeyListener.java b/core/java/android/text/method/QwertyKeyListener.java index 172e9ac2d08a3..38881d3f1a821 100644 --- a/core/java/android/text/method/QwertyKeyListener.java +++ b/core/java/android/text/method/QwertyKeyListener.java @@ -401,16 +401,12 @@ public class QwertyKeyListener extends BaseKeyListener { private static SparseArray PICKER_SETS = new SparseArray(); 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,