From c04075b1385cd362b3ecb48c8fa0e4d1f40a9b9a Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Mon, 23 Apr 2012 15:33:59 +0900
Subject: [PATCH] Cleanup <include/> and etc. in keyboard XML

* Remove keyXPos and keyWidth from key_*.xml and make it more generic.
* Add keyXPos and keyWidth to <include/> generalized key_*.xml.
* Remove zero width <Spacer/> and fold into successive <include/>.

Change-Id: I4b5c02a165ba0bc9ef8741be0b4938c1efaf5e27
---
 ...ak_semicolon.xml => key_colemak_colon.xml} |  0
 java/res/xml-sw600dp/key_f1.xml               |  8 +------
 java/res/xml-sw600dp/key_shortcut.xml         |  9 +++-----
 java/res/xml-sw600dp/key_space.xml            |  3 ---
 java/res/xml-sw600dp/row_dvorak4.xml          |  6 ++---
 java/res/xml-sw600dp/row_hebrew4.xml          |  5 ++---
 java/res/xml-sw600dp/row_qwerty4.xml          |  6 ++---
 java/res/xml-sw600dp/row_symbols4.xml         |  6 ++---
 java/res/xml-sw600dp/row_symbols_shift4.xml   |  6 ++---
 java/res/xml-sw600dp/rows_colemak.xml         |  2 +-
 java/res/xml-sw600dp/rows_hindi.xml           |  6 +++--
 java/res/xml-sw600dp/rows_nordic.xml          |  2 +-
 java/res/xml-sw600dp/rows_number_normal.xml   |  8 +++----
 java/res/xml-sw600dp/rows_number_password.xml |  8 +++----
 java/res/xml-sw600dp/rows_phone.xml           |  8 +++----
 java/res/xml-sw768dp/key_shortcut.xml         |  4 +---
 java/res/xml-sw768dp/key_space.xml            |  3 ---
 java/res/xml-sw768dp/row_dvorak4.xml          |  7 +++---
 java/res/xml-sw768dp/row_hebrew4.xml          |  6 ++---
 java/res/xml-sw768dp/row_qwerty4.xml          |  7 +++---
 java/res/xml-sw768dp/row_symbols4.xml         | 15 +++++--------
 java/res/xml-sw768dp/row_symbols_shift4.xml   | 15 +++++--------
 java/res/xml-sw768dp/rows_colemak.xml         |  2 +-
 java/res/xml-sw768dp/rows_number_normal.xml   | 22 +++++--------------
 java/res/xml-sw768dp/rows_number_password.xml | 12 +++++-----
 java/res/xml-sw768dp/rows_phone.xml           | 22 +++++--------------
 java/res/xml-sw768dp/rows_thai.xml            |  2 +-
 ...ak_semicolon.xml => key_colemak_colon.xml} |  0
 java/res/xml/key_space.xml                    |  3 ---
 java/res/xml/row_dvorak4.xml                  |  1 +
 java/res/xml/row_qwerty4.xml                  |  1 +
 java/res/xml/row_symbols4.xml                 |  1 +
 java/res/xml/row_symbols_shift4.xml           |  1 +
 java/res/xml/rows_colemak.xml                 |  2 +-
 java/res/xml/rows_number.xml                  |  1 -
 35 files changed, 78 insertions(+), 132 deletions(-)
 rename java/res/xml-sw600dp/{key_colemak_semicolon.xml => key_colemak_colon.xml} (100%)
 rename java/res/xml/{key_colemak_semicolon.xml => key_colemak_colon.xml} (100%)

diff --git a/java/res/xml-sw600dp/key_colemak_semicolon.xml b/java/res/xml-sw600dp/key_colemak_colon.xml
similarity index 100%
rename from java/res/xml-sw600dp/key_colemak_semicolon.xml
rename to java/res/xml-sw600dp/key_colemak_colon.xml
diff --git a/java/res/xml-sw600dp/key_f1.xml b/java/res/xml-sw600dp/key_f1.xml
index e477d37587..faf0875584 100644
--- a/java/res/xml-sw600dp/key_f1.xml
+++ b/java/res/xml-sw600dp/key_f1.xml
@@ -23,13 +23,7 @@
 >
     <switch>
         <case
