diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 7e8c77e..acc5df2 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -125,6 +125,8 @@
         <attr name="longPressShiftKeyTimeout" format="integer" />
         <!-- Ignore special key timeout while typing in millisecond. -->
         <attr name="ignoreAltCodeKeyTimeout" format="integer" />
+        <!-- Disable gesture input while fast typing timer in millisecond. -->
+        <attr name="disableGestureWhileFastTypingTimeout" format="integer" />
         <!-- More keys keyboard will shown at touched point. -->
         <attr name="showMoreKeysKeyboardAtTouchedPoint" format="boolean" />
     </declare-styleable>
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 8e2d43e..1f6adff 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -66,6 +66,7 @@
     <!-- Long pressing shift will invoke caps-lock if > 0, never invoke caps-lock if == 0 -->
     <integer name="config_long_press_shift_key_timeout">1200</integer>
     <integer name="config_ignore_alt_code_key_timeout">350</integer>
+    <integer name="config_disable_gesture_while_fast_typing_timeout">350</integer>
     <!-- Showing more keys keyboard, just above the touched point if true, aligned to the key if
          false -->
     <bool name="config_show_more_keys_keyboard_at_touched_point">false</bool>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index ed92440..d520392 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -89,6 +89,7 @@
         <item name="longPressKeyTimeout">@integer/config_long_press_key_timeout</item>
         <item name="longPressShiftKeyTimeout">@integer/config_long_press_shift_key_timeout</item>
         <item name="ignoreAltCodeKeyTimeout">@integer/config_ignore_alt_code_key_timeout</item>
+        <item name="disableGestureWhileFastTypingTimeout">@integer/config_disable_gesture_while_fast_typing_timeout</item>
         <item name="showMoreKeysKeyboardAtTouchedPoint">@bool/config_show_more_keys_keyboard_at_touched_point</item>
         <item name="languageOnSpacebarFinalAlpha">@integer/config_language_on_spacebar_final_alpha</item>
         <item name="languageOnSpacebarFadeoutAnimator">@anim/language_on_spacebar_fadeout</item>
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
index 4ed0f58..f5c1b7a 100644
--- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
@@ -142,12 +142,14 @@
         private static final int MSG_REPEAT_KEY = 1;
         private static final int MSG_LONGPRESS_KEY = 2;
         private static final int MSG_DOUBLE_TAP = 3;
+        private static final int MSG_DISABLE_GESTURE_EXPIRED = 4;
 
         private final int mKeyRepeatStartTimeout;
         private final int mKeyRepeatInterval;
         private final int mLongPressKeyTimeout;
         private final int mLongPressShiftKeyTimeout;
         private final int mIgnoreAltCodeKeyTimeout;
+        private final int mDisableGestureWhileFastTypingTimeout;
 
         public KeyTimerHandler(final MainKeyboardView outerInstance,
                 final TypedArray mainKeyboardViewAttr) {
@@ -163,6 +165,8 @@
                     R.styleable.MainKeyboardView_longPressShiftKeyTimeout, 0);
             mIgnoreAltCodeKeyTimeout = mainKeyboardViewAttr.getInt(
                     R.styleable.MainKeyboardView_ignoreAltCodeKeyTimeout, 0);
+            mDisableGestureWhileFastTypingTimeout = mainKeyboardViewAttr.getInt(
+                    R.styleable.MainKeyboardView_disableGestureWhileFastTypingTimeout, 0);
         }
 
         @Override
@@ -187,6 +191,9 @@
                     KeyboardSwitcher.getInstance().onLongPressTimeout(msg.arg1);
                 }
                 break;
+            case MSG_DISABLE_GESTURE_EXPIRED:
+                PointerTracker.clearGestureOffWhileFastTyping();
+                break;
             }
         }
 
@@ -312,6 +319,14 @@
         }
 
         @Override
+        public void startGestureOffWhileFastTypingTimer() {
+            removeMessages(MSG_DISABLE_GESTURE_EXPIRED);
+            PointerTracker.setGestureOffWhileFastTyping();
+            sendMessageDelayed(obtainMessage(MSG_DISABLE_GESTURE_EXPIRED),
+                    mDisableGestureWhileFastTypingTimeout);
+        }
+
+        @Override
         public void startDoubleTapTimer() {
             sendMessageDelayed(obtainMessage(MSG_DOUBLE_TAP),
                     ViewConfiguration.getDoubleTapTimeout());
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index d4902ec..89b6e7b 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -46,6 +46,7 @@
     private static boolean sMainDictionaryAvailable = false;
     private static boolean sGestureHandlingEnabledByInputField = false;
     private static boolean sGestureHandlingEnabledByUser = false;
+    private static boolean sGestureOffWhileFastTyping = false;
 
     public interface KeyEventHandler {
         /**
@@ -84,6 +85,7 @@
     public interface TimerProxy {
         public void startTypingStateTimer(Key typedKey);
         public boolean isTypingState();
+        public void startGestureOffWhileFastTypingTimer();
         public void startKeyRepeatTimer(PointerTracker tracker);
         public void startLongPressTimer(PointerTracker tracker);
         public void startLongPressTimer(int code);
@@ -99,6 +101,8 @@
             @Override
             public boolean isTypingState() { return false; }
             @Override
+            public void startGestureOffWhileFastTypingTimer() {}
+            @Override
             public void startKeyRepeatTimer(PointerTracker tracker) {}
             @Override
             public void startLongPressTimer(PointerTracker tracker) {}
@@ -225,6 +229,7 @@
 
     private static void updateGestureHandlingMode() {
         sShouldHandleGesture = sMainDictionaryAvailable
+                && !sGestureOffWhileFastTyping
                 && sGestureHandlingEnabledByInputField
                 && sGestureHandlingEnabledByUser
                 && !AccessibilityUtils.getInstance().isTouchExplorationEnabled();
@@ -241,6 +246,16 @@
         updateGestureHandlingMode();
     }
 
+    public static void setGestureOffWhileFastTyping() {
+        sGestureOffWhileFastTyping = true;
+        updateGestureHandlingMode();
+    }
+
+    public static void clearGestureOffWhileFastTyping() {
+        sGestureOffWhileFastTyping = false;
+        updateGestureHandlingMode();
+    }
+
     public static PointerTracker getPointerTracker(final int id, final KeyEventHandler handler) {
         final ArrayList<PointerTracker> trackers = sTrackers;
 
@@ -346,8 +361,10 @@
         if (key.isEnabled() || altersCode) {
             if (code == Keyboard.CODE_OUTPUT_TEXT) {
                 mListener.onTextInput(key.getOutputText());
+                mTimerProxy.startGestureOffWhileFastTypingTimer();
             } else if (code != Keyboard.CODE_UNSPECIFIED) {
                 mListener.onCodeInput(code, x, y);
+                mTimerProxy.startGestureOffWhileFastTypingTimer();
             }
         }
     }
diff --git a/java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java b/java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java
index 73413f6..193c3a4 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/GestureStroke.java
@@ -45,7 +45,7 @@
     private int mDetectFastMoveY;
 
     // TODO: Move some of these to resource.
-    private static final float START_GESTURE_LENGTH_THRESHOLD_RATIO_TO_KEY_WIDTH = 0.75f;
+    private static final float START_GESTURE_LENGTH_THRESHOLD_RATIO_TO_KEY_WIDTH = 0.60f;
     private static final int START_GESTURE_DURATION_THRESHOLD = 70; // msec
     private static final int MIN_GESTURE_RECOGNITION_TIME = 100; // msec
     private static final float MIN_GESTURE_SAMPLING_RATIO_TO_KEY_WIDTH = 1.0f / 6.0f;
