Settings key always exists in more keys of shortcut/f1 key

This change also
  * Fix comman/f1 key for Arabic keyboard.
  * Removes "show settings key option" and related stuff.
  * Renames and simplifies F2 key to shortcut key on 7 inch tablet.

Change-Id: Ib1cf99ad00d9780a2f0d170260e756771e161521
diff --git a/java/res/xml/key_f1.xml b/java/res/xml/key_f1.xml
index 83b6ecc..6068d25 100644
--- a/java/res/xml/key_f1.xml
+++ b/java/res/xml/key_f1.xml
@@ -23,7 +23,6 @@
 >
     <switch>
         <case
-            latin:hasSettingsKey="false"
             latin:navigateAction="false"
         >
             <switch>
@@ -51,11 +50,14 @@
                 <default>
                     <Key
                         latin:keyLabel="@string/keylabel_for_comma"
+                        latin:keyLabelFlags="hasPopupHint"
+                        latin:additionalMoreKeys="@string/more_keys_for_comma"
                         latin:keyStyle="f1PopupStyle" />
                 </default>
             </switch>
         </case>
-        <!-- hasSettingsKey="true" or navigateAction="true" -->
+        <!-- TODO: Remove dedicated navigation tab key. -->
+        <!-- navigateAction="true" -->
         <default>
             <switch>
                 <case
@@ -85,9 +87,10 @@
                 <default>
                     <Key
                         latin:keyLabel="@string/keylabel_for_comma"
-                        latin:keyWidth="9.2%p"
-                        latin:keyStyle="f1PopupStyle" />
-                </default>
+                        latin:additionalMoreKeys="@string/more_keys_for_comma"
+                        latin:keyStyle="f1PopupStyle"
+                        latin:keyWidth="9.2%p" />
+                    </default>
             </switch>
         </default>
     </switch>
diff --git a/java/res/xml/key_settings_or_tab.xml b/java/res/xml/key_navigation_tab.xml
similarity index 70%
rename from java/res/xml/key_settings_or_tab.xml
rename to java/res/xml/key_navigation_tab.xml
index 2d35e3b..c77189f 100644
--- a/java/res/xml/key_settings_or_tab.xml
+++ b/java/res/xml/key_navigation_tab.xml
@@ -23,17 +23,6 @@
 >
     <switch>
         <case
-            latin:hasSettingsKey="true"
-        >
-            <!-- Because this settings key is not adjacent to the space key, this key should be
-                 just ignored while typing (altCode=CODE_UNSPECIFIED). -->
-            <Key
-                latin:keyStyle="settingsKeyStyle"
-                latin:altCode="@integer/key_unspecified"
-                latin:keyWidth="9.2%p" />
-        </case>
-        <!-- hasSettingsKey="false" -->
-        <case
             latin:navigateAction="true"
         >
             <Key
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index 4d0ad29..eabbdb3 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -28,36 +28,14 @@
         >
             <key-style
                 latin:styleName="f1PopupStyle"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="@string/more_keys_for_f1"
                 latin:backgroundType="functional" />
         </case>
-        <!-- clobberSettingsKey="false -->
-        <case
-            latin:hasSettingsKey="false"
-        >
-            <key-style
-                latin:styleName="f1PopupStyle"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="@string/more_keys_for_f1_settings"
-                latin:backgroundType="functional" />
-        </case>
-        <!-- clobberSettingsKey="false" hasSettingsKey="true" -->
-        <case
-            latin:navigateAction="true"
-        >
-            <key-style
-                latin:styleName="f1PopupStyle"
-                latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="@string/more_keys_for_f1_navigate"
-                latin:backgroundType="functional" />
-        </case>
-        <!-- clobberSettingsKey="false" and hasSettingsKey="true" navigateAction="false" -->
+        <!-- clobberSettingsKey="false" -->
         <default>
             <key-style
                 latin:styleName="f1PopupStyle"
                 latin:keyLabelFlags="hasPopupHint"
-                latin:moreKeys="@string/more_keys_for_f1"
+                latin:moreKeys="@string/settings_as_more_key"
                 latin:backgroundType="functional" />
         </default>
     </switch>
diff --git a/java/res/xml/key_symbols_f1.xml b/java/res/xml/key_symbols_f1.xml
index 0dd3d91..ac4031f 100644
--- a/java/res/xml/key_symbols_f1.xml
+++ b/java/res/xml/key_symbols_f1.xml
@@ -23,7 +23,6 @@
 >
     <switch>
         <case
-            latin:hasSettingsKey="false"
             latin:navigateAction="false"
         >
             <switch>
@@ -36,12 +35,14 @@
                 <!-- latin:hasShortcutKey="false" -->
                 <default>
                     <Key
