diff --git a/java/res/xml-sw600dp/kbd_key_styles.xml b/java/res/xml-sw600dp/kbd_key_styles.xml
index dfc7409adfb9d20a34bf89c527f26e597db3cff0..d86a01dc101b9f89fc34e111b422ec92d43e83ed 100644
--- a/java/res/xml-sw600dp/kbd_key_styles.xml
+++ b/java/res/xml-sw600dp/kbd_key_styles.xml
@@ -21,10 +21,6 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <!-- Base key style for the functional key -->
-    <key-style
-        latin:styleName="functionalKeyStyle"
-        latin:backgroundType="functional" />
     <!-- Base key style for the key which may have settings key as popup key -->
     <switch>
         <case
@@ -32,14 +28,14 @@
         >
             <key-style
                 latin:styleName="f2PopupStyle"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </case>
         <default>
             <key-style
                 latin:styleName="f2PopupStyle"
                 latin:keyLabelOption="hasPopupHint"
                 latin:moreKeys="\@icon/3|\@integer/key_settings"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </default>
     </switch>
     <!-- Functional key styles -->
@@ -48,19 +44,19 @@
         latin:code="@integer/key_shift"
         latin:keyIcon="iconShiftKey"
         latin:keyIconShifted="iconShiftedShiftKey"
-        latin:parentStyle="functionalKeyStyle"
+        latin:backgroundType="functional"
         latin:isSticky="true" />
     <key-style
         latin:styleName="deleteKeyStyle"
         latin:code="@integer/key_delete"
         latin:keyIcon="iconDeleteKey"
-        latin:parentStyle="functionalKeyStyle"
+        latin:backgroundType="functional"
         latin:isRepeatable="true" />
     <key-style
         latin:styleName="returnKeyStyle"
         latin:code="@integer/key_return"
         latin:keyIcon="iconReturnKey"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="spaceKeyStyle"
         latin:code="@integer/key_space" />
@@ -85,33 +81,33 @@
         latin:code="@integer/key_settings"
         latin:keyIcon="iconSettingsKey"
         latin:keyIconPreview="iconPreviewSettingsKey"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="tabKeyStyle"
         latin:code="@integer/key_tab"
         latin:keyIcon="iconTabKey"
         latin:keyIconPreview="iconPreviewTabKey"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="toSymbolKeyStyle"
         latin:code="@integer/key_switch_alpha_symbol"
         latin:keyLabel="@string/label_to_symbol_key"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="@integer/key_switch_alpha_symbol"
         latin:keyLabel="@string/label_to_alpha_key"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="toMoreSymbolKeyStyle"
         latin:code="@integer/key_shift"
         latin:keyLabel="@string/label_to_more_symbol_for_tablet_key"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="@integer/key_shift"
         latin:keyLabel="@string/label_to_symbol_key"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="comKeyStyle"
         latin:keyLabel="@string/keylabel_for_popular_domain"
diff --git a/java/res/xml-sw768dp/kbd_key_styles.xml b/java/res/xml-sw768dp/kbd_key_styles.xml
index f7dcc2026ffffe1aaf7197b02239f624c87295b8..4deb26303815a598799d80f6148b6c374218a95e 100644
--- a/java/res/xml-sw768dp/kbd_key_styles.xml
+++ b/java/res/xml-sw768dp/kbd_key_styles.xml
@@ -21,28 +21,24 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <!-- Functional key styles -->
-    <key-style
-        latin:styleName="functionalKeyStyle"
-        latin:backgroundType="functional" />
     <key-style
         latin:styleName="shiftKeyStyle"
         latin:code="@integer/key_shift"
         latin:keyIcon="iconShiftKey"
         latin:keyIconShifted="iconShiftedShiftKey"
-        latin:parentStyle="functionalKeyStyle"
+        latin:backgroundType="functional"
         latin:isSticky="true" />
     <key-style
         latin:styleName="deleteKeyStyle"
         latin:code="@integer/key_delete"
         latin:keyIcon="iconDeleteKey"
-        latin:parentStyle="functionalKeyStyle"
+        latin:backgroundType="functional"
         latin:isRepeatable="true" />
     <key-style
         latin:styleName="returnKeyStyle"
         latin:code="@integer/key_return"
         latin:keyIcon="iconReturnKey"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="spaceKeyStyle"
         latin:code="@integer/key_space" />
