diff --git a/java/res/layout/input_stone_popup.xml b/java/res/layout/input_stone_popup.xml
index f159625f7495876768ff662c9933715fe452988a..3a7b5b9ab4bd14c4432bdd99d34118f14370536a 100644
--- a/java/res/layout/input_stone_popup.xml
+++ b/java/res/layout/input_stone_popup.xml
@@ -25,9 +25,9 @@
         android:orientation="horizontal"
         android:background="@drawable/keyboard_popup_panel_background"
         >
-    <com.android.inputmethod.latin.LatinKeyboardBaseView
+    <com.android.inputmethod.latin.BaseKeyboardView
             xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-            android:id="@+id/LatinKeyboardBaseView"
+            android:id="@+id/BaseKeyboardView"
             android:layout_alignParentBottom="true"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
diff --git a/java/res/layout/keyboard_popup.xml b/java/res/layout/keyboard_popup.xml
index 9ecbcd4e9cf645899f985f3a4cd4fa71e0724f52..929e17111f10a9f89addb02b60461cd77fa3bdfb 100644
--- a/java/res/layout/keyboard_popup.xml
+++ b/java/res/layout/keyboard_popup.xml
@@ -26,9 +26,9 @@
         android:paddingLeft="16dip"
         android:paddingRight="16dip"
         >
-    <com.android.inputmethod.latin.LatinKeyboardBaseView
+    <com.android.inputmethod.latin.BaseKeyboardView
             xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-            android:id="@+id/LatinKeyboardBaseView"
+            android:id="@+id/BaseKeyboardView"
             android:layout_alignParentBottom="true"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 318286ea851b8569251a5ee30aa71fcdeff6d254..0be4cec717983dff8f4ef916782b6202ec72bee6 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -16,7 +16,7 @@
 
 <resources>
 
-    <declare-styleable name="LatinKeyboardBaseView">
+    <declare-styleable name="BaseKeyboardView">
         <!-- Default KeyboardView style. -->
         <attr name="keyboardViewStyle" format="reference" />
 
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 0372b07cf9f2ee495824bdbf4af6fddcf4bd77f7..d2acafdfa5a4f78492f69f7010e11000f79c51ad 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -15,7 +15,7 @@
 -->
 
 <resources>
-    <style name="LatinKeyboardBaseView">
+    <style name="BaseKeyboardView">
         <item name="android:background">@drawable/keyboard_background</item>
 
         <item name="keyBackground">@drawable/btn_keyboard_key</item>
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
similarity index 96%
rename from java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
rename to java/src/com/android/inputmethod/latin/BaseKeyboardView.java
index b2635ad9cff2a5863b115adc9390cb81dfa0c312..4ba6fbddc14577cfe29998a592bd587545a1d431 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
@@ -59,17 +59,17 @@ import java.util.WeakHashMap;
  *
  * TODO: References to LatinKeyboard in this class should be replaced with ones to its base class.
  *
- * @attr ref R.styleable#LatinKeyboardBaseView_keyBackground
- * @attr ref R.styleable#LatinKeyboardBaseView_keyPreviewLayout
- * @attr ref R.styleable#LatinKeyboardBaseView_keyPreviewOffset
- * @attr ref R.styleable#LatinKeyboardBaseView_labelTextSize
- * @attr ref R.styleable#LatinKeyboardBaseView_keyTextSize
- * @attr ref R.styleable#LatinKeyboardBaseView_keyTextColor
- * @attr ref R.styleable#LatinKeyboardBaseView_verticalCorrection
- * @attr ref R.styleable#LatinKeyboardBaseView_popupLayout
+ * @attr ref R.styleable#BaseKeyboardView_keyBackground
+ * @attr ref R.styleable#BaseKeyboardView_keyPreviewLayout
+ * @attr ref R.styleable#BaseKeyboardView_keyPreviewOffset
+ * @attr ref R.styleable#BaseKeyboardView_labelTextSize
+ * @attr ref R.styleable#BaseKeyboardView_keyTextSize
+ * @attr ref R.styleable#BaseKeyboardView_keyTextColor
+ * @attr ref R.styleable#BaseKeyboardView_verticalCorrection
+ * @attr ref R.styleable#BaseKeyboardView_popupLayout
  */
-public class LatinKeyboardBaseView extends View implements PointerTracker.UIProxy {
-    private static final String TAG = "LatinKeyboardBaseView";
+public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
+    private static final String TAG = "BaseKeyboardView";
     private static final boolean DEBUG = false;
 
     public static final int NOT_A_TOUCH_COORDINATE = -1;
@@ -204,7 +204,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
 
     // Popup mini keyboard
     private PopupWindow mMiniKeyboardPopup;
-    private LatinKeyboardBaseView mMiniKeyboard;
+    private BaseKeyboardView mMiniKeyboard;
     private View mMiniKeyboardParent;
     private final WeakHashMap<Key, View> mMiniKeyboardCache = new WeakHashMap<Key, View>();
     private int mMiniKeyboardOriginX;
@@ -412,15 +412,15 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
         }
     }
 
-    public LatinKeyboardBaseView(Context context, AttributeSet attrs) {
+    public BaseKeyboardView(Context context, AttributeSet attrs) {
         this(context, attrs, R.attr.keyboardViewStyle);
     }
 
-    public LatinKeyboardBaseView(Context context, AttributeSet attrs, int defStyle) {
+    public BaseKeyboardView(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
 
         TypedArray a = context.obtainStyledAttributes(
-                attrs, R.styleable.LatinKeyboardBaseView, defStyle, R.style.LatinKeyboardBaseView);
+                attrs, R.styleable.BaseKeyboardView, defStyle, R.style.BaseKeyboardView);
         LayoutInflater inflate =
                 (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         int previewLayout = 0;
@@ -432,48 +432,48 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
             int attr = a.getIndex(i);
 
             switch (attr) {
-            case R.styleable.LatinKeyboardBaseView_keyBackground:
+            case R.styleable.BaseKeyboardView_keyBackground:
                 mKeyBackground = a.getDrawable(attr);
                 break;
-            case R.styleable.LatinKeyboardBaseView_keyHysteresisDistance:
+            case R.styleable.BaseKeyboardView_keyHysteresisDistance:
                 mKeyHysteresisDistance = a.getDimensionPixelOffset(attr, 0);
                 break;
-            case R.styleable.LatinKeyboardBaseView_verticalCorrection:
+            case R.styleable.BaseKeyboardView_verticalCorrection:
                 mVerticalCorrection = a.getDimensionPixelOffset(attr, 0);
                 break;
-            case R.styleable.LatinKeyboardBaseView_keyPreviewLayout:
+            case R.styleable.BaseKeyboardView_keyPreviewLayout:
                 previewLayout = a.getResourceId(attr, 0);
                 break;
-            case R.styleable.LatinKeyboardBaseView_keyPreviewOffset:
+            case R.styleable.BaseKeyboardView_keyPreviewOffset:
                 mPreviewOffset = a.getDimensionPixelOffset(attr, 0);
                 break;
-            case R.styleable.LatinKeyboardBaseView_keyPreviewHeight:
+            case R.styleable.BaseKeyboardView_keyPreviewHeight:
                 mPreviewHeight = a.getDimensionPixelSize(attr, 80);
                 break;
-            case R.styleable.LatinKeyboardBaseView_keyTextSize:
+            case R.styleable.BaseKeyboardView_keyTextSize:
                 mKeyTextSize = a.getDimensionPixelSize(attr, 18);
                 break;
-            case R.styleable.LatinKeyboardBaseView_keyTextColor:
+            case R.styleable.BaseKeyboardView_keyTextColor:
                 mKeyTextColor = a.getColor(attr, 0xFF000000);
                 break;
-            case R.styleable.LatinKeyboardBaseView_labelTextSize:
+            case R.styleable.BaseKeyboardView_labelTextSize:
                 mLabelTextSize = a.getDimensionPixelSize(attr, 14);
                 break;
-            case R.styleable.LatinKeyboardBaseView_popupLayout:
+            case R.styleable.BaseKeyboardView_popupLayout:
                 mPopupLayout = a.getResourceId(attr, 0);
                 break;
-            case R.styleable.LatinKeyboardBaseView_shadowColor:
+            case R.styleable.BaseKeyboardView_shadowColor:
                 mShadowColor = a.getColor(attr, 0);
                 break;
-            case R.styleable.LatinKeyboardBaseView_shadowRadius:
+            case R.styleable.BaseKeyboardView_shadowRadius:
                 mShadowRadius = a.getFloat(attr, 0f);
                 break;
             // TODO: Use Theme (android.R.styleable.Theme_backgroundDimAmount)
-            case R.styleable.LatinKeyboardBaseView_backgroundDimAmount:
+            case R.styleable.BaseKeyboardView_backgroundDimAmount:
                 mBackgroundDimAmount = a.getFloat(attr, 0.5f);
                 break;
             //case android.R.styleable.
-            case R.styleable.LatinKeyboardBaseView_keyTextStyle:
+            case R.styleable.BaseKeyboardView_keyTextStyle:
                 int textStyle = a.getInt(attr, 0);
                 switch (textStyle) {
                     case 0:
@@ -487,7 +487,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
                         break;
                 }
                 break;
-            case R.styleable.LatinKeyboardBaseView_symbolColorScheme:
+            case R.styleable.BaseKeyboardView_symbolColorScheme:
                 mSymbolColorScheme = a.getInt(attr, 0);
                 break;
             }
@@ -1089,8 +1089,8 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
         if (container == null)
             throw new NullPointerException();
 
-        LatinKeyboardBaseView miniKeyboard =
-                (LatinKeyboardBaseView)container.findViewById(R.id.LatinKeyboardBaseView);
+        BaseKeyboardView miniKeyboard =
+                (BaseKeyboardView)container.findViewById(R.id.BaseKeyboardView);
         miniKeyboard.setOnKeyboardActionListener(new OnKeyboardActionListener() {
             public void onKey(int primaryCode, int[] keyCodes, int x, int y) {
                 mKeyboardActionListener.onKey(primaryCode, keyCodes, x, y);
@@ -1174,7 +1174,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
             container = inflateMiniKeyboardContainer(popupKey);
             mMiniKeyboardCache.put(popupKey, container);
         }
-        mMiniKeyboard = (LatinKeyboardBaseView)container.findViewById(R.id.LatinKeyboardBaseView);
+        mMiniKeyboard = (BaseKeyboardView)container.findViewById(R.id.BaseKeyboardView);
         if (mWindowOffset == null) {
             mWindowOffset = new int[2];
             getLocationInWindow(mWindowOffset);
diff --git a/java/src/com/android/inputmethod/latin/KeyDetector.java b/java/src/com/android/inputmethod/latin/KeyDetector.java
index 3902b60a3fc88ee0bde792f50ae51da3da02dc7a..600a12fe52e75480c538c84e14f26ae778cea5aa 100644
--- a/java/src/com/android/inputmethod/latin/KeyDetector.java
+++ b/java/src/com/android/inputmethod/latin/KeyDetector.java
@@ -84,7 +84,7 @@ abstract class KeyDetector {
      */
     public int[] newCodeArray() {
         int[] codes = new int[getMaxNearbyKeys()];
-        Arrays.fill(codes, LatinKeyboardBaseView.NOT_A_KEY);
+        Arrays.fill(codes, BaseKeyboardView.NOT_A_KEY);
         return codes;
     }
 
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 5edbc2861f43c8cd65c27375af0562cde7e1eafe..c255237e70efbbbbfb3bdf8e65715ebf8ce53d1d 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -79,7 +79,7 @@ import java.util.Map;
  * Input method implementation for Qwerty'ish keyboard.
  */
 public class LatinIME extends InputMethodService
-        implements LatinKeyboardBaseView.OnKeyboardActionListener,
+        implements BaseKeyboardView.OnKeyboardActionListener,
         VoiceInput.UiListener,
         SharedPreferences.OnSharedPreferenceChangeListener {
     private static final String TAG = "LatinIME";
@@ -741,7 +741,7 @@ public class LatinIME extends InputMethodService
     @Override
     public void onFinishInputView(boolean finishingInput) {
         super.onFinishInputView(finishingInput);
-        LatinKeyboardBaseView inputView = mKeyboardSwitcher.getInputView();
+        BaseKeyboardView inputView = mKeyboardSwitcher.getInputView();
         if (inputView != null)
             inputView.setForeground(false);
         // Remove penging messages related to update suggestions
@@ -1954,8 +1954,8 @@ public class LatinIME extends InputMethodService
             LatinImeLogger.logOnManualSuggestion(
                     "", suggestion.toString(), index, suggestions);
             final char primaryCode = suggestion.charAt(0);
-            onKey(primaryCode, new int[]{primaryCode}, LatinKeyboardBaseView.NOT_A_TOUCH_COORDINATE,
-                    LatinKeyboardBaseView.NOT_A_TOUCH_COORDINATE);
+            onKey(primaryCode, new int[]{primaryCode}, BaseKeyboardView.NOT_A_TOUCH_COORDINATE,
+                    BaseKeyboardView.NOT_A_TOUCH_COORDINATE);
             if (ic != null) {
                 ic.endBatchEdit();
             }
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
index 6672dd22dacb12f19f2eb21d60eff688ae72383b..9c90853f6d8f463309f7b1e80623c9eda06e8ec2 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardView.java
@@ -30,7 +30,7 @@ import android.view.MotionEvent;
 
 import java.util.List;
 
-public class LatinKeyboardView extends LatinKeyboardBaseView {
+public class LatinKeyboardView extends BaseKeyboardView {
 
     public static final int KEYCODE_OPTIONS = -100;
     public static final int KEYCODE_OPTIONS_LONGPRESS = -101;
@@ -110,8 +110,8 @@ public class LatinKeyboardView extends LatinKeyboardBaseView {
 
     private boolean invokeOnKey(int primaryCode) {
         getOnKeyboardActionListener().onKey(primaryCode, null,
-                LatinKeyboardBaseView.NOT_A_TOUCH_COORDINATE,
-                LatinKeyboardBaseView.NOT_A_TOUCH_COORDINATE);
+                BaseKeyboardView.NOT_A_TOUCH_COORDINATE,
+                BaseKeyboardView.NOT_A_TOUCH_COORDINATE);
         return true;
     }
 
diff --git a/java/src/com/android/inputmethod/latin/MiniKeyboardKeyDetector.java b/java/src/com/android/inputmethod/latin/MiniKeyboardKeyDetector.java
index 5f4c93734527dab76db2749b269026ff3e22b008..0e0c2e7fc073790bf707ae9b3d7d9bbf3e4bd8d8 100644
--- a/java/src/com/android/inputmethod/latin/MiniKeyboardKeyDetector.java
+++ b/java/src/com/android/inputmethod/latin/MiniKeyboardKeyDetector.java
@@ -41,7 +41,7 @@ class MiniKeyboardKeyDetector extends KeyDetector {
         final Key[] keys = getKeys();
         final int touchX = getTouchX(x);
         final int touchY = getTouchY(y);
-        int closestKeyIndex = LatinKeyboardBaseView.NOT_A_KEY;
+        int closestKeyIndex = BaseKeyboardView.NOT_A_KEY;
         int closestKeyDist = (y < 0) ? mSlideAllowanceSquareTop : mSlideAllowanceSquare;
         final int keyCount = keys.length;
         for (int i = 0; i < keyCount; i++) {
@@ -52,7 +52,7 @@ class MiniKeyboardKeyDetector extends KeyDetector {
                 closestKeyDist = dist;
             }
         }
-        if (allKeys != null && closestKeyIndex != LatinKeyboardBaseView.NOT_A_KEY)
+        if (allKeys != null && closestKeyIndex != BaseKeyboardView.NOT_A_KEY)
             allKeys[0] = keys[closestKeyIndex].codes[0];
         return closestKeyIndex;
     }
diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java
index 558ca604da743b869d929b65d17eb5e6f6cee1e1..78e00720ae308df590402aa45b114cd7aa55b32e 100644
--- a/java/src/com/android/inputmethod/latin/PointerTracker.java
+++ b/java/src/com/android/inputmethod/latin/PointerTracker.java
@@ -17,8 +17,8 @@
 package com.android.inputmethod.latin;
 
 import com.android.inputmethod.latin.BaseKeyboard.Key;
-import com.android.inputmethod.latin.LatinKeyboardBaseView.OnKeyboardActionListener;
-import com.android.inputmethod.latin.LatinKeyboardBaseView.UIHandler;
+import com.android.inputmethod.latin.BaseKeyboardView.OnKeyboardActionListener;
+import com.android.inputmethod.latin.BaseKeyboardView.UIHandler;
 
 import android.content.res.Resources;
 import android.util.Log;
@@ -44,7 +44,7 @@ public class PointerTracker {
     private final int mMultiTapKeyTimeout;
 
     // Miscellaneous constants
-    private static final int NOT_A_KEY = LatinKeyboardBaseView.NOT_A_KEY;
+    private static final int NOT_A_KEY = BaseKeyboardView.NOT_A_KEY;
     private static final int[] KEY_DELETE = { BaseKeyboard.KEYCODE_DELETE };
 
     private final UIProxy mProxy;
diff --git a/java/src/com/android/inputmethod/latin/ProximityKeyDetector.java b/java/src/com/android/inputmethod/latin/ProximityKeyDetector.java
index 383bd7fbc4d8bbe44ebe3bb637abff2d14af3960..01122ebb79ac6ab66750807f73a922849cc5ae3c 100644
--- a/java/src/com/android/inputmethod/latin/ProximityKeyDetector.java
+++ b/java/src/com/android/inputmethod/latin/ProximityKeyDetector.java
@@ -36,8 +36,8 @@ class ProximityKeyDetector extends KeyDetector {
         final Key[] keys = getKeys();
         final int touchX = getTouchX(x);
         final int touchY = getTouchY(y);
-        int primaryIndex = LatinKeyboardBaseView.NOT_A_KEY;
-        int closestKey = LatinKeyboardBaseView.NOT_A_KEY;
+        int primaryIndex = BaseKeyboardView.NOT_A_KEY;
+        int closestKey = BaseKeyboardView.NOT_A_KEY;
         int closestKeyDist = mProximityThresholdSquare + 1;
         int[] distances = mDistances;
         Arrays.fill(distances, Integer.MAX_VALUE);
@@ -78,7 +78,7 @@ class ProximityKeyDetector extends KeyDetector {
                 }
             }
         }
-        if (primaryIndex == LatinKeyboardBaseView.NOT_A_KEY) {
+        if (primaryIndex == BaseKeyboardView.NOT_A_KEY) {
             primaryIndex = closestKey;
         }
         return primaryIndex;