diff --git a/java/res/xml-sw600dp/kbd_10_10_7_symbols.xml b/java/res/xml-sw600dp/kbd_10_10_7_symbols.xml
new file mode 100644
index 000000000..dd545b5ef
--- /dev/null
+++ b/java/res/xml-sw600dp/kbd_10_10_7_symbols.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/kbd_10_10_7_symbols_shift.xml b/java/res/xml-sw600dp/kbd_10_10_7_symbols_shift.xml
new file mode 100644
index 000000000..c36f0097e
--- /dev/null
+++ b/java/res/xml-sw600dp/kbd_10_10_7_symbols_shift.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/row_symbols4.xml b/java/res/xml-sw600dp/row_symbols4.xml
index 26ce1ebf4..f138d8ef4 100644
--- a/java/res/xml-sw600dp/row_symbols4.xml
+++ b/java/res/xml-sw600dp/row_symbols4.xml
@@ -28,13 +28,21 @@
+
+
-
-
-
+
+
+
+
diff --git a/java/res/xml-sw600dp/row_symbols_shift4.xml b/java/res/xml-sw600dp/row_symbols_shift4.xml
new file mode 100644
index 000000000..29befa92a
--- /dev/null
+++ b/java/res/xml-sw600dp/row_symbols_shift4.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols2.xml b/java/res/xml-sw600dp/rowkeys_symbols2.xml
new file mode 100644
index 000000000..14abb42f9
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols2.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols3.xml b/java/res/xml-sw600dp/rowkeys_symbols3.xml
new file mode 100644
index 000000000..30fba3812
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols3.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
new file mode 100644
index 000000000..3549fdda4
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml
new file mode 100644
index 000000000..2048b7335
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml
new file mode 100644
index 000000000..8bd865639
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rows_10_10_7_symbols.xml b/java/res/xml-sw600dp/rows_10_10_7_symbols.xml
new file mode 100644
index 000000000..0e4710c37
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_10_10_7_symbols.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rows_10_10_7_symbols_shift.xml b/java/res/xml-sw600dp/rows_10_10_7_symbols_shift.xml
new file mode 100644
index 000000000..3d3b59f22
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_10_10_7_symbols_shift.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rows_symbols.xml b/java/res/xml-sw600dp/rows_symbols.xml
index dee79e64f..3d0593dab 100644
--- a/java/res/xml-sw600dp/rows_symbols.xml
+++ b/java/res/xml-sw600dp/rows_symbols.xml
@@ -23,6 +23,8 @@
>
+
@@ -36,22 +38,23 @@
latin:keyWidth="9.0%p"
>
+ latin:keyboardLayout="@xml/rowkeys_symbols2"
+ latin:keyXPos="4.5%p" />
-
+
-
+ latin:keyStyle="toMoreSymbolKeyStyle"
+ latin:keyWidth="fillRight" />
diff --git a/java/res/xml-sw600dp/rows_symbols_shift.xml b/java/res/xml-sw600dp/rows_symbols_shift.xml
new file mode 100644
index 000000000..0050c0c15
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_symbols_shift.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/kbd_10_10_7_symbols_shift.xml b/java/res/xml/kbd_10_10_7_symbols_shift.xml
new file mode 100644
index 000000000..a2d67caf4
--- /dev/null
+++ b/java/res/xml/kbd_10_10_7_symbols_shift.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/java/res/xml/kbd_symbols_shift.xml b/java/res/xml/kbd_symbols_shift.xml
new file mode 100644
index 000000000..932ec017e
--- /dev/null
+++ b/java/res/xml/kbd_symbols_shift.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/java/res/xml/kbd_thai_symbols_shift.xml b/java/res/xml/kbd_thai_symbols_shift.xml
new file mode 100644
index 000000000..a2d67caf4
--- /dev/null
+++ b/java/res/xml/kbd_thai_symbols_shift.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/java/res/xml/key_currency.xml b/java/res/xml/key_styles_currency.xml
similarity index 72%
rename from java/res/xml/key_currency.xml
rename to java/res/xml/key_styles_currency.xml
index 2e4f828ce..60333eeb4 100644
--- a/java/res/xml/key_currency.xml
+++ b/java/res/xml/key_styles_currency.xml
@@ -2,7 +2,7 @@
-
@@ -27,7 +26,7 @@
latin:passwordInput="true"
>
+ latin:keyboardLayout="@xml/key_styles_currency_dollar" />
@@ -81,7 +80,7 @@
latin:localeCode="da|de|es|el|fi|fr|it|nl|sk|sl|sv|tr"
>
+ latin:keyboardLayout="@xml/key_styles_currency_euro" />
+
+
+
+
+
-
+
+
+
+
+ latin:keyboardLayout="@xml/key_styles_currency_dollar" />
diff --git a/java/res/xml/key_dollar.xml b/java/res/xml/key_styles_currency_dollar.xml
similarity index 64%
rename from java/res/xml/key_dollar.xml
rename to java/res/xml/key_styles_currency_dollar.xml
index 118c7a291..674a3966d 100644
--- a/java/res/xml/key_dollar.xml
+++ b/java/res/xml/key_styles_currency_dollar.xml
@@ -2,7 +2,7 @@
-
+
+
+
+
diff --git a/java/res/xml/key_euro.xml b/java/res/xml/key_styles_currency_euro.xml
similarity index 64%
rename from java/res/xml/key_euro.xml
rename to java/res/xml/key_styles_currency_euro.xml
index 820ced97c..c1b5e0384 100644
--- a/java/res/xml/key_euro.xml
+++ b/java/res/xml/key_styles_currency_euro.xml
@@ -2,7 +2,7 @@
-
+
+
+
+
diff --git a/java/res/xml/keyboard_layout_set_arabic.xml b/java/res/xml/keyboard_layout_set_arabic.xml
index 9eb11dc5e..10e95bd30 100644
--- a/java/res/xml/keyboard_layout_set_arabic.xml
+++ b/java/res/xml/keyboard_layout_set_arabic.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_azerty.xml b/java/res/xml/keyboard_layout_set_azerty.xml
index 03d8ce72b..4d144edbc 100644
--- a/java/res/xml/keyboard_layout_set_azerty.xml
+++ b/java/res/xml/keyboard_layout_set_azerty.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_bulgarian.xml b/java/res/xml/keyboard_layout_set_bulgarian.xml
index 0b92af8e4..c6fdff9a2 100644
--- a/java/res/xml/keyboard_layout_set_bulgarian.xml
+++ b/java/res/xml/keyboard_layout_set_bulgarian.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_bulgarian_bds.xml b/java/res/xml/keyboard_layout_set_bulgarian_bds.xml
index d185a85b4..a36b3bd52 100644
--- a/java/res/xml/keyboard_layout_set_bulgarian_bds.xml
+++ b/java/res/xml/keyboard_layout_set_bulgarian_bds.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_colemak.xml b/java/res/xml/keyboard_layout_set_colemak.xml
index fd4254291..c18f13225 100644
--- a/java/res/xml/keyboard_layout_set_colemak.xml
+++ b/java/res/xml/keyboard_layout_set_colemak.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_dvorak.xml b/java/res/xml/keyboard_layout_set_dvorak.xml
index 851a27117..eb8e0c539 100644
--- a/java/res/xml/keyboard_layout_set_dvorak.xml
+++ b/java/res/xml/keyboard_layout_set_dvorak.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_east_slavic.xml b/java/res/xml/keyboard_layout_set_east_slavic.xml
index 9dc284668..8d66faf8f 100644
--- a/java/res/xml/keyboard_layout_set_east_slavic.xml
+++ b/java/res/xml/keyboard_layout_set_east_slavic.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_farsi.xml b/java/res/xml/keyboard_layout_set_farsi.xml
index ef29e1ae8..b9a91e3a8 100644
--- a/java/res/xml/keyboard_layout_set_farsi.xml
+++ b/java/res/xml/keyboard_layout_set_farsi.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_georgian.xml b/java/res/xml/keyboard_layout_set_georgian.xml
index 181c99713..36d091653 100644
--- a/java/res/xml/keyboard_layout_set_georgian.xml
+++ b/java/res/xml/keyboard_layout_set_georgian.xml
@@ -43,6 +43,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_greek.xml b/java/res/xml/keyboard_layout_set_greek.xml
index 2e4a28692..b376e4fe3 100644
--- a/java/res/xml/keyboard_layout_set_greek.xml
+++ b/java/res/xml/keyboard_layout_set_greek.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_hebrew.xml b/java/res/xml/keyboard_layout_set_hebrew.xml
index c8ac31c7e..212816dfe 100644
--- a/java/res/xml/keyboard_layout_set_hebrew.xml
+++ b/java/res/xml/keyboard_layout_set_hebrew.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_hindi.xml b/java/res/xml/keyboard_layout_set_hindi.xml
index 1bd3d72fb..e850c7ebc 100644
--- a/java/res/xml/keyboard_layout_set_hindi.xml
+++ b/java/res/xml/keyboard_layout_set_hindi.xml
@@ -43,6 +43,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_mongolian.xml b/java/res/xml/keyboard_layout_set_mongolian.xml
index bbf3c0945..2d364f682 100644
--- a/java/res/xml/keyboard_layout_set_mongolian.xml
+++ b/java/res/xml/keyboard_layout_set_mongolian.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_nordic.xml b/java/res/xml/keyboard_layout_set_nordic.xml
index ce6fc635b..1f00f440e 100644
--- a/java/res/xml/keyboard_layout_set_nordic.xml
+++ b/java/res/xml/keyboard_layout_set_nordic.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_qwerty.xml b/java/res/xml/keyboard_layout_set_qwerty.xml
index 98b3582d4..821517081 100644
--- a/java/res/xml/keyboard_layout_set_qwerty.xml
+++ b/java/res/xml/keyboard_layout_set_qwerty.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_qwertz.xml b/java/res/xml/keyboard_layout_set_qwertz.xml
index 789dcfa62..f9e87a66f 100644
--- a/java/res/xml/keyboard_layout_set_qwertz.xml
+++ b/java/res/xml/keyboard_layout_set_qwertz.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_south_slavic.xml b/java/res/xml/keyboard_layout_set_south_slavic.xml
index eaeaa1c4b..36666b91b 100644
--- a/java/res/xml/keyboard_layout_set_south_slavic.xml
+++ b/java/res/xml/keyboard_layout_set_south_slavic.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_spanish.xml b/java/res/xml/keyboard_layout_set_spanish.xml
index 500e23a10..57cef5234 100644
--- a/java/res/xml/keyboard_layout_set_spanish.xml
+++ b/java/res/xml/keyboard_layout_set_spanish.xml
@@ -27,6 +27,9 @@
+
diff --git a/java/res/xml/keyboard_layout_set_thai.xml b/java/res/xml/keyboard_layout_set_thai.xml
index 146b413d2..94713e3d4 100644
--- a/java/res/xml/keyboard_layout_set_thai.xml
+++ b/java/res/xml/keyboard_layout_set_thai.xml
@@ -43,6 +43,9 @@
+
diff --git a/java/res/xml/keys_parentheses.xml b/java/res/xml/keys_parentheses.xml
new file mode 100644
index 000000000..25e89c930
--- /dev/null
+++ b/java/res/xml/keys_parentheses.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml
index bea139aba..96e550cd2 100644
--- a/java/res/xml/row_symbols4.xml
+++ b/java/res/xml/row_symbols4.xml
@@ -46,9 +46,8 @@
-
+
diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml
new file mode 100644
index 000000000..99a685c45
--- /dev/null
+++ b/java/res/xml/row_symbols_shift4.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
index 9d629f1c8..3e27f1579 100644
--- a/java/res/xml/rowkeys_symbols2.xml
+++ b/java/res/xml/rowkeys_symbols2.xml
@@ -43,12 +43,8 @@
latin:keyLabel="\#" />
-
-
-
-
-
+
@@ -57,27 +53,15 @@
-
-
+
+
-
-
-
-
+ latin:moreKeys="!text/more_keys_for_plus" />
+
diff --git a/java/res/xml/rowkeys_symbols3.xml b/java/res/xml/rowkeys_symbols3.xml
index 9e9dfd8bd..7722ca9ae 100644
--- a/java/res/xml/rowkeys_symbols3.xml
+++ b/java/res/xml/rowkeys_symbols3.xml
@@ -24,9 +24,6 @@
-
+ latin:moreKeys="!text/more_keys_for_double_quote" />
+ latin:moreKeys="!text/more_keys_for_single_quote" />
-
-
+ latin:keyLabel="/" />
+
diff --git a/java/res/xml/rowkeys_symbols_shift1.xml b/java/res/xml/rowkeys_symbols_shift1.xml
new file mode 100644
index 000000000..fea8ae337
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols_shift1.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols_shift2.xml b/java/res/xml/rowkeys_symbols_shift2.xml
new file mode 100644
index 000000000..3fd8aacb6
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols_shift2.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols_shift3.xml b/java/res/xml/rowkeys_symbols_shift3.xml
new file mode 100644
index 000000000..a35af218f
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols_shift3.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rows_armenian_phonetic.xml b/java/res/xml/rows_armenian_phonetic.xml
index 282dd411b..ea8870e1a 100644
--- a/java/res/xml/rows_armenian_phonetic.xml
+++ b/java/res/xml/rows_armenian_phonetic.xml
@@ -23,6 +23,8 @@
>
+
diff --git a/java/res/xml/rows_nepali_traditional.xml b/java/res/xml/rows_nepali_traditional.xml
index fecdc7d5b..7789135ae 100644
--- a/java/res/xml/rows_nepali_traditional.xml
+++ b/java/res/xml/rows_nepali_traditional.xml
@@ -23,6 +23,8 @@
>
+
diff --git a/java/res/xml/rows_symbols.xml b/java/res/xml/rows_symbols.xml
index 27010cbd6..bd1a57e75 100644
--- a/java/res/xml/rows_symbols.xml
+++ b/java/res/xml/rows_symbols.xml
@@ -23,6 +23,8 @@
>
+
@@ -38,8 +40,11 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index 710eed9b8..b3491d807 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -45,8 +45,8 @@ public final class KeyboardState {
public void setAlphabetAutomaticShiftedKeyboard();
public void setAlphabetShiftLockedKeyboard();
public void setAlphabetShiftLockShiftedKeyboard();
- public void setSymbolsKeyboard();
public void setEmojiKeyboard();
+ public void setSymbolsKeyboard();
public void setSymbolsShiftedKeyboard();
/**
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index 6d053f5c0..63da954f3 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -288,7 +288,8 @@ public final class KeyboardTextsSet {
// U+2666: "♦" BLACK DIAMOND SUIT
// U+2663: "♣" BLACK CLUB SUIT
/* 55 */ "\u266A,\u2665,\u2660,\u2666,\u2663",
- /* 56 */ EMPTY,
+ // U+00B1: "±" PLUS-MINUS SIGN
+ /* 56 */ "\u00B1",
// The all letters need to be mirrored are found at
// http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
/* 57 */ "!fixedColumnOrder!3,<,{,[",
@@ -1922,8 +1923,9 @@ public final class KeyboardTextsSet {
// U+2605: "★" BLACK STAR
/* 54 */ "\u2605",
/* 55 */ null,
+ // U+00B1: "±" PLUS-MINUS SIGN
// U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN
- /* 56 */ "\uFB29",
+ /* 56 */ "\u00B1,\uFB29",
// The all letters need to be mirrored are found at
// http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
/* 57 */ "!fixedColumnOrder!3,<|>,{|},[|]",
diff --git a/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml
index 3067a1d01..feaed4c98 100644
--- a/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values-iw/donottranslate-more-keys.xml
@@ -25,8 +25,9 @@
אבג
★
-
- ﬩
+
+ ±,﬩
!fixedColumnOrder!3,<|>,{|},[|]
diff --git a/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
index 3657d02e2..3732505ed 100644
--- a/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml
@@ -88,7 +88,8 @@
U+2666: "♦" BLACK DIAMOND SUIT
U+2663: "♣" BLACK CLUB SUIT -->
♪,♥,♠,♦,♣
-
+
+ ±
!fixedColumnOrder!3,<,{,[