Reorder keys around the spacebar

This CL reorders keys around the spacebar.
- On phone's symbols and symbols shift layout, the comma key is moved
  to the left of the spacebar to aligned with main layout.
- On tablet's layout, the comma key is moved to the left of the
  spacebar on all layout to aligned with the same layout of
  phone's. Also the comma key has "settings" as more keys.
- In Arabic and Perisan, the comma key of tablet already has some more keys
  This CL remove "/" and add "settings" instead.

Bug: 15281451
Change-Id: I6e0e75e4d4abfb1f356e7499be91424c7c57c58b
diff --git a/java/res/xml-sw600dp/key_comma.xml b/java/res/xml-sw600dp/key_comma.xml
new file mode 100644
index 0000000..67199e2
--- /dev/null
+++ b/java/res/xml-sw600dp/key_comma.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, 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"
+>
+    <!-- The table comma key which may have settings as popup key. -->
+    <!-- Kept as a separate file for cleaner overriding by an overlay.  -->
+    <key-style
+        latin:styleName="baseTabletCommaKeyStyle"
+        latin:keySpec="!text/keyspec_tablet_comma"
+        latin:keyHintLabel="!text/keyhintlabel_tablet_comma"
+        latin:keyLabelFlags="hasPopupHint"
+        latin:parentStyle="hasShiftedLetterHintStyle" />
+    <switch>
+        <case
+            latin:clobberSettingsKey="true"
+        >
+            <Key
+                latin:moreKeys="!text/morekeys_tablet_comma"
+                latin:keyStyle="baseTabletCommaKeyStyle" />
+        </case>
+        <!-- clobberSettingsKey="false" -->
+        <default>
+            <Key
+                latin:moreKeys="!text/morekeys_tablet_comma,!text/keyspec_settings"
+                latin:keyStyle="baseTabletCommaKeyStyle" />
+        </default>
+    </switch>
+</merge>
diff --git a/java/res/xml-sw600dp/keys_comma_period.xml b/java/res/xml-sw600dp/key_period.xml
similarity index 81%
rename from java/res/xml-sw600dp/keys_comma_period.xml
rename to java/res/xml-sw600dp/key_period.xml
index 23172cf..d2909d8 100644
--- a/java/res/xml-sw600dp/keys_comma_period.xml
+++ b/java/res/xml-sw600dp/key_period.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2013, The Android Open Source Project
+** Copyright 2014, 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.
@@ -21,13 +21,8 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <Key
-        latin:keySpec="!text/keyspec_tablet_comma"
-        latin:keyHintLabel="!text/keyhintlabel_tablet_comma"
-        latin:keyLabelFlags="hasPopupHint"
-        latin:moreKeys="!text/morekeys_tablet_comma"
-        latin:backgroundType="functional"
-        latin:keyStyle="hasShiftedLetterHintStyle" />
+    <!-- The table period key which may have different label depending on locale -->
+    <!-- Kept as a separate file for cleaner overriding by an overlay.  -->
     <switch>
         <case
             latin:languageCode="hi"
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index c5506b5..7de2769 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -35,6 +35,9 @@
                 latin:keyLabelFlags="hasShiftedLetterHint" />
         </default>
     </switch>
+    <!-- Base key style for the key which may have settings key as more keys. -->
+    <include
+        latin:keyboardLayout="@xml/key_styles_settings" />
     <!-- Functional key styles -->
     <!-- Base style for shift key. A single space is used for dummy label in moreKeys. -->
     <key-style
diff --git a/java/res/xml-sw600dp/row_dvorak4.xml b/java/res/xml-sw600dp/row_dvorak4.xml
index d3709ef..ab2b560 100644
--- a/java/res/xml-sw600dp/row_dvorak4.xml
+++ b/java/res/xml-sw600dp/row_dvorak4.xml
@@ -30,19 +30,19 @@
             latin:keyWidth="10.0%p" />
         <include
             latin:keyboardLayout="@xml/key_settings" />
-        <include
-            latin:keyboardLayout="@xml/key_f1" />
+        <Key
+            latin:keySpec="_"
+            latin:keyHintLabel="-"
+            latin:moreKeys="-"
+            latin:keyStyle="hasShiftedLetterHintStyle" />
         <include
             latin:keyXPos="28.0%p"
             latin:keyboardLayout="@xml/key_space_5kw"
             latin:backgroundType="normal" />
         <include
+            latin:keyboardLayout="@xml/key_f1" />
+        <include
             latin:keyboardLayout="@xml/key_question_exclamation" />