-                        latin:keyLabel="@string/keylabel_for_f1"
+                        latin:keyLabel="@string/keylabel_for_comma"
+                        latin:keyLabelFlags="hasPopupHint"
+                        latin:additionalMoreKeys="@string/more_keys_for_comma"
                         latin:keyStyle="f1PopupStyle" />
                 </default>
             </switch>
         </case>
-        <!-- hasSettingsKey="true" or navigateAction="true" -->
+        <!-- navigateAction="true" -->
         <default>
             <switch>
                 <case
@@ -54,10 +55,12 @@
                 <!-- latin:hasShortcutKey="false" -->
                 <default>
                     <Key
-                        latin:keyLabel="@string/keylabel_for_f1"
-                        latin:keyWidth="9.2%p"
-                        latin:keyStyle="f1PopupStyle" />
-                </default>
+                        latin:keyLabel="@string/keylabel_for_comma"
+                        latin:keyLabelFlags="hasPopupHint"
+                        latin:additionalMoreKeys="@string/more_keys_for_comma"
+                        latin:keyStyle="f1PopupStyle"
+                        latin:keyWidth="9.2%p" />
+                    </default>
             </switch>
         </default>
     </switch>
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 77f4650..f826ef0 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -44,11 +44,6 @@
             android:title="@string/popup_on_keypress"
             android:persistent="true"
             android:defaultValue="@bool/config_default_popup_preview" />
-        <CheckBoxPreference
-            android:key="show_settings_key"
-            android:title="@string/prefs_settings_key"
-            android:persistent="true"
-            android:defaultValue="@bool/config_default_show_settings_key" />
         <ListPreference
             android:key="voice_mode"
             android:title="@string/voice_input"
diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml
index 8c20a72..2f8b82c 100644
--- a/java/res/xml/row_qwerty4.xml
+++ b/java/res/xml/row_qwerty4.xml
@@ -26,7 +26,6 @@
     >
         <switch>
             <case
-                latin:hasSettingsKey="false"
                 latin:navigateAction="false"
             >
                 <Key
@@ -43,13 +42,14 @@
                     latin:keyStyle="enterKeyStyle"
                     latin:keyWidth="fillRight" />
             </case>
-            <!-- hasSettingsKey="true" or navigateAction="true" -->
+            <!-- TODO: Remove dedicated navigation tab key. -->
+            <!-- navigateAction="true" -->
             <default>
                 <Key
                     latin:keyStyle="toSymbolKeyStyle"
                     latin:keyWidth="13.75%p" />
                 <include
-                    latin:keyboardLayout="@xml/key_settings_or_tab" />
+                    latin:keyboardLayout="@xml/key_navigation_tab" />
                 <include
                     latin:keyboardLayout="@xml/key_f1" />
                 <Key
diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml
index be0c94f..ef77bc3 100644
--- a/java/res/xml/row_symbols4.xml
+++ b/java/res/xml/row_symbols4.xml
@@ -26,7 +26,6 @@
     >
         <switch>
             <case
-                latin:hasSettingsKey="false"
                 latin:navigateAction="false"
             >
                 <Key
@@ -43,13 +42,14 @@
                     latin:keyStyle="enterKeyStyle"
                     latin:keyWidth="fillRight" />
             </case>
-            <!-- hasSettingsKey="true" or navigateAction="true" -->
+            <!-- TODO: Remove dedicated navigation tab key. -->
+            <!-- navigateAction="true" -->
             <default>
                 <Key
                     latin:keyStyle="toAlphaKeyStyle"
                     latin:keyWidth="13.75%p" />
                 <include
-                    latin:keyboardLayout="@xml/key_settings_or_tab" />
+                    latin:keyboardLayout="@xml/key_navigation_tab" />
                 <include
                     latin:keyboardLayout="@xml/key_f1" />
                 <Key
diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml
index 5cb6512..632aafc 100644
--- a/java/res/xml/row_symbols_shift4.xml
+++ b/java/res/xml/row_symbols_shift4.xml
@@ -26,7 +26,6 @@
     >
         <switch>
             <case
-                latin:hasSettingsKey="false"
                 latin:navigateAction="false"
             >
                 <Key
@@ -51,13 +50,14 @@
                     latin:keyStyle="enterKeyStyle"
                     latin:keyWidth="fillRight" />
             </case>
-            <!-- hasSettingsKey="true" or navigateAction="true" -->
+            <!-- TODO: Remove dedicated navigation tab key. -->
+            <!-- navigateAction="true" -->
             <default>
                 <Key
                     latin:keyStyle="toAlphaKeyStyle"
                     latin:keyWidth="13.75%p" />
                 <include
-                    latin:keyboardLayout="@xml/key_settings_or_tab" />
+                    latin:keyboardLayout="@xml/key_navigation_tab" />
                 <!-- U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
                 <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
                     <!-- latin:keyLabelFlags="hasPopupHint" -->