diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp
index a8c0430..9bb8b29 100644
--- a/native/jni/src/proximity_info.cpp
+++ b/native/jni/src/proximity_info.cpp
@@ -275,22 +275,22 @@
     }
 }
 
-float ProximityInfo::getKeyCenterXOfCodePointG(int charCode) const {
+int ProximityInfo::getKeyCenterXOfCodePointG(int charCode) const {
     return getKeyCenterXOfKeyIdG(getKeyIndexOf(charCode));
 }
 
-float ProximityInfo::getKeyCenterYOfCodePointG(int charCode) const {
+int ProximityInfo::getKeyCenterYOfCodePointG(int charCode) const {
     return getKeyCenterYOfKeyIdG(getKeyIndexOf(charCode));
 }
 
-float ProximityInfo::getKeyCenterXOfKeyIdG(int keyId) const {
+int ProximityInfo::getKeyCenterXOfKeyIdG(int keyId) const {
     if (keyId >= 0) {
         return mCenterXsG[keyId];
     }
     return 0;
 }
 
-float ProximityInfo::getKeyCenterYOfKeyIdG(int keyId) const {
+int ProximityInfo::getKeyCenterYOfKeyIdG(int keyId) const {
     if (keyId >= 0) {
         return mCenterYsG[keyId];
     }
diff --git a/native/jni/src/proximity_info.h b/native/jni/src/proximity_info.h
index 7c22e10..45df6ff 100644
--- a/native/jni/src/proximity_info.h
+++ b/native/jni/src/proximity_info.h
@@ -104,11 +104,10 @@
         return KEYBOARD_HEIGHT;
     }
 
-    // TODO: These should return int.
-    float getKeyCenterXOfCodePointG(int charCode) const;
-    float getKeyCenterYOfCodePointG(int charCode) const;
-    float getKeyCenterXOfKeyIdG(int keyId) const;
-    float getKeyCenterYOfKeyIdG(int keyId) const;
+    int getKeyCenterXOfCodePointG(int charCode) const;
+    int getKeyCenterYOfCodePointG(int charCode) const;
+    int getKeyCenterXOfKeyIdG(int keyId) const;
+    int getKeyCenterYOfKeyIdG(int keyId) const;
     int getKeyKeyDistanceG(int key0, int key1) const;
 
  private:
