Remove symbols shifted layout

Bug: 9059539
Change-Id: I7fe6520e4eafcb7e1748b8bf011333c7e0da7ac2
diff --git a/java/res/xml/kbd_10_10_7_symbols_shift.xml b/java/res/xml/kbd_10_10_7_symbols_shift.xml
deleted file mode 100644
index a2d67ca..0000000
--- a/java/res/xml/kbd_10_10_7_symbols_shift.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
->
-    <include
-        latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml/kbd_symbols_shift.xml b/java/res/xml/kbd_symbols_shift.xml
deleted file mode 100644
index 932ec01..0000000
--- a/java/res/xml/kbd_symbols_shift.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
->
-    <include
-        latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml/kbd_thai_symbols_shift.xml b/java/res/xml/kbd_thai_symbols_shift.xml
deleted file mode 100644
index a2d67ca..0000000
--- a/java/res/xml/kbd_thai_symbols_shift.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
->
-    <include
-        latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml/key_styles_currency.xml b/java/res/xml/key_currency.xml
similarity index 74%
rename from java/res/xml/key_styles_currency.xml
rename to java/res/xml/key_currency.xml
index 76fe0e6..92778c6 100644
--- a/java/res/xml/key_styles_currency.xml
+++ b/java/res/xml/key_currency.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2011, The Android Open Source Project
+** Copyright 2013, The Android Open Source Project
 **
 ** Licensed under the Apache License, Version 2.0 (the "License");
 ** you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@
 */
 -->
 
+<!-- TODO: Move these definitions to text resources and remove key_currency.xml. -->
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
@@ -26,7 +27,7 @@
             latin:passwordInput="true"
         >
             <include
-                latin:keyboardLayout="@xml/key_styles_currency_dollar" />
+                latin:keyboardLayout="@xml/key_dollar" />
         </case>
         <!-- Countries using Euro currency, 23 countries as of November 2012.
               1. Andorra (ca_AD, ca_ES)
@@ -56,7 +57,7 @@
             latin:countryCode="AD|AT|BE|CY|EE|FI|FR|DE|GR|IE|IT|XK|LU|MT|MO|ME|NL|PT|SM|SK|SI|ES|VA"
         >
             <include
-                latin:keyboardLayout="@xml/key_styles_currency_euro" />
+                latin:keyboardLayout="@xml/key_euro" />
         </case>
         <!-- Note: Some subtype locale may not have country code, and it it supposed to indicate the
              country where the language originally/mainly spoken. -->
@@ -80,7 +81,7 @@
             latin:localeCode="da|de|es|el|fi|fr|it|nl|sk|sl|sv|tr"
         >
             <include
-                latin:keyboardLayout="@xml/key_styles_currency_euro" />
+                latin:keyboardLayout="@xml/key_euro" />
         </case>
         <!-- ca: Catalan (Andorra, Spain)
              et: Estonian (Estonia)
@@ -90,7 +91,7 @@
             latin:languageCode="ca|et|lb|mt"
         >
             <include
-                latin:keyboardLayout="@xml/key_styles_currency_euro" />
+                latin:keyboardLayout="@xml/key_euro" />
         </case>
         <!-- fa: Persian (Rial and Afgahni)
              hi: Hindi (Indian Rupee)
@@ -107,23 +108,9 @@
             <!-- U+00A3: "£" POUND SIGN
                  U+20AC: "€" EURO SIGN
                  U+00A2: "¢" CENT SIGN -->
-            <key-style
-                latin:styleName="currencyKeyStyle"
+            <Key
                 latin:keyLabel="!text/keylabel_for_currency_generic"
                 latin:moreKeys="!text/more_keys_for_currency_generic" />
-            <key-style
-                latin:styleName="moreCurrency1KeyStyle"
-                latin:keyLabel="&#x00A3;" />
-            <key-style
-                latin:styleName="moreCurrency2KeyStyle"
-                latin:keyLabel="&#x20AC;" />
-            <key-style
-                latin:styleName="moreCurrency3KeyStyle"
-                latin:keyLabel="$"
-                latin:moreKeys="&#x00A2;" />
-            <key-style
-                latin:styleName="moreCurrency4KeyStyle"
-                latin:keyLabel="&#x00A2;" />
         </case>
         <!-- GB: United Kingdom (Pound) -->
         <case
