Merge "Remove web mode and add webInput boolean (DO NOT MERGE)" into honeycomb-mr2
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index f596a37..8a0b845 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -70,7 +70,7 @@
     <string name="description_shift_off" msgid="8553265474523069034">"Majúscules desactivades"</string>
     <string name="voice_warning_title" msgid="4419354150908395008">"Entrada de veu"</string>
     <string name="voice_warning_locale_not_supported" msgid="637923019716442333">"Actualment, l\'entrada de veu no és compatible amb el vostre idioma, però funciona en anglès."</string>
-    <string name="voice_warning_may_not_understand" msgid="5596289095878251072">"L\'entrada de veu utilitza el reconeixement de veu de Google. S\'hi aplica la "<a href="http://m.google.com/privacy">"Política de privadesa de Google Mobile"</a>"."</string>
+    <string name="voice_warning_may_not_understand" msgid="5596289095878251072">"L\'entrada de veu utilitza el reconeixement de veu de Google. S\'hi aplica la "<a href="http://m.google.com/privacy">"Política de privadesa de Google per a mòbils"</a>"."</string>
     <string name="voice_warning_how_to_turn_off" msgid="3190378129944934856">"Per desactivar l\'entada de veu, vés a la configuració del mètode d\'entrada."</string>
     <string name="voice_hint_dialog_message" msgid="1420686286820661548">"Per utilitzar l\'entrada de veu, prem el botó del micròfon."</string>
     <string name="voice_listening" msgid="467518160751321844">"Parleu ara"</string>
diff --git a/java/res/xml-sw600dp/kbd_number.xml b/java/res/xml-sw600dp/kbd_number.xml
index c8641ed..4af621d 100644
--- a/java/res/xml-sw600dp/kbd_number.xml
+++ b/java/res/xml-sw600dp/kbd_number.xml
@@ -23,7 +23,7 @@
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="26.67%p"
+    latin:keyWidth="13.7%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -37,116 +37,182 @@
         <case
             latin:passwordInput="true"
         >
-            <Row
-                latin:rowEdgeFlags="top"
-            >
+            <!-- This row is intentionally not marked as a top row -->
+            <Row>
+                <Spacer
+                    latin:horizontalGap="29.5%p" />
                 <Key
-                    latin:keyStyle="num1KeyStyle"
-                    latin:keyEdgeFlags="left" />
+                    latin:keyStyle="num1KeyStyle" />
                 <Key
                     latin:keyStyle="num2KeyStyle" />
                 <Key
                     latin:keyStyle="num3KeyStyle" />
                 <Spacer
-                    latin:horizontalGap="20%p" />
+                    latin:horizontalGap="20.3%p" />
+                <Key
+                    latin:keyStyle="deleteKeyStyle"
+                    latin:keyWidth="9.2%p"
+                    latin:keyEdgeFlags="right" />
             </Row>
             <Row>
+                <Spacer
+                    latin:horizontalGap="29.5%p" />
                 <Key
-                    latin:keyStyle="num4KeyStyle"
-                    latin:keyEdgeFlags="left" />
+                    latin:keyStyle="num4KeyStyle" />
                 <Key
                     latin:keyStyle="num5KeyStyle" />
                 <Key
                     latin:keyStyle="num6KeyStyle" />
                 <Spacer
-                    latin:horizontalGap="20%p" />
+                    latin:horizontalGap="14.8%p" />
+                <Key
+                    latin:keyStyle="returnKeyStyle"
+                    latin:keyWidth="14.6%p"
+                    latin:keyEdgeFlags="right" />
             </Row>
             <Row>
+                <Spacer
+                    latin:horizontalGap="29.5%p" />
                 <Key
-                    latin:keyStyle="num7KeyStyle"
-                    latin:keyEdgeFlags="left" />
+                    latin:keyStyle="num7KeyStyle" />
                 <Key
                     latin:keyStyle="num8KeyStyle" />
                 <Key
                     latin:keyStyle="num9KeyStyle" />