-            latin:mode="email"
-        >
-            <Key
-                latin:keyStyle="comKeyStyle" />
-        </case>
-        <case
-            latin:mode="url"
+            latin:mode="email|url"
         >
             <Key
                 latin:keyStyle="comKeyStyle" />
diff --git a/java/res/xml-sw600dp/key_shortcut.xml b/java/res/xml-sw600dp/key_shortcut.xml
index f8cbdf6b69..87fc75cd57 100644
--- a/java/res/xml-sw600dp/key_shortcut.xml
+++ b/java/res/xml-sw600dp/key_shortcut.xml
@@ -29,24 +29,21 @@
             <Key
                 latin:keyStyle="shortcutKeyStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!text/settings_as_more_key"
-                latin:keyWidth="fillBoth" />
+                latin:moreKeys="!text/settings_as_more_key" />
         </case>
         <case
             latin:shortcutKeyEnabled="true"
             latin:clobberSettingsKey="true"
         >
             <Key
-                latin:keyStyle="shortcutKeyStyle"
-                latin:keyWidth="fillBoth" />
+                latin:keyStyle="shortcutKeyStyle" />
         </case>
         <case
             latin:shortcutKeyEnabled="false"
             latin:clobberSettingsKey="false"
         >
             <Key
-                latin:keyStyle="settingsKeyStyle"
-                latin:keyWidth="fillBoth" />
+                latin:keyStyle="settingsKeyStyle" />
         </case>
         <!-- shortcutKeyEnabled="false" clobberSettingsKey="true" -->
         <default>
diff --git a/java/res/xml-sw600dp/key_space.xml b/java/res/xml-sw600dp/key_space.xml
index 4670142ccf..4e1e15b55e 100644
--- a/java/res/xml-sw600dp/key_space.xml
+++ b/java/res/xml-sw600dp/key_space.xml
@@ -21,9 +21,6 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <Spacer
-        latin:keyWidth="0dp"
-        latin:keyXPos="30.750%p" />
     <switch>
         <case
             latin:languageCode="fa"
diff --git a/java/res/xml-sw600dp/row_dvorak4.xml b/java/res/xml-sw600dp/row_dvorak4.xml
index 7d365883a7..14a5fd81d2 100644
--- a/java/res/xml-sw600dp/row_dvorak4.xml
+++ b/java/res/xml-sw600dp/row_dvorak4.xml
@@ -32,15 +32,15 @@
         <include
             latin:keyboardLayout="@xml/key_f1" />
         <include
+            latin:keyXPos="30.750%p"
             latin:keyboardLayout="@xml/key_space" />
         <include
             latin:keyboardLayout="@xml/key_question_exclamation" />
         <include
             latin:keyboardLayout="@xml/key_dash" />
-        <Spacer
-            latin:keyXPos="-10.00%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="-10.00%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw600dp/row_hebrew4.xml b/java/res/xml-sw600dp/row_hebrew4.xml
index e44d7d280c..536b653972 100644
--- a/java/res/xml-sw600dp/row_hebrew4.xml
+++ b/java/res/xml-sw600dp/row_hebrew4.xml
@@ -35,10 +35,9 @@
             latin:keyboardLayout="@xml/key_space" />
         <include
             latin:keyboardLayout="@xml/keys_comma_period" />
-        <Spacer
-            latin:keyXPos="-10.00%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="-10.0%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw600dp/row_qwerty4.xml b/java/res/xml-sw600dp/row_qwerty4.xml
index 58610ae15b..76ac3a0d05 100644
--- a/java/res/xml-sw600dp/row_qwerty4.xml
+++ b/java/res/xml-sw600dp/row_qwerty4.xml
@@ -32,15 +32,15 @@
         <include
             latin:keyboardLayout="@xml/key_f1" />
         <include