@@ -134,28 +121,14 @@
                  U+00A5: "¥" YEN SIGN
                  U+00A2: "¢" CENT SIGN
                  U+20B1: "₱" PESO SIGN -->
-            <key-style
-                latin:styleName="currencyKeyStyle"
+            <Key
                 latin:keyLabel="&#x00A3;"
                 latin:moreKeys="&#x00A2;,$,&#x20AC;,&#x00A5;,&#x20B1;" />
-            <key-style
-                latin:styleName="moreCurrency1KeyStyle"
-                latin:keyLabel="&#x20AC;" />
-            <key-style
-                latin:styleName="moreCurrency2KeyStyle"
-                latin:keyLabel="&#x00A5;" />
-            <key-style
-                latin:styleName="moreCurrency3KeyStyle"
-                latin:keyLabel="$"
-                latin:moreKeys="&#x00A2;" />
-            <key-style
-                latin:styleName="moreCurrency4KeyStyle"
-                latin:keyLabel="&#x00A2;" />
         </case>
         <!-- ar: Arabic (Dollar and Rial) -->
         <default>
             <include
-                latin:keyboardLayout="@xml/key_styles_currency_dollar" />
+                latin:keyboardLayout="@xml/key_dollar" />
         </default>
     </switch>
 </merge>
diff --git a/java/res/xml/key_styles_currency_dollar.xml b/java/res/xml/key_dollar.xml
similarity index 64%
rename from java/res/xml/key_styles_currency_dollar.xml
rename to java/res/xml/key_dollar.xml
index 674a396..118c7a2 100644
--- a/java/res/xml/key_styles_currency_dollar.xml
+++ b/java/res/xml/key_dollar.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2011, The Android Open Source Project
+** Copyright 2013, The Android Open Source Project
 **
 ** Licensed under the Apache License, Version 2.0 (the "License");
 ** you may not use this file except in compliance with the License.
@@ -23,20 +23,7 @@
          U+00A2: "¢" CENT SIGN
          U+20AC: "€" EURO SIGN
          U+00A5: "¥" YEN SIGN -->
-    <key-style
-        latin:styleName="currencyKeyStyle"
+    <Key
         latin:keyLabel="$"
         latin:moreKeys="!text/more_keys_for_currency_dollar" />
-    <key-style
-        latin:styleName="moreCurrency1KeyStyle"
-        latin:keyLabel="&#x00A3;" />
-    <key-style
-        latin:styleName="moreCurrency2KeyStyle"
-        latin:keyLabel="&#x00A2;" />
-    <key-style
-        latin:styleName="moreCurrency3KeyStyle"
-        latin:keyLabel="&#x20AC;" />
-    <key-style
-        latin:styleName="moreCurrency4KeyStyle"
-        latin:keyLabel="&#x00A5;" />
 </merge>
diff --git a/java/res/xml/key_styles_currency_euro.xml b/java/res/xml/key_euro.xml
similarity index 64%
rename from java/res/xml/key_styles_currency_euro.xml
rename to java/res/xml/key_euro.xml
index c1b5e03..820ced9 100644
--- a/java/res/xml/key_styles_currency_euro.xml
+++ b/java/res/xml/key_euro.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2011, The Android Open Source Project
+** Copyright 2013, The Android Open Source Project
 **
 ** Licensed under the Apache License, Version 2.0 (the "License");
 ** you may not use this file except in compliance with the License.
@@ -24,21 +24,7 @@
          U+00A3: "£" POUND SIGN
          U+00A5: "¥" YEN SIGN
          U+20B1: "₱" PESO SIGN -->
-    <key-style
-        latin:styleName="currencyKeyStyle"
+    <Key
         latin:keyLabel="&#x20AC;"
         latin:moreKeys="&#x00A2;,&#x00A3;,$,&#x00A5;,&#x20B1;" />
-    <key-style
-        latin:styleName="moreCurrency1KeyStyle"
-        latin:keyLabel="&#x00A3;" />
-    <key-style
-        latin:styleName="moreCurrency2KeyStyle"
-        latin:keyLabel="&#x00A5;" />
-    <key-style
-        latin:styleName="moreCurrency3KeyStyle"
-        latin:keyLabel="$"
-        latin:moreKeys="&#x00A2;" />
-    <key-style
-        latin:styleName="moreCurrency4KeyStyle"
-        latin:keyLabel="&#x00A2;" />
 </merge>