-                <Key
-                    latin:keyStyle="deleteKeyStyle"
-                    latin:keyWidth="20%p"
-                    latin:keyEdgeFlags="right" />
+                <!-- There is an empty area below the "Enter" key and right of the "9" key. To
+                     ignore the touch event on the area, "9" is intentionally not marked as a right
+                     edge key. -->
             </Row>
-            <Row
-                latin:rowEdgeFlags="bottom"
-            >
+            <!-- This row is intentionally not marked as a bottom row -->
+            <Row>
                 <Spacer
-                    latin:horizontalGap="26.67%p" />
+                    latin:horizontalGap="43.2%p" />
                 <Key
                     latin:keyStyle="num0KeyStyle" />
                 <Spacer
-                    latin:horizontalGap="26.67%p" />
-                <Key
-                    latin:keyStyle="returnKeyStyle"
-                    latin:keyWidth="20%p"
-                    latin:keyEdgeFlags="right" />
+                    latin:horizontalGap="30.2%p" />
+                <include
+                    latin:keyboardLayout="@xml/kbd_settings" />
             </Row>
         </case>
+        <!-- latin:passwordInput="false" -->
         <default>
-            <Row
-                latin:rowEdgeFlags="top"
-            >
+            <!-- This row is intentionally not marked as a top row -->
+            <Row>
+                <Spacer
+                    latin:horizontalGap="10.0%p" />
                 <Key
-                    latin:keyLabel="1"
-                    latin:keyEdgeFlags="left" />
+                    latin:code="45"
+                    latin:keyLabel="-"
+                    latin:keyWidth="9.1%p" />
+                <Key
+                    latin:code="43"
+                    latin:keyLabel="+"
+                    latin:keyWidth="9.1%p" />
+                <Key
+                    latin:code="44"
+                    latin:keyLabel="."
+                    latin:keyWidth="9.1%p" />
+                <Spacer
+                    latin:horizontalGap="4.5%p" />
+                <Key
+                    latin:keyLabel="1" />
                 <Key
                     latin:keyLabel="2" />
                 <Key
                     latin:keyLabel="3" />
+                <Spacer
+                    latin:horizontalGap="8.1%p" />
                 <Key
-                    latin:keyLabel="-"
-                    latin:keyStyle="functionalKeyStyle"
-                    latin:keyWidth="20%p"
+                    latin:keyStyle="deleteKeyStyle"
+                    latin:keyWidth="9.2%p"
                     latin:keyEdgeFlags="right" />
             </Row>
             <Row>
+                <Spacer
+                    latin:horizontalGap="10.0%p" />
+                <Key
+                    latin:code="44"
+                    latin:keyLabel="*"
+                    latin:keyWidth="9.1%p" />
+                <Key
+                    latin:code="46"
+                    latin:keyLabel="/"
+                    latin:keyWidth="9.1%p" />
+                <Key
+                    latin:code="59"
+                    latin:keyLabel=","
+                    latin:keyWidth="9.1%p" />
+                <Spacer
+                    latin:horizontalGap="4.5%p" />
                 <Key
                     latin:keyLabel="4"
-                    latin:keyEdgeFlags="left" />
+                    latin:keyWidth="13.7%p" />
                 <Key
                     latin:keyLabel="5" />
                 <Key
                     latin:keyLabel="6" />
+                <Spacer
+                    latin:horizontalGap="2.6%p" />
                 <Key
-                    latin:keyLabel=","
-                    latin:keyStyle="functionalKeyStyle"
-                    latin:keyWidth="20%p"
+                    latin:keyStyle="returnKeyStyle"
+                    latin:keyWidth="14.6%p"
                     latin:keyEdgeFlags="right" />
             </Row>
             <Row>
                 <Key
-                    latin:keyLabel="7"
+                    latin:keyStyle="moreKeyStyle"
+                    latin:keyWidth="10.0%p"
                     latin:keyEdgeFlags="left" />