+            latin:keyXPos="30.750%p"
             latin:keyboardLayout="@xml/key_space" />
         <include
             latin:keyboardLayout="@xml/key_apostrophe" />
         <include
             latin:keyboardLayout="@xml/key_dash" />
-        <Spacer
-            latin:keyXPos="-10.00%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="-10.00%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw600dp/row_symbols4.xml b/java/res/xml-sw600dp/row_symbols4.xml
index 9b6daab365..d294e20cfc 100644
--- a/java/res/xml-sw600dp/row_symbols4.xml
+++ b/java/res/xml-sw600dp/row_symbols4.xml
@@ -32,16 +32,16 @@
         <Key
             latin:keyLabel="\@" />
         <include
+            latin:keyXPos="30.750%p"
             latin:keyboardLayout="@xml/key_space" />
         <Key
             latin:keyLabel="&quot;"
             latin:moreKeys="!text/more_keys_for_tablet_double_quote" />
         <Key
             latin:keyLabel="_" />
-        <Spacer
-            latin:keyXPos="-10.00%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="-10.0%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw600dp/row_symbols_shift4.xml b/java/res/xml-sw600dp/row_symbols_shift4.xml
index 7823561ebd..3a78c72000 100644
--- a/java/res/xml-sw600dp/row_symbols_shift4.xml
+++ b/java/res/xml-sw600dp/row_symbols_shift4.xml
@@ -30,11 +30,11 @@
         <Key
             latin:keyStyle="tabKeyStyle" />
         <include
+            latin:keyXPos="30.750%p"
             latin:keyboardLayout="@xml/key_space" />
-        <Spacer
-            latin:keyXPos="-10.00%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="-10.00%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw600dp/rows_colemak.xml b/java/res/xml-sw600dp/rows_colemak.xml
index 6c88e65170..aada5eb7a4 100644
--- a/java/res/xml-sw600dp/rows_colemak.xml
+++ b/java/res/xml-sw600dp/rows_colemak.xml
@@ -30,7 +30,7 @@
             latin:keyboardLayout="@xml/rowkeys_colemak1"
             latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
         <include
-            latin:keyboardLayout="@xml/key_colemak_semicolon" />
+            latin:keyboardLayout="@xml/key_colemak_colon" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyWidth="fillBoth" />
diff --git a/java/res/xml-sw600dp/rows_hindi.xml b/java/res/xml-sw600dp/rows_hindi.xml
index 6c98e080e4..f46c1debbf 100644
--- a/java/res/xml-sw600dp/rows_hindi.xml
+++ b/java/res/xml-sw600dp/rows_hindi.xml
@@ -38,7 +38,7 @@
     >
         <include
             latin:keyboardLayout="@xml/rowkeys_hindi2"
-            latin:keyXPos="4.500%p" />
+            latin:keyXPos="4.5%p" />
         <Key
             latin:keyStyle="enterKeyStyle"
             latin:keyWidth="fillBoth" />
@@ -54,7 +54,9 @@
         <include
             latin:keyboardLayout="@xml/keys_comma_period" />
         <include
-            latin:keyboardLayout="@xml/key_smiley" />
+            latin:keyboardLayout="@xml/key_smiley"
+            latin:keyXPos="-7.5%p"
+            latin:keyWidth="fillRight" />
     </Row>
     <include
         latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml-sw600dp/rows_nordic.xml b/java/res/xml-sw600dp/rows_nordic.xml
index 3a8aa1d330..57104fa7dc 100644
--- a/java/res/xml-sw600dp/rows_nordic.xml
+++ b/java/res/xml-sw600dp/rows_nordic.xml
@@ -55,7 +55,7 @@
             latin:keyboardLayout="@xml/keys_comma_period" />
         <include
             latin:keyboardLayout="@xml/key_smiley"
-            latin:keyXPos="-9.0%p"
+            latin:keyXPos="-7.6%p"
             latin:keyWidth="fillRight" />
     </Row>
     <include
