Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d165bb5 authored by Jean Chalard's avatar Jean Chalard
Browse files

Fix a bug where dead space would appear on the keyboard.

This change fixes a bug where there would be pixels on the keyboard
that would not return a key although it's between two keys - or even
right on top of one.
This change makes it so that the closest key to the touch - within a
certain threshold - is always returned, regardless of whether the
touch is inside or not.

Bug: 4348994

Change-Id: I8f6102d6787eb025cc3c50a26d3a475aeafc4b64
parent d8f52a4f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -174,11 +174,12 @@ public class KeyDetector {
        int primaryIndex = NOT_A_KEY;
        for (final int index : mKeyboard.getNearestKeys(touchX, touchY)) {
            final Key key = keys.get(index);
            // TODO: should be okay to skip calling isInside()
            final boolean isInside = mKeyboard.isInside(key, touchX, touchY);
            final int distance = key.squaredDistanceToEdge(touchX, touchY);
            if (isInside || (mProximityCorrectOn && distance < mProximityThresholdSquare)) {
                final int insertedPosition = sortNearbyKeys(index, distance);
                if (insertedPosition == 0 && isInside)
                if (insertedPosition == 0)
                    primaryIndex = index;
            }
        }