+                <!-- There is an empty area below the "More" key and left of the "(" key. To
+                     ignore the touch event on the area, "(" is intentionally not marked as a left
+                     edge key. -->
+                <Key
+                    latin:code="40"
+                    latin:keyLabel="("
+                    latin:keyWidth="9.1%p" />
+                <Key
+                    latin:code="41"
+                    latin:keyLabel=")"
+                    latin:keyWidth="9.1%p" />
+                <Key
+                    latin:code="78"
+                    latin:keyLabel="="
+                    latin:keyWidth="9.1%p" />
+                <Spacer
+                    latin:horizontalGap="4.5%p" />
+                <Key
+                    latin:keyLabel="7" />
                 <Key
                     latin:keyLabel="8" />
                 <Key
                     latin:keyLabel="9" />
-                <Key
-                    latin:keyStyle="deleteKeyStyle"
-                    latin:keyWidth="20%p"
-                    latin:keyEdgeFlags="right" />
+                <!-- There is an empty area below the "Enter" key and right of the "9" key. To
+                     ignore the touch event on the area, "9" is intentionally not marked as a right
+                     edge key. -->
             </Row>
-            <Row
-                latin:rowEdgeFlags="bottom"
-            >
+            <!-- This row is intentionally not marked as a bottom row -->
+            <Row>
+                <Spacer
+                    latin:horizontalGap="10.0%p" />
+                <!-- There is an empty area below the "More" key and left of the "space" key. To
+                     ignore the touch event on the area, "space" is intentionally not marked as a
+                     left edge key. -->
                 <Key
-                    latin:keyStyle="numSpaceKeyStyle"
-                    latin:keyEdgeFlags="left" />
+                    latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+                    latin:keyWidth="27.2%p" />
+                <Spacer
+                    latin:horizontalGap="4.5%p" />
+                <Key
+                    latin:keyLabel="*" />
                 <Key
                     latin:keyLabel="0" />
                 <Key
-                    latin:keyLabel="." />
-                <Key
-                    latin:keyStyle="returnKeyStyle"
-                    latin:keyWidth="20%p"
-                    latin:keyEdgeFlags="right" />
+                    latin:keyLabel="#" />
+                <Spacer
+                    latin:horizontalGap="4.3%p" />
+                <include
+                    latin:keyboardLayout="@xml/kbd_settings" />
             </Row>
         </default>
     </switch>
diff --git a/java/res/xml-sw600dp/kbd_phone.xml b/java/res/xml-sw600dp/kbd_phone.xml
index 8dd1ab7..f77fc7e 100644
--- a/java/res/xml-sw600dp/kbd_phone.xml
+++ b/java/res/xml-sw600dp/kbd_phone.xml
@@ -23,7 +23,7 @@
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="26.67%p"
+    latin:keyWidth="13.7%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -33,62 +33,110 @@
         latin:keyboardLayout="@xml/kbd_key_styles" />
     <include
         latin:keyboardLayout="@xml/kbd_numkey_styles" />
-    <Row
-        latin:rowEdgeFlags="top"
-    >
+    <!-- This row is intentionally not marked as a top row -->
+    <Row>
+        <Spacer
+            latin:horizontalGap="14.5%p" />
         <Key
-            latin:keyStyle="num1KeyStyle"
-            latin:keyEdgeFlags="left" />
+            latin:code="45"
+            latin:keyLabel=" - "
+            latin:keyWidth="9.1%p" />
+        <Key
+            latin:code="43"
+            latin:keyLabel=" + "
+            latin:keyWidth="9.1%p" />
+        <Spacer
+            latin:horizontalGap="9.1%p" />
+        <Key
+            latin:keyStyle="num1KeyStyle" />
         <Key
             latin:keyStyle="num2KeyStyle" />
         <Key
             latin:keyStyle="num3KeyStyle" />
+        <Spacer
+            latin:horizontalGap="8.1%p" />
         <Key
-            latin:keyLabel="-"
-            latin:keyStyle="functionalKeyStyle"
-            latin:keyWidth="20%p"
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="9.2%p"
             latin:keyEdgeFlags="right" />
     </Row>
     <Row>
+        <Spacer
+            latin:horizontalGap="14.5%p" />
         <Key