diff --git a/java/res/xml-sw600dp/rows_number_normal.xml b/java/res/xml-sw600dp/rows_number_normal.xml
index 3fda2aa13d..04d2953366 100644
--- a/java/res/xml-sw600dp/rows_number_normal.xml
+++ b/java/res/xml-sw600dp/rows_number_normal.xml
@@ -135,8 +135,7 @@
             latin:keyLabel="9"
             latin:keyStyle="numKeyStyle" />
         <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-        <Spacer
-            latin:keyWidth="0%p" />
+        <Spacer />
     </Row>
     <Row>
         <Key
@@ -155,10 +154,9 @@
         <Key
             latin:keyLabel="#"
             latin:keyStyle="numKeyStyle" />
-        <Spacer
-            latin:keyXPos="-11.00%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="-11.0%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw600dp/rows_number_password.xml b/java/res/xml-sw600dp/rows_number_password.xml
index 59279fb3bd..2a2c33d939 100644
--- a/java/res/xml-sw600dp/rows_number_password.xml
+++ b/java/res/xml-sw600dp/rows_number_password.xml
@@ -62,8 +62,7 @@
         <Key
             latin:keyStyle="num9KeyStyle" />
         <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-        <Spacer
-            latin:keyWidth="0%p" />
+        <Spacer />
     </Row>
     <Row>
         <Key
@@ -72,10 +71,9 @@
         <Key
             latin:keyStyle="num0KeyStyle"
             latin:keyXPos="42.50%p"/>
-        <Spacer
-            latin:keyXPos="-11.00%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="-11.00%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw600dp/rows_phone.xml b/java/res/xml-sw600dp/rows_phone.xml
index e8926936f5..687cadb879 100644
--- a/java/res/xml-sw600dp/rows_phone.xml
+++ b/java/res/xml-sw600dp/rows_phone.xml
@@ -104,8 +104,7 @@
         <Key
             latin:keyStyle="num9KeyStyle" />
         <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-        <Spacer
-            latin:keyWidth="0%p" />
+        <Spacer />
     </Row>
     <Row>
         <Key
@@ -123,10 +122,9 @@
         <Key
             latin:keyLabel="#"
             latin:keyStyle="numKeyStyle" />
-        <Spacer
-            latin:keyXPos="-11.00%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="-11.0%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/key_shortcut.xml b/java/res/xml-sw768dp/key_shortcut.xml
index 1e367a9d39..905270599f 100644
--- a/java/res/xml-sw768dp/key_shortcut.xml
+++ b/java/res/xml-sw768dp/key_shortcut.xml
@@ -26,9 +26,7 @@
             latin:shortcutKeyEnabled="true"
         >
             <Key
-                latin:keyStyle="shortcutKeyStyle"
-                latin:keyXPos="-8.047%p"
-                latin:keyWidth="fillRight" />
+                latin:keyStyle="shortcutKeyStyle" />
         </case>
     </switch>
 </merge>
diff --git a/java/res/xml-sw768dp/key_space.xml b/java/res/xml-sw768dp/key_space.xml
index f4d0480060..36326c4376 100644
--- a/java/res/xml-sw768dp/key_space.xml
+++ b/java/res/xml-sw768dp/key_space.xml
@@ -21,9 +21,6 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <Spacer
-        latin:keyWidth="0dp"
-        latin:keyXPos="31.250%p" />
     <switch>
         <case
             latin:languageCode="fa"
diff --git a/java/res/xml-sw768dp/row_dvorak4.xml b/java/res/xml-sw768dp/row_dvorak4.xml
index f95661feb0..251b4f5360 100644
--- a/java/res/xml-sw768dp/row_dvorak4.xml
+++ b/java/res/xml-sw768dp/row_dvorak4.xml
@@ -26,18 +26,19 @@
     >
         <include
             latin:keyboardLayout="@xml/key_settings" />
-        <Spacer
-            latin:keyXPos="15.157%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="15.157%p"
             latin:keyboardLayout="@xml/keys_f1f2" />
         <include
+            latin:keyXPos="31.250%p"
             latin:keyboardLayout="@xml/key_space" />
         <include
             latin:keyboardLayout="@xml/key_question_exclamation" />
         <include
             latin:keyboardLayout="@xml/key_dash" />
         <include
+            latin:keyXPos="-8.047%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/row_hebrew4.xml b/java/res/xml-sw768dp/row_hebrew4.xml
index e95d5fb71b..8ec7ea7b43 100644
--- a/java/res/xml-sw768dp/row_hebrew4.xml
+++ b/java/res/xml-sw768dp/row_hebrew4.xml
@@ -26,16 +26,16 @@
     >
         <include
             latin:keyboardLayout="@xml/key_settings" />
-        <Spacer
-            latin:keyXPos="15.157%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="15.157%p"
             latin:keyboardLayout="@xml/keys_f1f2" />
         <include
             latin:keyboardLayout="@xml/key_space" />
         <include
             latin:keyboardLayout="@xml/keys_comma_period" />
         <include
+            latin:keyXPos="-8.047%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/row_qwerty4.xml b/java/res/xml-sw768dp/row_qwerty4.xml
index b902d03ea2..0cf964f502 100644
--- a/java/res/xml-sw768dp/row_qwerty4.xml
+++ b/java/res/xml-sw768dp/row_qwerty4.xml
@@ -26,18 +26,19 @@
     >
         <include
             latin:keyboardLayout="@xml/key_settings" />
-        <Spacer
-            latin:keyXPos="15.157%p"
-            latin:keyWidth="0%p" />
         <include
+            latin:keyXPos="15.157%p"
             latin:keyboardLayout="@xml/keys_f1f2" />
         <include
+            latin:keyXPos="31.250%p"
             latin:keyboardLayout="@xml/key_space" />
         <include
             latin:keyboardLayout="@xml/key_apostrophe" />
         <include
             latin:keyboardLayout="@xml/key_dash" />
         <include
+            latin:keyXPos="-8.047%p"
+            latin:keyWidth="fillRight"
             latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/row_symbols4.xml b/java/res/xml-sw768dp/row_symbols4.xml
index 29845aae03..167fc5e1d7 100644
--- a/java/res/xml-sw768dp/row_symbols4.xml
+++ b/java/res/xml-sw768dp/row_symbols4.xml
@@ -32,21 +32,16 @@
         <Key
             latin:keyLabel="\@" />
         <include
+            latin:keyXPos="31.250%p"
             latin:keyboardLayout="@xml/key_space" />
         <Key
             latin:keyLabel="&quot;"
             latin:moreKeys="!text/more_keys_for_tablet_double_quote" />
         <Key
             latin:keyLabel="_" />
-        <switch>
-            <case
-                latin:shortcutKeyEnabled="true"
-            >
-                <Key
-                    latin:keyStyle="shortcutKeyStyle"
-                    latin:keyXPos="-8.047%p"
-                    latin:keyWidth="fillRight" />
-            </case>
-        </switch>
+        <include
+            latin:keyXPos="-8.047%p"
+            latin:keyWidth="fillRight"
+            latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/row_symbols_shift4.xml b/java/res/xml-sw768dp/row_symbols_shift4.xml
index 6828fdb78d..683ec439f3 100644
--- a/java/res/xml-sw768dp/row_symbols_shift4.xml
+++ b/java/res/xml-sw768dp/row_symbols_shift4.xml
@@ -27,16 +27,11 @@
         <include
             latin:keyboardLayout="@xml/key_settings" />
         <include
+            latin:keyXPos="31.250%p"
             latin:keyboardLayout="@xml/key_space" />
-        <switch>
-            <case
-                latin:shortcutKeyEnabled="true"
-            >
-                <Key
-                    latin:keyStyle="shortcutKeyStyle"
-                    latin:keyXPos="-8.047%p"
-                    latin:keyWidth="fillRight" />
-            </case>
-        </switch>
+        <include
+            latin:keyXPos="-8.047%p"
+            latin:keyWidth="fillRight"
+            latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/rows_colemak.xml b/java/res/xml-sw768dp/rows_colemak.xml
index e00448032e..01ebead3e1 100644
--- a/java/res/xml-sw768dp/rows_colemak.xml
+++ b/java/res/xml-sw768dp/rows_colemak.xml
@@ -34,7 +34,7 @@
             latin:keyboardLayout="@xml/rowkeys_colemak1"
             latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
         <include
-            latin:keyboardLayout="@xml/key_colemak_semicolon" />
+            latin:keyboardLayout="@xml/key_colemak_colon" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyWidth="fillBoth" />
diff --git a/java/res/xml-sw768dp/rows_number_normal.xml b/java/res/xml-sw768dp/rows_number_normal.xml
index 0d75a37d2a..42697cec1e 100644
--- a/java/res/xml-sw768dp/rows_number_normal.xml
+++ b/java/res/xml-sw768dp/rows_number_normal.xml
@@ -137,8 +137,7 @@
             latin:keyLabel="9"
             latin:keyStyle="numKeyStyle" />
         <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-        <Spacer
-            latin:keyWidth="0%p" />
+        <Spacer />
     </Row>
     <Row>
         <include
@@ -157,20 +156,9 @@
         <Key
             latin:keyLabel="#"
             latin:keyStyle="numKeyStyle" />
-        <switch>
-            <case
-                latin:shortcutKeyEnabled="true"
-                    >
-                <Key
-                    latin:keyStyle="shortcutKeyStyle"
-                    latin:keyXPos="-8.047%p"
-                    latin:keyWidth="fillRight" />
-            </case>
-            <default>
-                <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-                <Spacer
-                    latin:keyWidth="0%p" />
-            </default>
-        </switch>
+        <include
+            latin:keyXPos="-8.047%p"
+            latin:keyWidth="fillRight"
+            latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/rows_number_password.xml b/java/res/xml-sw768dp/rows_number_password.xml
index 8acfac6ff4..cfa2214911 100644
--- a/java/res/xml-sw768dp/rows_number_password.xml
+++ b/java/res/xml-sw768dp/rows_number_password.xml
@@ -64,16 +64,16 @@
         <Key
             latin:keyStyle="num9KeyStyle" />
         <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-        <Spacer
-            latin:keyWidth="0%p" />
+        <Spacer />
     </Row>
     <Row>
-        <Spacer
-            latin:keyXPos="32.076%p" />
+        <include
+            latin:keyboardLayout="@xml/key_settings"
+            latin:keyWidth="8.047%p" />
         <Key
+            latin:keyXPos="45.326%p"
             latin:keyStyle="num0KeyStyle" />
         <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-        <Spacer
-            latin:keyWidth="0%p" />
+        <Spacer />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/rows_phone.xml b/java/res/xml-sw768dp/rows_phone.xml
index 216fbedfb5..b3b3521a9c 100644
--- a/java/res/xml-sw768dp/rows_phone.xml
+++ b/java/res/xml-sw768dp/rows_phone.xml
@@ -106,8 +106,7 @@
         <Key
             latin:keyStyle="num9KeyStyle" />
         <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-        <Spacer
-            latin:keyWidth="0%p" />
+        <Spacer />
     </Row>
     <Row>
         <include
@@ -125,20 +124,9 @@
         <Key
             latin:keyLabel="#"
             latin:keyStyle="numKeyStyle" />
-        <switch>
-            <case
-                latin:shortcutKeyEnabled="true"
-            >
-                <Key
-                    latin:keyStyle="shortcutKeyStyle"
-                    latin:keyXPos="-8.047%p"
-                    latin:keyWidth="fillRight" />
-            </case>
-            <default>
-                <!-- Note: This Spacer prevents the above key from being marked as a right edge key. -->
-                <Spacer
-                    latin:keyWidth="0%p" />
-            </default>
-        </switch>
+        <include
+            latin:keyXPos="-8.047%p"
+            latin:keyWidth="fillRight"
+            latin:keyboardLayout="@xml/key_shortcut" />
     </Row>
 </merge>
diff --git a/java/res/xml-sw768dp/rows_thai.xml b/java/res/xml-sw768dp/rows_thai.xml
index cc77f8bc57..c7720c9c54 100644
--- a/java/res/xml-sw768dp/rows_thai.xml
+++ b/java/res/xml-sw768dp/rows_thai.xml
@@ -28,7 +28,7 @@
     >
         <include
             latin:keyboardLayout="@xml/rowkeys_thai1"
-            latin:keyXPos="11.508%p"/>
+            latin:keyXPos="11.508%p" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyWidth="fillBoth"/>
diff --git a/java/res/xml/key_colemak_semicolon.xml b/java/res/xml/key_colemak_colon.xml
similarity index 100%
rename from java/res/xml/key_colemak_semicolon.xml
rename to java/res/xml/key_colemak_colon.xml
diff --git a/java/res/xml/key_space.xml b/java/res/xml/key_space.xml
index c47407dc7c..02ee42fd27 100644
--- a/java/res/xml/key_space.xml
+++ b/java/res/xml/key_space.xml
@@ -21,9 +21,6 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <Spacer
-        latin:keyWidth="0dp"
-        latin:keyXPos="25%p" />
     <switch>
         <case
             latin:languageCode="fa"
diff --git a/java/res/xml/row_dvorak4.xml b/java/res/xml/row_dvorak4.xml
index 7b9a59cde6..f81fb007bf 100644
--- a/java/res/xml/row_dvorak4.xml
+++ b/java/res/xml/row_dvorak4.xml
@@ -78,6 +78,7 @@
             </default>
         </switch>
         <include
+            latin:keyXPos="25%p"
             latin:keyboardLayout="@xml/key_space" />
         <Key
             latin:keyLabel="z"
diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml
index 361a2c3ef6..6780349609 100644
--- a/java/res/xml/row_qwerty4.xml
+++ b/java/res/xml/row_qwerty4.xml
@@ -30,6 +30,7 @@
         <include
             latin:keyboardLayout="@xml/key_f1" />
         <include
+            latin:keyXPos="25%p"
             latin:keyboardLayout="@xml/key_space" />
         <Key
             latin:keyStyle="punctuationKeyStyle" />
diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml
index a92d55a76b..150ad486c3 100644
--- a/java/res/xml/row_symbols4.xml
+++ b/java/res/xml/row_symbols4.xml
@@ -44,6 +44,7 @@
             </default>
         </switch>
         <include
+            latin:keyXPos="25%p"
             latin:keyboardLayout="@xml/key_space" />
         <Key
             latin:keyStyle="punctuationKeyStyle" />
diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml
index 6608b77959..1bfb5ecd18 100644
--- a/java/res/xml/row_symbols_shift4.xml
+++ b/java/res/xml/row_symbols_shift4.xml
@@ -36,6 +36,7 @@
             latin:keyLabel="&#x201E;"
             latin:backgroundType="functional" />
         <include
+            latin:keyXPos="25%p"
             latin:keyboardLayout="@xml/key_space" />
         <!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
         <Key
diff --git a/java/res/xml/rows_colemak.xml b/java/res/xml/rows_colemak.xml
index a1599650da..d74c2c9ec0 100644
--- a/java/res/xml/rows_colemak.xml
+++ b/java/res/xml/rows_colemak.xml
@@ -29,7 +29,7 @@
         <include
             latin:keyboardLayout="@xml/rowkeys_colemak1" />
         <include
-            latin:keyboardLayout="@xml/key_colemak_semicolon" />
+            latin:keyboardLayout="@xml/key_colemak_colon" />
     </Row>
     <Row
         latin:keyWidth="10%p"
diff --git a/java/res/xml/rows_number.xml b/java/res/xml/rows_number.xml
index 8da83be80b..96564e8ff9 100644
--- a/java/res/xml/rows_number.xml
+++ b/java/res/xml/rows_number.xml
@@ -20,7 +20,6 @@
 
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyWidth="26.67%p"
 >
     <include
         latin:keyboardLayout="@xml/key_styles_common" />
-- 
GitLab