diff --git a/java/res/xml/key_symbols_period.xml b/java/res/xml/key_symbols_period.xml
new file mode 100644
index 0000000..a1ab1a9
--- /dev/null
+++ b/java/res/xml/key_symbols_period.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+2105: "℅" CARE OF
+         U+2122: "™" TRADE MARK SIGN
+         U+00AE: "®" REGISTERED SIGN
+         U+00A9: "©" COPYRIGHT SIGN
+         U+00A7: "§" SECTION SIGN
+         U+00B6: "¶" PILCROW SIGN
+         U+2026: "…" HORIZONTAL ELLIPSIS
+         U+2022: "•" BULLET -->
+    <!-- U+00B0: "°" DEGREE SIGN
+         U+2032: "′" PRIME
+         U+2033: "″" DOUBLE PRIME
+         U+2191: "↑" UPWARDS ARROW
+         U+2193: "↓" DOWNWARDS ARROW
+         U+2190: "←" LEFTWARDS ARROW
+         U+2192: "→" RIGHTWARDS ARROW
+         U+03C0: "π" GREEK SMALL LETTER PI -->
+    <!-- U+0394: "Δ" GREEK CAPITAL LETTER DELTA
+         U+03A0: "Π" GREEK CAPITAL LETTER PI -->
+    <Key
+        latin:keyLabel="."
+        latin:keyLabelFlags="hasPopupHint"
+        latin:moreKeys="!fixedColumnOrder!8,&#x2105;,&#x2122;,&#x00AE;,&#x00A9;,&#x00A7;,&#x00B6;,&#x2026;,&#x2022;,&#x00B0;,&#x2032;,&#x2033;,&#x2191;,&#x2193;,&#x2190;,&#x2192;,&#x03C0;,!text/more_keys_for_bullet,&#x0394;,&#x03A0;" />
+</merge>
diff --git a/java/res/xml/keyboard_layout_set_arabic.xml b/java/res/xml/keyboard_layout_set_arabic.xml
index 10e95bd..9eb11dc 100644
--- a/java/res/xml/keyboard_layout_set_arabic.xml
+++ b/java/res/xml/keyboard_layout_set_arabic.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_azerty.xml b/java/res/xml/keyboard_layout_set_azerty.xml
index 4d144ed..03d8ce7 100644
--- a/java/res/xml/keyboard_layout_set_azerty.xml
+++ b/java/res/xml/keyboard_layout_set_azerty.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_bulgarian.xml b/java/res/xml/keyboard_layout_set_bulgarian.xml
index c6fdff9..0b92af8 100644
--- a/java/res/xml/keyboard_layout_set_bulgarian.xml
+++ b/java/res/xml/keyboard_layout_set_bulgarian.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_bulgarian_bds.xml b/java/res/xml/keyboard_layout_set_bulgarian_bds.xml
index a36b3bd..d185a85 100644
--- a/java/res/xml/keyboard_layout_set_bulgarian_bds.xml
+++ b/java/res/xml/keyboard_layout_set_bulgarian_bds.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_colemak.xml b/java/res/xml/keyboard_layout_set_colemak.xml
index c18f132..fd42542 100644
--- a/java/res/xml/keyboard_layout_set_colemak.xml
+++ b/java/res/xml/keyboard_layout_set_colemak.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_dvorak.xml b/java/res/xml/keyboard_layout_set_dvorak.xml
index eb8e0c5..851a271 100644
--- a/java/res/xml/keyboard_layout_set_dvorak.xml
+++ b/java/res/xml/keyboard_layout_set_dvorak.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_east_slavic.xml b/java/res/xml/keyboard_layout_set_east_slavic.xml
index 8d66faf..9dc2846 100644
--- a/java/res/xml/keyboard_layout_set_east_slavic.xml
+++ b/java/res/xml/keyboard_layout_set_east_slavic.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_farsi.xml b/java/res/xml/keyboard_layout_set_farsi.xml
index b9a91e3..ef29e1a 100644
--- a/java/res/xml/keyboard_layout_set_farsi.xml
+++ b/java/res/xml/keyboard_layout_set_farsi.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_georgian.xml b/java/res/xml/keyboard_layout_set_georgian.xml
index 36d0916..181c997 100644
--- a/java/res/xml/keyboard_layout_set_georgian.xml
+++ b/java/res/xml/keyboard_layout_set_georgian.xml
@@ -44,9 +44,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_greek.xml b/java/res/xml/keyboard_layout_set_greek.xml
index b376e4f..2e4a286 100644
--- a/java/res/xml/keyboard_layout_set_greek.xml
+++ b/java/res/xml/keyboard_layout_set_greek.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_hebrew.xml b/java/res/xml/keyboard_layout_set_hebrew.xml
index 212816d..c8ac31c 100644
--- a/java/res/xml/keyboard_layout_set_hebrew.xml
+++ b/java/res/xml/keyboard_layout_set_hebrew.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_hindi.xml b/java/res/xml/keyboard_layout_set_hindi.xml
index e850c7e..1bd3d72 100644
--- a/java/res/xml/keyboard_layout_set_hindi.xml
+++ b/java/res/xml/keyboard_layout_set_hindi.xml
@@ -44,9 +44,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_mongolian.xml b/java/res/xml/keyboard_layout_set_mongolian.xml
index 2d364f6..bbf3c09 100644
--- a/java/res/xml/keyboard_layout_set_mongolian.xml
+++ b/java/res/xml/keyboard_layout_set_mongolian.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_nordic.xml b/java/res/xml/keyboard_layout_set_nordic.xml
index 1f00f44..ce6fc63 100644
--- a/java/res/xml/keyboard_layout_set_nordic.xml
+++ b/java/res/xml/keyboard_layout_set_nordic.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_pcqwerty.xml b/java/res/xml/keyboard_layout_set_pcqwerty.xml
index 9367ed0..bffba05 100644
--- a/java/res/xml/keyboard_layout_set_pcqwerty.xml
+++ b/java/res/xml/keyboard_layout_set_pcqwerty.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_pcqwerty_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_pcqwerty_symbols" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_qwerty.xml b/java/res/xml/keyboard_layout_set_qwerty.xml
index 8215170..98b3582 100644
--- a/java/res/xml/keyboard_layout_set_qwerty.xml
+++ b/java/res/xml/keyboard_layout_set_qwerty.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_qwertz.xml b/java/res/xml/keyboard_layout_set_qwertz.xml
index f9e87a6..789dcfa 100644
--- a/java/res/xml/keyboard_layout_set_qwertz.xml
+++ b/java/res/xml/keyboard_layout_set_qwertz.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_south_slavic.xml b/java/res/xml/keyboard_layout_set_south_slavic.xml
index 36666b9..eaeaa1c 100644
--- a/java/res/xml/keyboard_layout_set_south_slavic.xml
+++ b/java/res/xml/keyboard_layout_set_south_slavic.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_spanish.xml b/java/res/xml/keyboard_layout_set_spanish.xml
index 57cef52..500e23a 100644
--- a/java/res/xml/keyboard_layout_set_spanish.xml
+++ b/java/res/xml/keyboard_layout_set_spanish.xml
@@ -28,9 +28,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_10_10_7_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_10_10_7_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keyboard_layout_set_thai.xml b/java/res/xml/keyboard_layout_set_thai.xml
index 94713e3..146b413 100644
--- a/java/res/xml/keyboard_layout_set_thai.xml
+++ b/java/res/xml/keyboard_layout_set_thai.xml
@@ -44,9 +44,6 @@
         latin:elementName="symbols"
         latin:elementKeyboard="@xml/kbd_thai_symbols" />
     <Element