-            latin:keyStyle="num4KeyStyle"
-            latin:keyEdgeFlags="left" />
+            latin:code="44"
+            latin:keyLabel=" , "
+            latin:keyWidth="9.1%p" />
+        <Key
+            latin:code="46"
+            latin:keyLabel=" . "
+            latin:keyWidth="9.1%p" />
+        <Spacer
+            latin:horizontalGap="9.1%p" />
+        <Key
+            latin:keyStyle="num4KeyStyle" />
         <Key
             latin:keyStyle="num5KeyStyle" />
         <Key
             latin:keyStyle="num6KeyStyle" />
+        <Spacer
+            latin:horizontalGap="2.6%p" />
         <Key
-            latin:keyLabel="."
-            latin:keyStyle="functionalKeyStyle"
-            latin:keyWidth="20%p"
+            latin:keyStyle="returnKeyStyle"
+            latin:keyWidth="14.6%p"
             latin:keyEdgeFlags="right" />
     </Row>
     <Row>
         <Key
-            latin:keyStyle="num7KeyStyle"
+            latin:keyStyle="moreKeyStyle"
+            latin:keyWidth="10.0%p"
             latin:keyEdgeFlags="left" />
+        <Spacer
+            latin:horizontalGap="4.5%p" />
+        <!-- There is an empty area below the "More" key and left of the "(" key.  To ignore
+             the touch event on the area, "(" is intentionally not marked as a left edge key. -->
+        <Key
+            latin:code="40"
+            latin:keyLabel=" ( "
+            latin:keyWidth="9.1%p" />
+        <Key
+            latin:code="41"
+            latin:keyLabel=" ) "
+            latin:keyWidth="9.1%p" />
+        <Spacer
+            latin:horizontalGap="9.1%p" />
+        <Key
+            latin:keyStyle="num7KeyStyle" />
         <Key
             latin:keyStyle="num8KeyStyle" />
         <Key
             latin:keyStyle="num9KeyStyle" />
+        <!-- There is an empty area below the "Enter" key and right of the "9" key.  To ignore
+             the touch event on the area, "9" is intentionally not marked as a right edge key. -->
+        </Row>
+    <!-- This row is intentionally not marked as a bottom row -->
+    <Row>
+        <Spacer
+            latin:horizontalGap="14.5%p" />
+        <!-- There is an empty area below the "More" key and left of the "space" key.  To ignore
+             the touch event on the area, "space" is intentionally not marked as a left edge key. -->
         <Key
-            latin:keyStyle="deleteKeyStyle"
-            latin:keyWidth="20%p"
-            latin:keyEdgeFlags="right" />
-    </Row>
-    <Row
-        latin:rowEdgeFlags="bottom"
-    >
+            latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+            latin:keyWidth="18.2%p" />
+        <Spacer
+            latin:horizontalGap="9.1%p" />
         <Key
-            latin:keyStyle="numAltKeyStyle"
-            latin:keyEdgeFlags="left" />
+            latin:keyStyle="numStarKeyStyle"
+            latin:keyWidth="13.7%p" />
         <Key
-            latin:keyStyle="num0KeyStyle" />
+            latin:keyStyle="num0KeyStyle"
+            latin:keyWidth="13.7%p" />>
         <Key
-            latin:keyStyle="numSpaceKeyStyle" />
-        <Key
-            latin:keyStyle="returnKeyStyle"
-            latin:keyWidth="20%p"
-            latin:keyEdgeFlags="right" />
+            latin:keyStyle="numPoundKeyStyle"
+            latin:keyWidth="13.7%p" />
+        <Spacer
+            latin:horizontalGap="4.3%p" />
+        <include
+            latin:keyboardLayout="@xml/kbd_settings" />
     </Row>
 </Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_phone_symbols.xml b/java/res/xml-sw600dp/kbd_phone_symbols.xml
index d355c8e..63ef412 100644
--- a/java/res/xml-sw600dp/kbd_phone_symbols.xml
+++ b/java/res/xml-sw600dp/kbd_phone_symbols.xml
@@ -23,7 +23,7 @@
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="26.67%p"
+    latin:keyWidth="13.7%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -33,68 +33,117 @@
         latin:keyboardLayout="@xml/kbd_key_styles" />
     <include
         latin:keyboardLayout="@xml/kbd_numkey_styles" />
