diff --git a/java/res/drawable-hdpi/sym_keyboard_feedback_settings.png b/java/res/drawable-hdpi/sym_keyboard_feedback_settings.png
new file mode 100644
index 000000000..08ba18f28
Binary files /dev/null and b/java/res/drawable-hdpi/sym_keyboard_feedback_settings.png differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_settings.png b/java/res/drawable-hdpi/sym_keyboard_settings.png
new file mode 100644
index 000000000..f3bcdbcac
Binary files /dev/null and b/java/res/drawable-hdpi/sym_keyboard_settings.png differ
diff --git a/java/res/drawable/sym_keyboard_feedback_settings.png b/java/res/drawable/sym_keyboard_feedback_settings.png
new file mode 100644
index 000000000..08ba18f28
Binary files /dev/null and b/java/res/drawable/sym_keyboard_feedback_settings.png differ
diff --git a/java/res/drawable/sym_keyboard_settings.png b/java/res/drawable/sym_keyboard_settings.png
new file mode 100644
index 000000000..f3bcdbcac
Binary files /dev/null and b/java/res/drawable/sym_keyboard_settings.png differ
diff --git a/java/res/values/keycodes.xml b/java/res/values/keycodes.xml
index 8156c0e07..3f03dd665 100644
--- a/java/res/values/keycodes.xml
+++ b/java/res/values/keycodes.xml
@@ -20,5 +20,6 @@
+ -100
-103
diff --git a/java/res/xml/kbd_alpha.xml b/java/res/xml/kbd_alpha.xml
deleted file mode 100644
index 4e8af3399..000000000
--- a/java/res/xml/kbd_alpha.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/java/res/xml/kbd_alpha_black.xml b/java/res/xml/kbd_alpha_black.xml
deleted file mode 100644
index 108e466b8..000000000
--- a/java/res/xml/kbd_alpha_black.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/java/res/xml/kbd_qwerty.xml b/java/res/xml/kbd_qwerty.xml
index b0450c6cd..59c61e4c8 100755
--- a/java/res/xml/kbd_qwerty.xml
+++ b/java/res/xml/kbd_qwerty.xml
@@ -111,74 +111,81 @@
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
+ android:keyWidth="30%p" android:isRepeatable="true"/>
+ android:keyWidth="25%p" android:keyEdgeFlags="right"/>
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
-
+ android:keyWidth="30%p" android:isRepeatable="true"/>
+ android:keyWidth="25%p" android:keyEdgeFlags="right"/>
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
-
+ android:keyWidth="30%p" android:isRepeatable="true"/>
+ android:keyWidth="25%p" android:keyEdgeFlags="right"/>
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
+ android:keyWidth="30%p" android:isRepeatable="true"/>
+ android:keyWidth="25%p" android:keyEdgeFlags="right"/>
+ android:keyWidth="10%p" android:keyEdgeFlags="left"/>
+
@@ -187,12 +194,11 @@
android:keyWidth="20%p" android:isRepeatable="true"/>
-
+ android:keyWidth="15%p"/>
+
+ android:keyWidth="15%p" android:keyEdgeFlags="right"/>
-
-
diff --git a/java/res/xml/kbd_qwerty_black.xml b/java/res/xml/kbd_qwerty_black.xml
index afea2f379..076359c95 100755
--- a/java/res/xml/kbd_qwerty_black.xml
+++ b/java/res/xml/kbd_qwerty_black.xml
@@ -110,75 +110,82 @@
-
+
+
-
+
+ android:keyWidth="25%p" android:keyEdgeFlags="right"/>
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
-
+ android:keyWidth="30%p" android:isRepeatable="true"/>
+ android:keyWidth="25%p" android:keyEdgeFlags="right"/>
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
-
+ android:keyWidth="30%p" android:isRepeatable="true"/>
+ android:keyWidth="25%p" android:keyEdgeFlags="right"/>
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
-
+
+ android:keyWidth="25%p" android:keyEdgeFlags="right"/>
+ android:keyWidth="10%p" android:keyEdgeFlags="left"/>
+
@@ -187,11 +194,12 @@
android:keyWidth="20%p" android:isRepeatable="true"/>
-
+ android:keyWidth="15%p"/>
+
+ android:keyWidth="15%p" android:keyEdgeFlags="right"/>
diff --git a/java/res/xml/kbd_symbols.xml b/java/res/xml/kbd_symbols.xml
index 77eb7d059..3f6b8ac85 100755
--- a/java/res/xml/kbd_symbols.xml
+++ b/java/res/xml/kbd_symbols.xml
@@ -123,16 +123,19 @@
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
-
diff --git a/java/res/xml/kbd_symbols_black.xml b/java/res/xml/kbd_symbols_black.xml
index 5f8dfbeaa..7eae55481 100755
--- a/java/res/xml/kbd_symbols_black.xml
+++ b/java/res/xml/kbd_symbols_black.xml
@@ -123,16 +123,19 @@
+ android:keyWidth="15%p" android:keyEdgeFlags="left"/>
+
-
diff --git a/java/res/xml/kbd_symbols_shift.xml b/java/res/xml/kbd_symbols_shift.xml
index 467ca529f..0ec4c713c 100755
--- a/java/res/xml/kbd_symbols_shift.xml
+++ b/java/res/xml/kbd_symbols_shift.xml
@@ -89,16 +89,19 @@
-
+
diff --git a/java/res/xml/kbd_symbols_shift_black.xml b/java/res/xml/kbd_symbols_shift_black.xml
index 511ad4981..250e0854c 100755
--- a/java/res/xml/kbd_symbols_shift_black.xml
+++ b/java/res/xml/kbd_symbols_shift_black.xml
@@ -89,16 +89,19 @@
-
+
diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
index 45a54b1aa..a50c5aa41 100644
--- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
@@ -37,11 +37,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
public static final int MODE_EMAIL = 5;
public static final int MODE_IM = 6;
public static final int MODE_WEB = 7;
-
- public static final int MODE_TEXT_QWERTY = 0;
- public static final int MODE_TEXT_ALPHA = 1;
- public static final int MODE_TEXT_COUNT = 2;
-
+
public static final int KEYBOARDMODE_NORMAL = R.id.mode_normal;
public static final int KEYBOARDMODE_URL = R.id.mode_url;
public static final int KEYBOARDMODE_EMAIL = R.id.mode_email;
@@ -59,7 +55,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
private static final int CHAR_THEME_COLOR_BLACK = 1;
// Tables which contains resource ids for each character theme color
- private static final int[] KBD_ALPHA = new int[] {R.xml.kbd_alpha, R.xml.kbd_alpha_black};
private static final int[] KBD_PHONE = new int[] {R.xml.kbd_phone, R.xml.kbd_phone_black};
private static final int[] KBD_PHONE_SYMBOLS = new int[] {
R.xml.kbd_phone_symbols, R.xml.kbd_phone_symbols_black};
@@ -92,7 +87,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
private int mMode = MODE_NONE; /** One of the MODE_XXX values */
private int mImeOptions;
- private int mTextMode = MODE_TEXT_QWERTY;
private boolean mIsSymbols;
private boolean mHasVoice;
private boolean mVoiceOnPrimary;
@@ -291,11 +285,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
"getKeyboardId:" + mode + "," + imeOptions + "," + isSymbols);
/* fall through */
case MODE_TEXT:
- if (mTextMode == MODE_TEXT_ALPHA) {
- return new KeyboardId(
- KBD_ALPHA[charColorId], KEYBOARDMODE_NORMAL, true, hasVoice);
- }
- // Normally mTextMode should be MODE_TEXT_QWERTY.
return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_NORMAL, true, hasVoice);
case MODE_SYMBOLS:
return new KeyboardId(KBD_SYMBOLS[charColorId], hasVoice);
@@ -320,10 +309,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
boolean isTextMode() {
return mMode == MODE_TEXT;
}
-
- int getTextModeCount() {
- return MODE_TEXT_COUNT;
- }
boolean isAlphabetMode() {
if (mCurrentId == null) {