diff options
author | 2014-06-26 09:34:18 +0000 | |
---|---|---|
committer | 2014-06-26 09:34:18 +0000 | |
commit | 3c31a060b1cae5fb7d4c27d0f3b386ff79bbbcc7 (patch) | |
tree | 02982e46be3a96baefc689042b300d6d3abd485b /java/src | |
parent | 520605ea313362d81d5f72b469ef09d4ed1430f2 (diff) | |
parent | 310bb2c76f0a7a5cf97b47d029096d6296cdfd0b (diff) | |
download | latinime-3c31a060b1cae5fb7d4c27d0f3b386ff79bbbcc7.tar.gz latinime-3c31a060b1cae5fb7d4c27d0f3b386ff79bbbcc7.tar.xz latinime-3c31a060b1cae5fb7d4c27d0f3b386ff79bbbcc7.zip |
am 310bb2c7: Merge "[HW1] Fix some bugs with event handling"
* commit '310bb2c76f0a7a5cf97b47d029096d6296cdfd0b':
[HW1] Fix some bugs with event handling
Diffstat (limited to 'java/src')
3 files changed, 9 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/event/Event.java b/java/src/com/android/inputmethod/event/Event.java index 4a9163c8e..d257441e0 100644 --- a/java/src/com/android/inputmethod/event/Event.java +++ b/java/src/com/android/inputmethod/event/Event.java @@ -225,6 +225,13 @@ public class Event { null /* suggestedWordInfo */, FLAG_NONE, null); } + // Returns whether this is a function key like backspace, ctrl, settings... as opposed to keys + // that result in input like letters or space. + public boolean isFunctionalKeyEvent() { + // This logic may need to be refined in the future + return NOT_A_CODE_POINT == mCodePoint; + } + // Returns whether this event is for a dead character. @see {@link #FLAG_DEAD} public boolean isDead() { return 0 != (FLAG_DEAD & mFlags); diff --git a/java/src/com/android/inputmethod/event/HardwareKeyboardEventDecoder.java b/java/src/com/android/inputmethod/event/HardwareKeyboardEventDecoder.java index 05ba99923..c61f45efa 100644 --- a/java/src/com/android/inputmethod/event/HardwareKeyboardEventDecoder.java +++ b/java/src/com/android/inputmethod/event/HardwareKeyboardEventDecoder.java @@ -74,7 +74,7 @@ public class HardwareKeyboardEventDecoder implements HardwareEventDecoder { } // If not Enter, then this is just a regular keypress event for a normal character // that can be committed right away, taking into account the current state. - return Event.createHardwareKeypressEvent(keyCode, codePointAndFlags, null /* next */, + return Event.createHardwareKeypressEvent(codePointAndFlags, keyCode, null /* next */, isKeyRepeat); } return Event.createNotHandledEvent(); diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index c9d0dcf60..ec57cd71f 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -399,7 +399,7 @@ public final class InputLogic { } boolean didAutoCorrect = false; - if (Event.NOT_A_KEY_CODE != event.mKeyCode) { + if (event.isFunctionalKeyEvent()) { // A special key, like delete, shift, emoji, or the settings key. switch (event.mKeyCode) { case Constants.CODE_DELETE: |