diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index 9f4b8811d16a3879c14028bea56d474b4cab38a9..d9d28f1863175b7fd10c3cc757691e3354c8ea93 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -403,7 +403,10 @@ public class Keyboard { * point is out of range, then an array of size zero is returned. */ public Key[] getNearestKeys(int x, int y) { - return mProximityInfo.getNearestKeys(x, y); + // Avoid dead pixels at edges of the keyboard + final int adjustedX = Math.max(0, Math.min(x, mOccupiedWidth - 1)); + final int adjustedY = Math.max(0, Math.min(y, mOccupiedHeight - 1)); + return mProximityInfo.getNearestKeys(adjustedX, adjustedY); } public static String printableCode(int code) {