-        latin:elementName="symbolsShifted"
-        latin:elementKeyboard="@xml/kbd_thai_symbols_shift" />
-    <Element
         latin:elementName="phone"
         latin:elementKeyboard="@xml/kbd_phone" />
     <Element
diff --git a/java/res/xml/keys_parentheses.xml b/java/res/xml/keys_parentheses.xml
deleted file mode 100644
index 25e89c9..0000000
--- a/java/res/xml/keys_parentheses.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <Key
-        latin:keyLabel="("
-        latin:code="!code/key_left_parenthesis"
-        latin:moreKeys="!text/more_keys_for_left_parenthesis" />
-    <Key
-        latin:keyLabel=")"
-        latin:code="!code/key_right_parenthesis"
-        latin:moreKeys="!text/more_keys_for_right_parenthesis" />
-</merge>
diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml
index 150ad48..5c15da6 100644
--- a/java/res/xml/row_symbols4.xml
+++ b/java/res/xml/row_symbols4.xml
@@ -46,8 +46,9 @@
         <include
             latin:keyXPos="25%p"
             latin:keyboardLayout="@xml/key_space" />
-        <Key
-            latin:keyStyle="punctuationKeyStyle" />
+        <include
+            latin:keyboardLayout="@xml/key_symbols_period"
+            latin:backgroundType="functional" />
         <Key
             latin:keyStyle="enterKeyStyle"
             latin:keyWidth="fillRight" />
diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml
deleted file mode 100644
index 99a685c..0000000
--- a/java/res/xml/row_symbols_shift4.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <Row
-        latin:keyWidth="10%p"
-    >
-        <Key
-            latin:keyStyle="toAlphaKeyStyle"
-            latin:keyWidth="15%p" />
-        <!-- U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
-             U+201E: "„" DOUBLE LOW-9 QUOTATION MARK -->
-        <Key
-            latin:keyLabel="&#x201E;"
-            latin:moreKeys="&#x201A;"
-            latin:backgroundType="functional" />
-        <include
-            latin:keyXPos="25%p"
-            latin:keyboardLayout="@xml/key_space" />
-        <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
-        <Key
-            latin:keyLabel="&#x2026;"
-            latin:backgroundType="functional" />
-        <Key
-            latin:keyStyle="enterKeyStyle"
-            latin:keyWidth="fillRight" />
-    </Row>
-</merge>
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
index 3e27f15..9d629f1 100644
--- a/java/res/xml/rowkeys_symbols2.xml
+++ b/java/res/xml/rowkeys_symbols2.xml
@@ -43,8 +43,12 @@
                 latin:keyLabel="\#" />
         </default>
     </switch>
-    <Key
-        latin:keyStyle="currencyKeyStyle" />
+    <!-- TODO: Remove key_currency.xml and uncomment the following definition. -->
+<!--     <Key -->
+<!--         latin:keyLabel="!text/keylabel_for_currency" -->
+<!--         latin:moreKeys="!text/more_keys_for_currency" /> -->
+    <include
+        latin:keyboardLayout="@xml/key_currency" />
     <Key
         latin:keyLabel="!text/keylabel_for_symbols_percent"
         latin:moreKeys="!text/more_keys_for_symbols_percent" />
@@ -53,15 +57,27 @@
     <Key
         latin:keyLabel="*"
         latin:moreKeys="!text/more_keys_for_star" />
-    <!-- U+2013: "–" EN DASH
-         U+2014: "—" EM DASH
-         U+00B7: "·" MIDDLE DOT -->
-    <Key
-        latin:keyLabel="-"
-        latin:moreKeys="_,&#x2013;,&#x2014;,&#x00B7;" />
-    <Key
+    <!-- U+00B1: "±" PLUS-MINUS SIGN
+         U+00D7: "×" MULTIPLICATION SIGN
+         U+00F7: "÷" DIVISION SIGN
+         U+221A: "√" SQUARE ROOT -->
+     <Key
         latin:keyLabel="+"
-        latin:moreKeys="!text/more_keys_for_plus" />
-    <include
-        latin:keyboardLayout="@xml/keys_parentheses" />
+        latin:moreKeys="!text/more_keys_for_plus,&#x00B1;,&#x00D7;,&#x00F7;,&#x221A;" />
+    <!-- U+221E: "∞" INFINITY
+         U+2264: "≤" LESS-THAN OR EQUAL TO
+         U+2265: "≥" GREATER-THAN EQUAL TO
+         U+2260: "≠" NOT EQUAL TO
+         U+2248: "≈" ALMOST EQUAL TO -->
+    <Key
+        latin:keyLabel="="
+        latin:moreKeys="!fixedColumnOrder!5,&#x221E;,&#x2264;,&#x2265;,&#x2260;,&#x2248;" />
+    <Key
+        latin:keyLabel="("
+        latin:code="!code/key_left_parenthesis"
+        latin:moreKeys="!text/more_keys_for_left_parenthesis" />
+    <Key
+        latin:keyLabel=")"
+        latin:code="!code/key_right_parenthesis"
+        latin:moreKeys="!text/more_keys_for_right_parenthesis" />
 </merge>
diff --git a/java/res/xml/rowkeys_symbols3.xml b/java/res/xml/rowkeys_symbols3.xml
index 7722ca9..9e9dfd8 100644
--- a/java/res/xml/rowkeys_symbols3.xml
+++ b/java/res/xml/rowkeys_symbols3.xml
@@ -24,6 +24,9 @@
     <Key
         latin:keyLabel="!"
         latin:moreKeys="!text/more_keys_for_symbols_exclamation" />