-    <Row
-        latin:rowEdgeFlags="top"
-    >
-        <Key
-            latin:keyLabel="("
-            latin:keyEdgeFlags="left" />
-        <Key
-            latin:keyLabel="/" />
-        <Key
-            latin:keyLabel=")" />
-        <Key
-            latin:keyLabel="-"
-            latin:keyStyle="functionalKeyStyle"
-            latin:keyWidth="20%p"
-            latin:keyEdgeFlags="right" />
-    </Row>
+    <!-- This row is intentionally not marked as a top row -->
     <Row>
+        <Spacer
+            latin:horizontalGap="10.0%p" />
         <Key
-            latin:keyLabel="N"
-            latin:keyEdgeFlags="left" />
-        <!-- Pause is a comma. Check PhoneNumberUtils.java to see if this
-            has changed. -->
+            latin:code="45"
+            latin:keyLabel=" - "
+            latin:keyWidth="9.1%p" />
+        <Key
+            latin:code="43"
+            latin:keyLabel=" + "
+            latin:keyWidth="9.1%p" />
         <Key
             latin:code="44"
-            latin:keyLabel="Pause" />
+            latin:keyLabel="@string/label_pause_key"
+            latin:keyWidth="9.1%p" />
+        <Spacer
+            latin:horizontalGap="4.5%p" />
         <Key
-            latin:keyLabel="," />
+            latin:keyStyle="num1KeyStyle" />
         <Key
-            latin:keyLabel="."
-            latin:keyStyle="functionalKeyStyle"
-            latin:keyWidth="20%p"
+            latin:keyStyle="num2KeyStyle" />
+        <Key
+            latin:keyStyle="num3KeyStyle" />
+        <Spacer
+            latin:horizontalGap="8.1%p" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="9.2%p"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <Row>
+        <Spacer
+            latin:horizontalGap="10.0%p" />
+        <Key
+            latin:code="44"
+            latin:keyLabel=" , "
+            latin:keyWidth="9.1%p" />
+        <Key
+            latin:code="46"
+            latin:keyLabel=" . "
+            latin:keyWidth="9.1%p" />
+        <Key
+            latin:code="59"
+            latin:keyLabel="@string/label_wait_key"
+            latin:keyWidth="9.1%p" />
+        <Spacer
+            latin:horizontalGap="4.5%p" />
+        <Key
+            latin:keyStyle="num4KeyStyle" />
+        <Key
+            latin:keyStyle="num5KeyStyle" />
+        <Key
+            latin:keyStyle="num6KeyStyle" />
+        <Spacer
+            latin:horizontalGap="2.6%p" />
+        <Key
+            latin:keyStyle="returnKeyStyle"
+            latin:keyWidth="14.6%p"
             latin:keyEdgeFlags="right" />
     </Row>
     <Row>
         <Key
-            latin:keyStyle="numStarKeyStyle"
+            latin:keyStyle="moreKeyStyle"
+            latin:keyWidth="10.0%p"
             latin:keyEdgeFlags="left" />
-        <!-- Wait is a semicolon. -->
+        <!-- There is an empty area below the "More" key and left of the "(" key.  To ignore
+             the touch event on the area, "(" is intentionally not marked as a left edge key. -->
         <Key
-            latin:code="59"
-            latin:keyLabel="Wait" />
+            latin:code="40"
+            latin:keyLabel=" ( "
+            latin:keyWidth="9.1%p" />
+        <Key
+            latin:code="41"
+            latin:keyLabel=" ) "
+            latin:keyWidth="9.1%p" />
+        <Key
+            latin:code="78"
+            latin:keyLabel=" N "
+            latin:keyWidth="9.1%p" />
+        <Spacer
+            latin:horizontalGap="4.5%p" />
+        <Key
+            latin:keyStyle="num7KeyStyle" />
+        <Key
+            latin:keyStyle="num8KeyStyle" />
+        <Key
+            latin:keyStyle="num9KeyStyle" />
+        <!-- There is an empty area below the "Enter" key and right of the "9" key.  To ignore
+             the touch event on the area, "9" is intentionally not marked as a right edge key. -->
+    </Row>
+    <!-- This row is intentionally not marked as a bottom row -->
+    <Row>
+        <Spacer
+            latin:horizontalGap="10.0%p" />
+        <!-- There is an empty area below the "More" key and left of the "space" key.  To ignore
+             the touch event on the area, "space" is intentionally not marked as a left edge key. -->
+        <Key
+            latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+            latin:keyWidth="27.2%p" />
+        <Spacer
+            latin:horizontalGap="4.5%p" />
+        <Key
+            latin:keyStyle="numStarKeyStyle" />
+        <Key
+            latin:keyStyle="num0KeyStyle" />
         <Key
             latin:keyStyle="numPoundKeyStyle" />