@@ -61,43 +57,43 @@
         latin:code="@integer/key_settings"
         latin:keyIcon="iconSettingsKey"
         latin:keyIconPreview="iconPreviewSettingsKey"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="shortcutKeyStyle"
         latin:code="@integer/key_shortcut"
         latin:keyIcon="iconShortcutKey"
         latin:keyIconPreview="iconPreviewShortcutKey"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="tabKeyStyle"
         latin:code="@integer/key_tab"
         latin:keyLabel="@string/label_tab_key"
         latin:keyLabelOption="fontNormal"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="toSymbolKeyStyle"
         latin:code="@integer/key_switch_alpha_symbol"
         latin:keyLabel="@string/label_to_symbol_key"
         latin:keyLabelOption="fontNormal"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="@integer/key_switch_alpha_symbol"
         latin:keyLabel="@string/label_to_alpha_key"
         latin:keyLabelOption="fontNormal"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="toMoreSymbolKeyStyle"
         latin:code="@integer/key_shift"
         latin:keyLabel="@string/label_to_more_symbol_for_tablet_key"
         latin:keyLabelOption="fontNormal"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="@integer/key_shift"
         latin:keyLabel="@string/label_to_symbol_key"
         latin:keyLabelOption="fontNormal"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="comKeyStyle"
         latin:keyLabel="@string/keylabel_for_popular_domain"
diff --git a/java/res/xml/kbd_key_styles.xml b/java/res/xml/kbd_key_styles.xml
index 9df6472843fea46885f40e4c85efd8c770e95135..9ed97b1c2e9994626f8fb7d7906ccb2d1beefbb5 100644
--- a/java/res/xml/kbd_key_styles.xml
+++ b/java/res/xml/kbd_key_styles.xml
@@ -21,10 +21,6 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <!-- Base key style for the functional key -->
-    <key-style
-        latin:styleName="functionalKeyStyle"
-        latin:backgroundType="functional" />
     <!-- Base key style for the key which may have settings or tab key as popup key. -->
     <switch>
         <case
@@ -34,7 +30,7 @@
                 latin:styleName="f1PopupStyle"
                 latin:keyLabelOption="hasPopupHint"
                 latin:moreKeys="@string/more_keys_for_f1"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </case>
         <!-- clobberSettingsKey="false -->
         <case
@@ -44,7 +40,7 @@
                 latin:styleName="f1PopupStyle"
                 latin:keyLabelOption="hasPopupHint"
                 latin:moreKeys="@string/more_keys_for_f1_settings"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </case>
         <!-- clobberSettingsKey="false" hasSettingsKey="true" -->
         <case
@@ -54,7 +50,7 @@
                 latin:styleName="f1PopupStyle"
                 latin:keyLabelOption="hasPopupHint"
                 latin:moreKeys="@string/more_keys_for_f1_navigate"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </case>
         <!-- clobberSettingsKey="false" and hasSettingsKey="true" navigateAction="false" -->
         <default>
@@ -62,7 +58,7 @@
                 latin:styleName="f1PopupStyle"
                 latin:keyLabelOption="hasPopupHint"
                 latin:moreKeys="@string/more_keys_for_f1"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </default>
     </switch>
     <!-- Functional key styles -->
@@ -71,13 +67,13 @@
         latin:code="@integer/key_shift"
         latin:keyIcon="iconShiftKey"
         latin:keyIconShifted="iconShiftedShiftKey"
-        latin:parentStyle="functionalKeyStyle"
+        latin:backgroundType="functional"
         latin:isSticky="true" />
     <key-style
         latin:styleName="deleteKeyStyle"
         latin:code="@integer/key_delete"
         latin:keyIcon="iconDeleteKey"
-        latin:parentStyle="functionalKeyStyle"
+        latin:backgroundType="functional"
         latin:isRepeatable="true" />
     <!-- Return key style -->
     <switch>
@@ -92,7 +88,7 @@
                 latin:keyLabelOption="hasPopupHint"
                 latin:moreKeys="@string/more_keys_for_smiley"
                 latin:maxMoreKeysColumn="5"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </case>
         <case
             latin:imeAction="actionGo"
@@ -148,13 +144,13 @@
                 latin:styleName="returnKeyStyle"
                 latin:code="@integer/key_return"
                 latin:keyIcon="iconReturnKey"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </default>
     </switch>
     <key-style
         latin:styleName="spaceKeyStyle"
         latin:code="@integer/key_space"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="shortcutKeyStyle"
         latin:code="@integer/key_shortcut"
