diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 41398788021a427bd83b34c57d0de6265c16fd40..5bedd4ac21557ffba2904ea00a6bc3fa71421bdf 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -276,9 +276,6 @@
             <flag name="altCodeWhileTyping" value="0x04" />
             <flag name="enableLongPress" value="0x08" />
         </attr>
-        <!-- TODO: Remove keyOutputText attribute and consolidate with keySpec. -->
-        <!-- The string of characters to output when this key is pressed. -->
-        <attr name="keyOutputText" format="string" />
         <!-- TODO: Rename keyLabel to keySpec. -->
         <!-- The label to display on the key. -->
         <attr name="keyLabel" format="string" />
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index d817add11effcde79358e7f659997f9b015dfff8..4e4579b4fc1ae70a257db84e5914ec1a93779a4f 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -100,12 +100,6 @@
         latin:moreKeys="!icon/zwj_key|&#x200D;"
         latin:keyLabelFlags="hasPopupHint"
         latin:keyActionFlags="noKeyPreview" />
-    <key-style
-        latin:styleName="smileyKeyStyle"
-        latin:keyLabel=":-)"
-        latin:keyOutputText=":-) "
-        latin:keyLabelFlags="hasPopupHint|preserveCase"
-        latin:moreKeys="!text/more_keys_for_smiley" />
     <key-style
         latin:styleName="shortcutKeyStyle"
         latin:code="!code/key_shortcut"
@@ -190,8 +184,7 @@
         latin:parentStyle="baseForLayoutSwitchKeyStyle" />
     <key-style
         latin:styleName="comKeyStyle"
-        latin:keyLabel="!text/keylabel_for_popular_domain"
+        latin:keyLabel="!text/keylabel_for_popular_domain|!text/keylabel_for_popular_domain"
         latin:keyLabelFlags="autoXScale|fontNormal|hasPopupHint|preserveCase"
-        latin:keyOutputText="!text/keylabel_for_popular_domain"
         latin:moreKeys="!text/more_keys_for_popular_domain" />
 </merge>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index d538eb8c3de2324dc242e260cde4de137a127f78..9c40d627af72ca7fc3f41c8990c09aa613e16d00 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -184,9 +184,8 @@
         latin:parentStyle="baseForToSymbolKeyStyle" />
     <key-style
         latin:styleName="comKeyStyle"
-        latin:keyLabel="!text/keylabel_for_popular_domain"
+        latin:keyLabel="!text/keylabel_for_popular_domain|!text/keylabel_for_popular_domain"
         latin:keyLabelFlags="autoXScale|fontNormal|hasPopupHint|preserveCase"
-        latin:keyOutputText="!text/keylabel_for_popular_domain"
         latin:moreKeys="!text/more_keys_for_popular_domain"
         latin:backgroundType="functional" />
 </merge>
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index 9715557c704447a1796c4ec0d8bbcc69ed43925a..1b9007da2745cc69126e94260b101e2d3e122948 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -347,12 +347,8 @@ public class Key implements Comparable<Key> {
             mHintLabel = StringUtils.toUpperCaseOfStringForLocale(style.getString(keyAttr,
                     R.styleable.Keyboard_Key_keyHintLabel), needsToUpperCase, locale);
         }
-        final String outputTextInAttr = style.getString(
-                keyAttr, R.styleable.Keyboard_Key_keyOutputText);
-        final String rawOutputText = (outputTextInAttr != null) ? outputTextInAttr
-                : KeySpecParser.getOutputText(keySpec);
         String outputText = StringUtils.toUpperCaseOfStringForLocale(
-                rawOutputText, needsToUpperCase, locale);
+                KeySpecParser.getOutputText(keySpec), needsToUpperCase, locale);
         // Choose the first letter of the label as primary code if not specified.
         if (code == CODE_UNSPECIFIED && TextUtils.isEmpty(outputText)
                 && !TextUtils.isEmpty(mLabel)) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
index f7e43a6c2a462c1046e9d54666753dbd6e18d54e..a64f23501a5d08ad7d77238f5daeeb16dadb791d 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
@@ -138,7 +138,6 @@ public final class KeyStylesSet {
             readString(keyAttr, R.styleable.Keyboard_Key_code);
             readString(keyAttr, R.styleable.Keyboard_Key_altCode);
             readString(keyAttr, R.styleable.Keyboard_Key_keyLabel);
-            readString(keyAttr, R.styleable.Keyboard_Key_keyOutputText);
             readString(keyAttr, R.styleable.Keyboard_Key_keyHintLabel);
             readStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys);
             readStringArray(keyAttr, R.styleable.Keyboard_Key_additionalMoreKeys);