-        <Key
-            latin:keyStyle="deleteKeyStyle"
-            latin:keyWidth="20%p"
-            latin:keyEdgeFlags="right" />
-    </Row>
-    <Row
-        latin:rowEdgeFlags="bottom"
-    >
-        <Key
-            latin:code="@integer/key_switch_alpha_symbol"
-            latin:keyLabel="@string/label_to_numeric_key"
-            latin:keyEdgeFlags="left" />
-        <Key
-            latin:keyLabel="+" />
-        <Key
-            latin:keyStyle="numSpaceKeyStyle" />
-        <Key
-            latin:keyStyle="returnKeyStyle"
-            latin:keyWidth="20%p"
-            latin:keyEdgeFlags="right" />
+        <Spacer
+            latin:horizontalGap="4.3%p" />
+        <include
+            latin:keyboardLayout="@xml/kbd_settings" />
     </Row>
 </Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_settings.xml b/java/res/xml-sw600dp/kbd_settings.xml
index 14f7377..4f679ca 100644
--- a/java/res/xml-sw600dp/kbd_settings.xml
+++ b/java/res/xml-sw600dp/kbd_settings.xml
@@ -32,16 +32,17 @@
                 >
                     <Key
                         latin:keyStyle="webTabKeyStyle"
-                        latin:keyWidth="6.5%p" />
+                        latin:keyWidth="6.4%p" />
                     <Key
                         latin:keyStyle="micKeyStyle"
-                        latin:keyWidth="6.6%p" />
+                        latin:keyWidth="6.5%p" />
                 </case>
                 <default>
                     <Spacer
                         latin:horizontalGap="4.15%p" />
                     <Key
-                        latin:keyStyle="webTabKeyStyle" />
+                        latin:keyStyle="webTabKeyStyle"
+                        latin:keyWidth="8.9%p" />
                 </default>
             </switch>
         </case>
@@ -53,10 +54,10 @@
                 >
                     <Key
                         latin:keyStyle="settingsKeyStyle"
-                        latin:keyWidth="6.5%p" />
+                        latin:keyWidth="6.4%p" />
                     <Key
                         latin:keyStyle="micKeyStyle"
-                        latin:keyWidth="6.6%p" />
+                        latin:keyWidth="6.5%p" />
                 </case>
                 <case
                     latin:hasSettingsKey="true"
@@ -65,7 +66,8 @@
                     <Spacer
                         latin:horizontalGap="4.15%p" />
                     <Key
-                        latin:keyStyle="settingsKeyStyle" />
+                        latin:keyStyle="settingsKeyStyle"
+                        latin:keyWidth="8.9%p" />
                 </case>
                 <case
                     latin:hasSettingsKey="false"
@@ -74,7 +76,8 @@
                     <Spacer
                         latin:horizontalGap="4.15%p" />
                     <Key
-                        latin:keyStyle="micKeyStyle" />
+                        latin:keyStyle="micKeyStyle"
+                        latin:keyWidth="8.9%p" />
                 </case>
                 <default>
                     <Spacer
diff --git a/java/res/xml-sw768dp/kbd_phone.xml b/java/res/xml-sw768dp/kbd_phone.xml
index 9122176..49e105d 100644
--- a/java/res/xml-sw768dp/kbd_phone.xml
+++ b/java/res/xml-sw768dp/kbd_phone.xml
@@ -100,7 +100,7 @@
     <Row>
         <!-- To match one character label size with "More", I placed spaces around the char '('
              and ')'. -->