@@ -166,13 +162,13 @@
         latin:code="@integer/key_settings"
         latin:keyIcon="iconSettingsKey"
         latin:keyIconPreview="iconPreviewSettingsKey"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="tabKeyStyle"
         latin:code="@integer/key_tab"
         latin:keyIcon="iconTabKey"
         latin:keyIconPreview="iconPreviewTabKey"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <!-- Note: This key style is not for functional tab key. This is used for the tab key which is
          laid out as normal letter key. -->
     <key-style
@@ -194,31 +190,31 @@
                 latin:keyIcon="iconShortcutForLabel"
                 latin:keyLabel="@string/label_to_symbol_with_microphone_key"
                 latin:keyLabelOption="withIconRight"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </case>
         <default>
             <key-style
                 latin:styleName="toSymbolKeyStyle"
                 latin:code="@integer/key_switch_alpha_symbol"
                 latin:keyLabel="@string/label_to_symbol_key"
-                latin:parentStyle="functionalKeyStyle" />
+                latin:backgroundType="functional" />
         </default>
     </switch>
     <key-style
         latin:styleName="toAlphaKeyStyle"
         latin:code="@integer/key_switch_alpha_symbol"
         latin:keyLabel="@string/label_to_alpha_key"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="toMoreSymbolKeyStyle"
         latin:code="@integer/key_shift"
         latin:keyLabel="@string/label_to_more_symbol_key"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="backFromMoreSymbolKeyStyle"
         latin:code="@integer/key_shift"
         latin:keyLabel="@string/label_to_symbol_key"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="punctuationKeyStyle"
         latin:keyLabel="."
@@ -226,5 +222,5 @@
         latin:keyLabelOption="hasPopupHint"
         latin:moreKeys="@string/more_keys_for_punctuation"
         latin:maxMoreKeysColumn="@integer/mini_keyboard_column_for_punctuation"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
 </merge>
diff --git a/java/res/xml/kbd_numkey_styles.xml b/java/res/xml/kbd_numkey_styles.xml
index c6ba23d390fa9ddeb55e5c7cfb68a992160e4d50..5d5439906312d514722ec200f8623fd1ed1ca885 100644
--- a/java/res/xml/kbd_numkey_styles.xml
+++ b/java/res/xml/kbd_numkey_styles.xml
@@ -30,7 +30,7 @@
     <key-style
         latin:styleName="numFunctionalKeyStyle"
         latin:keyLabelOption="largeLetter|followKeyLetterRatio"
-        latin:parentStyle="functionalKeyStyle" />
+        latin:backgroundType="functional" />
     <key-style
         latin:styleName="numberKeyStyle"
         latin:keyLabelOption="alignLeftOfCenter|hasHintLabel"
diff --git a/java/res/xml/kbd_symbols_shift_row4.xml b/java/res/xml/kbd_symbols_shift_row4.xml
index 99fa80a62392768f5f26914b4041f3bcf0f1ab98..89e80e5f77382252aa802ca8b3d068f253033280 100644
--- a/java/res/xml/kbd_symbols_shift_row4.xml
+++ b/java/res/xml/kbd_symbols_shift_row4.xml
@@ -37,13 +37,13 @@
                     <!-- latin:moreKeys="‟" -->
                 <Key
                     latin:keyLabel="„"
-                    latin:keyStyle="functionalKeyStyle" />
+                    latin:backgroundType="functional" />
                 <Key
                     latin:keyStyle="spaceKeyStyle"
                     latin:keyWidth="50%p" />
                 <Key
                     latin:keyLabel="…"
-                    latin:keyStyle="functionalKeyStyle" />
+                    latin:backgroundType="functional" />
                 <Key
                     latin:keyStyle="returnKeyStyle"
                     latin:keyWidth="fillRight" />
@@ -61,14 +61,14 @@
                 <Key
                     latin:keyLabel="„"
                     latin:keyWidth="9.2%p"
-                    latin:keyStyle="functionalKeyStyle" />
+                    latin:backgroundType="functional" />
                 <Key
                     latin:keyStyle="spaceKeyStyle"
                     latin:keyWidth="35.83%p" />
                 <Key
                     latin:keyLabel="…"
                     latin:keyWidth="9.2%p"
-                    latin:keyStyle="functionalKeyStyle" />
+                    latin:backgroundType="functional" />
                 <Key
                     latin:keyStyle="returnKeyStyle"
                     latin:keyWidth="fillRight" />