+    <Key
+        latin:keyLabel="!text/keylabel_for_symbols_question"
+        latin:moreKeys="!text/more_keys_for_symbols_question" />
     <switch>
         <case
             latin:languageCode="fa"
@@ -33,11 +36,11 @@
             <Key
                 latin:keyLabel="&#x00AB;"
                 latin:code="0x00BB"
-                latin:moreKeys="!text/more_keys_for_double_quote" />
+                latin:moreKeys="!fixedColumnOrder!6,!text/more_keys_for_double_quote,&quot;" />
             <Key
                 latin:keyLabel="&#x00BB;"
                 latin:code="0x00AB"
-                latin:moreKeys="!text/more_keys_for_single_quote" />
+                latin:moreKeys="!fixedColumnOrder!6,!text/more_keys_for_single_quote,\'" />
         </case>
         <default>
             <Key
@@ -48,14 +51,18 @@
                 latin:moreKeys="!text/more_keys_for_single_quote" />
         </default>
     </switch>
+    <!-- U+2013: "–" EN DASH
+         U+2014: "—" EM DASH
+         U+00B7: "·" MIDDLE DOT -->
+    <Key
+        latin:keyLabel="-"
+        latin:moreKeys="_,~,&#x2013;,&#x2014;,&#x00B7;" />
     <Key
         latin:keyLabel=":" />
     <Key
         latin:keyLabel="!text/keylabel_for_symbols_semicolon"
         latin:moreKeys="!text/more_keys_for_symbols_semicolon" />
     <Key
-        latin:keyLabel="/" />
-    <Key
-        latin:keyLabel="!text/keylabel_for_symbols_question"
-        latin:moreKeys="!text/more_keys_for_symbols_question" />
+        latin:keyLabel="/"
+        latin:moreKeys="\\|,\\\\,^" />
 </merge>
diff --git a/java/res/xml/rowkeys_symbols_shift1.xml b/java/res/xml/rowkeys_symbols_shift1.xml
deleted file mode 100644
index fea8ae3..0000000
--- a/java/res/xml/rowkeys_symbols_shift1.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <Key
-        latin:keyLabel="~" />
-    <Key
-        latin:keyLabel="`" />
-    <Key
-        latin:keyLabel="|" />
-    <!-- U+2022: "•" BULLET -->
-    <Key
-        latin:keyLabel="&#x2022;"
-        latin:moreKeys="!text/more_keys_for_bullet" />
-    <!-- U+221A: "√" SQUARE ROOT -->
-    <Key
-        latin:keyLabel="&#x221A;" />
-    <!-- U+03C0: "π" GREEK SMALL LETTER PI
-         U+03A0: "Π" GREEK CAPITAL LETTER PI  -->
-    <Key
-        latin:keyLabel="&#x03C0;"
-        latin:moreKeys="&#x03A0;" />
-    <!-- U+00F7: "÷" DIVISION SIGN -->
-    <Key
-        latin:keyLabel="&#x00F7;" />
-    <!-- U+00D7: "×" MULTIPLICATION SIGN -->
-    <Key
-        latin:keyLabel="&#x00D7;" />
-    <include
-        latin:keyboardLayout="@xml/keys_curly_brackets" />
-</merge>
diff --git a/java/res/xml/rowkeys_symbols_shift2.xml b/java/res/xml/rowkeys_symbols_shift2.xml
deleted file mode 100644
index 3fd8aac..0000000
--- a/java/res/xml/rowkeys_symbols_shift2.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <Key
-        latin:keyStyle="nonSpecialBackgroundTabKeyStyle" />
-    <Key
-        latin:keyStyle="moreCurrency1KeyStyle" />
-    <Key
-        latin:keyStyle="moreCurrency2KeyStyle" />
-    <Key
-        latin:keyStyle="moreCurrency3KeyStyle" />
-    <!-- U+00B0: "°" DEGREE SIGN
-         U+2032: "′" PRIME
-         U+2033: "″" DOUBLE PRIME -->
-    <Key
-        latin:keyLabel="&#x00B0;"
-        latin:moreKeys="&#x2032;,&#x2033;" />
-    <!-- U+2191: "↑" UPWARDS ARROW
-         U+2193: "↓" DOWNWARDS ARROW
-         U+2190: "←" LEFTWARDS ARROW
-         U+2192: "→" RIGHTWARDS ARROW -->
-    <Key
-        latin:keyLabel="^"
-        latin:moreKeys="&#x2191;,&#x2193;,&#x2190;,&#x2192;" />
-    <Key
-        latin:keyLabel="_" />
-    <!-- U+2260: "≠" NOT EQUAL TO
-         U+2248: "≈" ALMOST EQUAL TO
-         U+221E: "∞" INFINITY -->
-    <Key
-        latin:keyLabel="="
-        latin:moreKeys="&#x2260;,&#x2248;,&#x221E;" />
-    <include
-        latin:keyboardLayout="@xml/keys_square_brackets" />
-</merge>
diff --git a/java/res/xml/rowkeys_symbols_shift3.xml b/java/res/xml/rowkeys_symbols_shift3.xml
deleted file mode 100644
index a35af21..0000000
--- a/java/res/xml/rowkeys_symbols_shift3.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <!-- U+2122: "™" TRADE MARK SIGN -->
-    <Key
-        latin:keyLabel="&#x2122;" />
-    <!-- U+00AE: "®" REGISTERED SIGN -->
-    <Key
-        latin:keyLabel="&#x00AE;" />
-    <!-- U+00A9: "©" COPYRIGHT SIGN -->
-    <Key
-        latin:keyLabel="&#x00A9;" />
-    <!-- U+00B6: "¶" PILCROW SIGN
-         U+00A7: "§" SECTION SIGN -->
-    <Key
-        latin:keyLabel="&#x00B6;"
-        latin:moreKeys="&#x00A7;" />
-    <Key
-        latin:keyLabel="\\" />
-    <include
-        latin:keyboardLayout="@xml/keys_less_greater" />
-</merge>
diff --git a/java/res/xml/rows_pcqwerty_symbols.xml b/java/res/xml/rows_pcqwerty_symbols.xml
index 107a4ad..195678e 100644
--- a/java/res/xml/rows_pcqwerty_symbols.xml
+++ b/java/res/xml/rows_pcqwerty_symbols.xml
@@ -23,8 +23,6 @@
 >
     <include
         latin:keyboardLayout="@xml/key_styles_common" />
