aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-06-26 09:30:30 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-06-24 01:52:26 +0000
commit310bb2c76f0a7a5cf97b47d029096d6296cdfd0b (patch)
treed49b5eb43d2fe15f5edc9556f109f23b6f773c34 /java/src
parent90759f2ab77e9bb6a47b59e6de89318516a65393 (diff)
parent09291050a028192a39fd745c6696df1c504eb38b (diff)
downloadlatinime-310bb2c76f0a7a5cf97b47d029096d6296cdfd0b.tar.gz
latinime-310bb2c76f0a7a5cf97b47d029096d6296cdfd0b.tar.xz
latinime-310bb2c76f0a7a5cf97b47d029096d6296cdfd0b.zip
Merge "[HW1] Fix some bugs with event handling"
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/event/Event.java7
-rw-r--r--java/src/com/android/inputmethod/event/HardwareKeyboardEventDecoder.java2
-rw-r--r--java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java2
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: