diff options
author | 2010-09-15 15:02:29 +0900 | |
---|---|---|
committer | 2010-09-15 18:41:54 +0900 | |
commit | 2aa8078df86029dab394d8dd616f4f6decb39035 (patch) | |
tree | 3ac9d585a9dde5ec5fc370772cd9fa74247388f9 /java/src/com/android/inputmethod/latin/PointerTracker.java | |
parent | eb68036798f53763768e4ab37c7bfab9a2f36025 (diff) | |
download | latinime-2aa8078df86029dab394d8dd616f4f6decb39035.tar.gz latinime-2aa8078df86029dab394d8dd616f4f6decb39035.tar.xz latinime-2aa8078df86029dab394d8dd616f4f6decb39035.zip |
All keys should be processed before processing modifier key
Bug: 2987077
Change-Id: I971c44be121d8780ec27aa1649fd0925e249fbbc
Diffstat (limited to 'java/src/com/android/inputmethod/latin/PointerTracker.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/PointerTracker.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java index 958e57618..a612c8eec 100644 --- a/java/src/com/android/inputmethod/latin/PointerTracker.java +++ b/java/src/com/android/inputmethod/latin/PointerTracker.java @@ -123,8 +123,8 @@ public class PointerTracker { return isValidKeyIndex(keyIndex) ? mKeys[keyIndex] : null; } - public boolean isModifier() { - Key key = getKey(mCurrentKey); + private boolean isModifierInternal(int keyIndex) { + Key key = getKey(keyIndex); if (key == null) return false; int primaryCode = key.codes[0]; @@ -132,6 +132,14 @@ public class PointerTracker { || primaryCode == Keyboard.KEYCODE_MODE_CHANGE; } + public boolean isModifier() { + return isModifierInternal(mCurrentKey); + } + + public boolean isOnModifierKey(int x, int y) { + return isModifierInternal(mKeyDetector.getKeyIndexAndNearbyCodes(x, y, null)); + } + public void updateKey(int keyIndex) { if (mKeyAlreadyProcessed) return; |