diff --git a/res/drawable-hdpi/btn_keyboard_key_normal.9.png b/res/drawable-hdpi/btn_keyboard_key_normal.9.png
index 5bd9f0e..42c7c14 100644
--- a/res/drawable-hdpi/btn_keyboard_key_normal.9.png
+++ b/res/drawable-hdpi/btn_keyboard_key_normal.9.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png b/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
index aa4a4a3..01e2506 100644
--- a/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
+++ b/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png b/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
index 27556f8..83c6eb3 100644
--- a/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
+++ b/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_pressed.9.png b/res/drawable-hdpi/btn_keyboard_key_pressed.9.png
index e43504c..e047eaf 100644
--- a/res/drawable-hdpi/btn_keyboard_key_pressed.9.png
+++ b/res/drawable-hdpi/btn_keyboard_key_pressed.9.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png b/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
index e55ab1e..218a2d2 100644
--- a/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
+++ b/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png b/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
index 02010b4..afe4951 100644
--- a/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
+++ b/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
Binary files differ
diff --git a/res/drawable-hdpi/sym_keyboard_feedback_123_mic_.png b/res/drawable-hdpi/sym_keyboard_feedback_123_mic.png
similarity index 100%
rename from res/drawable-hdpi/sym_keyboard_feedback_123_mic_.png
rename to res/drawable-hdpi/sym_keyboard_feedback_123_mic.png
Binary files differ
diff --git a/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png b/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png
index 8f9b493..c7638bf 100644
--- a/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png
+++ b/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png
Binary files differ
diff --git a/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png b/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png
index a2fbd0f..7acb07c 100644
--- a/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png
+++ b/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png
Binary files differ
diff --git a/res/drawable-mdpi/sym_keyboard_feedback_123_mic_.png b/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png
similarity index 100%
rename from res/drawable-mdpi/sym_keyboard_feedback_123_mic_.png
rename to res/drawable-mdpi/sym_keyboard_feedback_123_mic.png
Binary files differ
diff --git a/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png b/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png
index 8ab87d0..e3f80fa 100644
--- a/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png
+++ b/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png
Binary files differ
diff --git a/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png b/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png
index 92d19b5..3cb0d99 100644
--- a/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png
+++ b/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png
Binary files differ
diff --git a/src/com/android/inputmethod/latin/LatinKeyboard.java b/src/com/android/inputmethod/latin/LatinKeyboard.java
index 92f93b3..9821a16 100644
--- a/src/com/android/inputmethod/latin/LatinKeyboard.java
+++ b/src/com/android/inputmethod/latin/LatinKeyboard.java
@@ -56,6 +56,7 @@
     private Key mEnterKey;
     private Key mF1Key;
     private Key mSpaceKey;
+    private Key m123Key;
     private int mSpaceKeyIndex = -1;
     private int mSpaceDragStartX;
     private int mSpaceDragLastDiff;
@@ -103,6 +104,8 @@
         mMicPreviewIcon = res.getDrawable(R.drawable.sym_keyboard_feedback_mic);
         mButtonArrowLeftIcon = res.getDrawable(R.drawable.sym_keyboard_language_arrows_left);
         mButtonArrowRightIcon = res.getDrawable(R.drawable.sym_keyboard_language_arrows_right);
+        m123MicIcon = res.getDrawable(R.drawable.sym_keyboard_123_mic);
+        m123MicPreviewIcon = res.getDrawable(R.drawable.sym_keyboard_feedback_123_mic);
         sSpacebarVerticalCorrection = res.getDimensionPixelOffset(
                 R.dimen.spacebar_vertical_correction);
         setF1Key();
@@ -128,6 +131,9 @@
         case 32:
             mSpaceKey = key;
             break;
+        case KEYCODE_MODE_CHANGE:
+            m123Key = key;
+            break;
         }
         return key;
     }
@@ -267,6 +273,10 @@
             mF1Key.codes = new int[] { ',' };
             mF1Key.icon = null;
             mF1Key.iconPreview = null;
+            if (m123Key != null) {
+                m123Key.icon = m123MicIcon;
+                m123Key.iconPreview = m123MicPreviewIcon;
+            }
         } else {
             mF1Key.codes = new int[] { LatinKeyboardView.KEYCODE_VOICE };
             mF1Key.label = null;
@@ -560,20 +570,15 @@
         public void draw(Canvas canvas) {
             canvas.save();
             if (mHitThreshold) {
-                mTextPaint.setColor(0);
+                mTextPaint.setColor(0xFF000000);
                 canvas.clipRect(0, 0, mWidth, mHeight);
-                int alpha = (255 * Math.max(0, mWidth / 2 - Math.abs(mDiff))) / (mWidth / 2);
-                mTextPaint.setAlpha(alpha);
-
                 if (mCurrentLanguage == null) {
                     mCurrentLanguage = getInputLanguage(mWidth, mTextPaint);
                     mNextLanguage = getNextInputLanguage(mWidth, mTextPaint);
                     mPrevLanguage = getPrevInputLanguage(mWidth, mTextPaint);
                 }
-
                 canvas.drawText(mCurrentLanguage,
                         mWidth / 2 + mDiff, -mAscent + 4, mTextPaint);
-                mTextPaint.setAlpha(255 - alpha);
                 canvas.drawText(mNextLanguage,
                         mDiff - mWidth / 2, -mAscent + 4, mTextPaint);
                 canvas.drawText(mPrevLanguage,