-        <Key
-            latin:keySpec="-"
-            latin:keyHintLabel="_"
-            latin:moreKeys="_"
-            latin:keyStyle="hasShiftedLetterHintStyle" />
         <include
             latin:keyboardLayout="@xml/key_f2" />
     </Row>
diff --git a/java/res/xml-sw600dp/row_qwerty4.xml b/java/res/xml-sw600dp/row_qwerty4.xml
index d931437..0eb86f2 100644
--- a/java/res/xml-sw600dp/row_qwerty4.xml
+++ b/java/res/xml-sw600dp/row_qwerty4.xml
@@ -29,15 +29,18 @@
             latin:keyStyle="toSymbolKeyStyle"
             latin:keyWidth="10.0%p" />
         <include
-            latin:keyboardLayout="@xml/key_settings" />
-        <include
-            latin:keyboardLayout="@xml/key_f1" />
+            latin:keyboardLayout="@xml/key_comma" />
+        <Key
+            latin:keySpec="_" />
+        <!-- Space key. -->
         <include
             latin:keyXPos="28.0%p"
             latin:keyboardLayout="@xml/key_space_5kw"
             latin:backgroundType="normal" />
         <include
-            latin:keyboardLayout="@xml/keys_comma_period" />
+            latin:keyboardLayout="@xml/key_f1" />
+        <include
+            latin:keyboardLayout="@xml/key_period" />
         <include
             latin:keyboardLayout="@xml/key_f2" />
     </Row>
diff --git a/java/res/xml/key_f1.xml b/java/res/xml/key_f1.xml
index 3471c85..7bd7385 100644
--- a/java/res/xml/key_f1.xml
+++ b/java/res/xml/key_f1.xml
@@ -27,20 +27,20 @@
         >
             <Key
                 latin:keySpec="/"
-                latin:keyStyle="f1MoreKeysStyle" />
+                latin:keyStyle="settingsMoreKeysStyle" />
         </case>
         <case
             latin:mode="email"
         >
             <Key
                 latin:keySpec="\@"
-                latin:keyStyle="f1MoreKeysStyle" />
+                latin:keyStyle="settingsMoreKeysStyle" />
         </case>
         <default>
             <Key
                 latin:keySpec="!text/keyspec_comma"
                 latin:keyLabelFlags="hasPopupHint"
-                latin:keyStyle="f1MoreKeysStyle" />
+                latin:keyStyle="settingsMoreKeysStyle" />
         </default>
     </switch>
 </merge>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index 9d5d52e..8b3bb2e 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -35,9 +35,9 @@
                 latin:keyLabelFlags="hasShiftedLetterHint" />
         </default>
     </switch>
-    <!-- Base key style for the key which may have settings or tab key as popup key. -->
+    <!-- Base key style for the key which may have settings key as more keys. -->
     <include
-        latin:keyboardLayout="@xml/key_styles_f1" />
+        latin:keyboardLayout="@xml/key_styles_settings" />
     <!-- Functional key styles -->
     <!-- Base style for shift key. A single space is used for dummy label in moreKeys. -->
     <key-style
@@ -104,7 +104,7 @@
         latin:keyIconDisabled="!icon/shortcut_key_disabled"
         latin:keyActionFlags="noKeyPreview|altCodeWhileTyping"
         latin:altCode="!code/key_space"
-        latin:parentStyle="f1MoreKeysStyle" />
+        latin:parentStyle="settingsMoreKeysStyle" />
     <key-style
         latin:styleName="settingsKeyStyle"
         latin:keySpec="!icon/settings_key|!code/key_settings"
diff --git a/java/res/xml/keys_less_greater.xml b/java/res/xml/key_styles_less_greater.xml
similarity index 77%
rename from java/res/xml/keys_less_greater.xml
rename to java/res/xml/key_styles_less_greater.xml
index 778de02..db4c798 100644
--- a/java/res/xml/keys_less_greater.xml
+++ b/java/res/xml/key_styles_less_greater.xml
@@ -21,25 +21,31 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
+    <!-- The less and greater keys' style which may have different label depending on locale. -->
+    <!-- Kept as a separate file for cleaner overriding by an overlay.  -->
     <switch>
         <case
             latin:languageCode="fa"
         >
-            <Key
+            <key-style
+                latin:styleName="lessKeyStyle"
                 latin:keySpec="!text/keyspec_left_double_angle_quote"
                 latin:backgroundType="functional"
                 latin:moreKeys="!text/morekeys_less_than" />
