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

Commit 8b37eb0c authored by Amith Yamasani's avatar Amith Yamasani
Browse files

Fix bug 2045914: When pressing 2 keys, sometimes the second key gets stuck.

Also lock repeatable keys so that you don't get space and 'v', for example,
when you move just a little bit off the spacebar.
parent f768d24f
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -1037,6 +1037,10 @@ public class KeyboardView extends View implements View.OnClickListener {
                        me.getX(), me.getY(), me.getMetaState());
                result = onModifiedTouchEvent(down);
                down.recycle();
                // If it's an up action, then deliver the up as well.
                if (me.getAction() == MotionEvent.ACTION_UP) {
                    result = onModifiedTouchEvent(me);
                }
            } else {
                // Send an up event for the last pointer
                MotionEvent up = MotionEvent.obtain(now, now, MotionEvent.ACTION_UP,
@@ -1116,7 +1120,7 @@ public class KeyboardView extends View implements View.OnClickListener {
                        if (keyIndex == mCurrentKey) {
                            mCurrentKeyTime += eventTime - mLastMoveTime;
                            continueLongPress = true;
                        } else {
                        } else if (mRepeatKeyIndex == NOT_A_KEY) {
                            resetMultiTap();
                            mLastKey = mCurrentKey;
                            mLastCodeX = mLastX;
@@ -1127,10 +1131,6 @@ public class KeyboardView extends View implements View.OnClickListener {
                            mCurrentKeyTime = 0;
                        }
                    }
                    if (keyIndex != mRepeatKeyIndex) {
                        mHandler.removeMessages(MSG_REPEAT);
                        mRepeatKeyIndex = NOT_A_KEY;
                    }
                }
                if (!continueLongPress) {
                    // Cancel old longpress
@@ -1141,7 +1141,7 @@ public class KeyboardView extends View implements View.OnClickListener {
                        mHandler.sendMessageDelayed(msg, LONGPRESS_TIMEOUT);
                    }
                }
                showPreview(keyIndex);
                showPreview(mCurrentKey);
                break;

            case MotionEvent.ACTION_UP: