diff --git a/native/jni/src/proximity_info_state.cpp b/native/jni/src/proximity_info_state.cpp
index c9a1ed0c0a0ff4ecda5405887faf0342ad1b580d..4c67ea81c865212a0bc2649333458261e59ba637 100644
--- a/native/jni/src/proximity_info_state.cpp
+++ b/native/jni/src/proximity_info_state.cpp
@@ -391,11 +391,12 @@ int ProximityInfoState::getDuration(const int index) const {
 
 float ProximityInfoState::getPointToKeyLength(int inputIndex, int codePoint, float scale) {
     const int keyId = mProximityInfo->getKeyIndexOf(codePoint);
-    if (keyId >= 0) {
+    if (keyId != NOT_AN_INDEX) {
         const int index = inputIndex * mProximityInfo->getKeyCount() + keyId;
         return min(mDistanceCache[index] * scale, mMaxPointToKeyLength);
     }
-    return 0;
+    // If the char is not a key on the keyboard then return the max length.
+    return MAX_POINT_TO_KEY_LENGTH;
 }
 
 int ProximityInfoState::getKeyKeyDistance(int key0, int key1) {