-            <Key
+            <key-style
+                latin:styleName="greaterKeyStyle"
                 latin:keySpec="!text/keyspec_right_double_angle_quote"
                 latin:backgroundType="functional"
                 latin:moreKeys="!text/morekeys_greater_than" />
         </case>
         <default>
-            <Key
+            <key-style
+                latin:styleName="lessKeyStyle"
                 latin:keySpec="!text/keyspec_less_than"
                 latin:backgroundType="functional"
                 latin:moreKeys="!text/morekeys_less_than" />
-            <Key
+            <key-style
+                latin:styleName="greaterKeyStyle"
                 latin:keySpec="!text/keyspec_greater_than"
                 latin:backgroundType="functional"
                 latin:moreKeys="!text/morekeys_greater_than" />
diff --git a/java/res/xml/key_styles_f1.xml b/java/res/xml/key_styles_settings.xml
similarity index 86%
rename from java/res/xml/key_styles_f1.xml
rename to java/res/xml/key_styles_settings.xml
index 8a07827..956b402 100644
--- a/java/res/xml/key_styles_f1.xml
+++ b/java/res/xml/key_styles_settings.xml
@@ -21,20 +21,20 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <!-- Base key style for the key which may have settings or tab key as popup key. -->
+    <!-- Base key style for the key which may have settings key as more keys. -->
     <!-- Kept as a separate file for cleaner overriding by an overlay.  -->
     <switch>
         <case
             latin:clobberSettingsKey="true"
         >
             <key-style
-                latin:styleName="f1MoreKeysStyle"
+                latin:styleName="settingsMoreKeysStyle"
                 latin:backgroundType="functional" />
         </case>
         <!-- clobberSettingsKey="false" -->
         <default>
             <key-style
-                latin:styleName="f1MoreKeysStyle"
+                latin:styleName="settingsMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint"
                 latin:moreKeys="!text/keyspec_settings"
                 latin:backgroundType="functional" />
diff --git a/java/res/xml/keys_comma_period_symbols.xml b/java/res/xml/keys_comma_period_symbols.xml
deleted file mode 100644
index 843595c..0000000
--- a/java/res/xml/keys_comma_period_symbols.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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"
->
-    <Key
-        latin:keySpec="!text/keyspec_comma" />
-    <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
-    <Key
-        latin:keySpec="."
-        latin:moreKeys="&#x2026;" />
-</merge>
diff --git a/java/res/xml/row_dvorak4.xml b/java/res/xml/row_dvorak4.xml
index 279f646..e7a3ee7 100644
--- a/java/res/xml/row_dvorak4.xml
+++ b/java/res/xml/row_dvorak4.xml
@@ -30,7 +30,7 @@
         <Key
             latin:keySpec="q"
             latin:backgroundType="normal"
-            latin:keyStyle="f1MoreKeysStyle" />
+            latin:keyStyle="settingsMoreKeysStyle" />
         <include
             latin:keyXPos="25%p"
             latin:keyboardLayout="@xml/key_space_5kw" />
diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml
index 09f6b62..2be03bd 100644
--- a/java/res/xml/row_symbols4.xml
+++ b/java/res/xml/row_symbols4.xml
@@ -20,11 +20,15 @@
 
 <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" >
     <Key
-        latin:keySpec="_" />
+        latin:keySpec="!text/keyspec_comma" />
     <Key
-        latin:keySpec="/" />
+        latin:keySpec="_" />
     <include
         latin:keyboardLayout="@xml/key_space_symbols" />
-    <include
-        latin:keyboardLayout="@xml/keys_comma_period_symbols" />
+    <Key
+        latin:keySpec="/" />
+    <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
+    <Key
+        latin:keySpec="."
+        latin:moreKeys="&#x2026;" />
 </merge>
diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml
index f75575b..4fc63c2 100644
--- a/java/res/xml/row_symbols_shift4.xml
+++ b/java/res/xml/row_symbols_shift4.xml
@@ -18,9 +18,18 @@
 */
 -->
 <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" >
-
-    <include latin:keyboardLayout="@xml/keys_less_greater" />
+    <include
+        latin:keyboardLayout="@xml/key_styles_less_greater" />
+    <Key
+        latin:keySpec="!text/keyspec_comma" />
+    <Key
+        latin:keyStyle="lessKeyStyle" />
     <include
         latin:keyboardLayout="@xml/key_space_symbols" />
-    <include latin:keyboardLayout="@xml/keys_comma_period_symbols" />
+    <Key
+        latin:keyStyle="greaterKeyStyle" />
+    <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
+    <Key
+        latin:keySpec="."
+        latin:moreKeys="&#x2026;" />
 </merge>