-    <include
-        latin:keyboardLayout="@xml/key_styles_currency" />
     <Row
         latin:keyWidth="7.692%p"
     >
diff --git a/java/res/xml/rows_symbols.xml b/java/res/xml/rows_symbols.xml
index bd1a57e..27010cb 100644
--- a/java/res/xml/rows_symbols.xml
+++ b/java/res/xml/rows_symbols.xml
@@ -23,8 +23,6 @@
 >
     <include
         latin:keyboardLayout="@xml/key_styles_common" />
-    <include
-        latin:keyboardLayout="@xml/key_styles_currency" />
     <Row
         latin:keyWidth="10%p"
     >
@@ -40,11 +38,8 @@
     <Row
         latin:keyWidth="10%p"
     >
-        <Key
-            latin:keyStyle="toMoreSymbolKeyStyle"
-            latin:keyWidth="15%p"
-            latin:visualInsetsRight="1%p" />
         <include
+            latin:keyXPos="5%p"
             latin:keyboardLayout="@xml/rowkeys_symbols3" />
         <Key
             latin:keyStyle="deleteKeyStyle"
diff --git a/java/res/xml/rows_symbols_shift.xml b/java/res/xml/rows_symbols_shift.xml
deleted file mode 100644
index 9c03d90..0000000
--- a/java/res/xml/rows_symbols_shift.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <include
-        latin:keyboardLayout="@xml/key_styles_common" />
-    <include
-        latin:keyboardLayout="@xml/key_styles_currency" />
-    <Row
-        latin:keyWidth="10%p"
-    >
-        <include
-            latin:keyboardLayout="@xml/rowkeys_symbols_shift1" />
-    </Row>
-    <Row
-        latin:keyWidth="10%p"
-    >
-        <include
-            latin:keyboardLayout="@xml/rowkeys_symbols_shift2" />
-    </Row>
-    <Row
-        latin:keyWidth="10%p"
-    >
-        <Key
-            latin:keyStyle="backFromMoreSymbolKeyStyle"
-            latin:keyWidth="15%p"
-            latin:visualInsetsRight="1%p" />
-        <include
-            latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
-        <Key
-            latin:keyStyle="deleteKeyStyle"
-            latin:keyWidth="fillRight"
-            latin:visualInsetsLeft="1%p" />
-    </Row>
-    <include
-        latin:keyboardLayout="@xml/row_symbols_shift4" />
-</merge>