-        <!-- There is an empty area bellow the "More" key and left of the "(" key.  To ignore
+        <!-- There is an empty area below the "More" key and left of the "(" key.  To ignore
              the touch event on the area, "(" is intentionally not marked as a left edge key. -->
         <Spacer
             latin:horizontalGap="20.427%p" />
@@ -120,12 +120,12 @@
             latin:keyStyle="num8KeyStyle" />
         <Key
             latin:keyStyle="num9KeyStyle" />
-        <!-- There is an empty area bellow the "Enter" key and right of the "9" key.  To ignore
+        <!-- There is an empty area below the "Enter" key and right of the "9" key.  To ignore
              the touch event on the area, "9" is intentionally not marked as a right edge key. -->
         </Row>
     <!-- This row is intentionally not marked as a bottom row -->
     <Row>
-        <!-- There is an empty area bellow the "More" key and left of the "space" key.  To ignore
+        <!-- There is an empty area below the "More" key and left of the "space" key.  To ignore
              the touch event on the area, "space" is intentionally not marked as a left edge key. -->
         <Spacer
             latin:horizontalGap="12.340%p" />
@@ -160,7 +160,7 @@
                     latin:keyWidth="8.042%p" />
             </case>
         </switch>
-        <!-- There is an empty area bellow the "Enter" key and right of the "#" key.  To ignore
+        <!-- There is an empty area below the "Enter" key and right of the "#" key.  To ignore
              the touch event on the area, "#" is intentionally not marked as a right edge key. -->
     </Row>
 </Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_phone_symbols.xml b/java/res/xml-sw768dp/kbd_phone_symbols.xml
index 055c148..f73fb5d 100644
--- a/java/res/xml-sw768dp/kbd_phone_symbols.xml
+++ b/java/res/xml-sw768dp/kbd_phone_symbols.xml
@@ -108,7 +108,7 @@
     <Row>
         <!-- To match one character label size with "More" and etc., I placed spaces around the
              char 'N', '(' and ')'. -->
-        <!-- There is an empty area bellow the "More" key and left of the "(" key.  To ignore
+        <!-- There is an empty area below the "More" key and left of the "(" key.  To ignore
              the touch event on the area, "(" is intentionally not marked as a left edge key. -->
         <Spacer
             latin:horizontalGap="16.406%p" />
@@ -132,12 +132,12 @@
             latin:keyStyle="num8KeyStyle" />
         <Key
             latin:keyStyle="num9KeyStyle" />
-        <!-- There is an empty area bellow the "Enter" key and right of the "9" key.  To ignore
+        <!-- There is an empty area below the "Enter" key and right of the "9" key.  To ignore
              the touch event on the area, "9" is intentionally not marked as a right edge key. -->
     </Row>
     <!-- This row is intentionally not marked as a bottom row -->
     <Row>
-        <!-- There is an empty area bellow the "More" key and left of the "space" key.  To ignore
+        <!-- There is an empty area below the "More" key and left of the "space" key.  To ignore
              the touch event on the area, "space" is intentionally not marked as a left edge key. -->
         <Spacer
             latin:horizontalGap="8.362%p" />
@@ -172,7 +172,7 @@
                     latin:keyWidth="8.042%p" />
             </case>
         </switch>
-        <!-- There is an empty area bellow the "Enter" key and right of the "#" key.  To ignore
+        <!-- There is an empty area below the "Enter" key and right of the "#" key.  To ignore
              the touch event on the area, "#" is intentionally not marked as a right edge key. -->
     </Row>
 </Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_qwerty_row4.xml b/java/res/xml-sw768dp/kbd_qwerty_row4.xml
index f36b61f..e5bc342 100644
--- a/java/res/xml-sw768dp/kbd_qwerty_row4.xml
+++ b/java/res/xml-sw768dp/kbd_qwerty_row4.xml
@@ -193,7 +193,7 @@
                     <default>
                         <Key
                             latin:keyLabel="!"
-                            latin:manualTemporaryUpperCaseCode="39"
+                            latin:manualTemporaryUpperCaseCode="34"
                             latin:keyHintIcon="@drawable/key_hint_quote_holo"
                             latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_quote_large_holo"
                             latin:popupCharacters="\'" />