diff options
author | 2013-12-27 16:38:13 +0900 | |
---|---|---|
committer | 2014-01-22 14:44:25 +0900 | |
commit | 352286a43b0f951a5082ca741c2bd7f501f48c81 (patch) | |
tree | e042c97026ee69ea024723d61532c3951c2d1650 /java/src/com/android/inputmethod/latin/LatinIME.java | |
parent | b8216a4e7eff303f8803552d47b1e553a7992f5b (diff) | |
download | latinime-352286a43b0f951a5082ca741c2bd7f501f48c81.tar.gz latinime-352286a43b0f951a5082ca741c2bd7f501f48c81.tar.xz latinime-352286a43b0f951a5082ca741c2bd7f501f48c81.zip |
[IL64] Pull up X,Y processing, step 3
Bug: 8636060
Change-Id: Ic051e5d5514d270101b0571a2d30e2caa8f85bc1
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LatinIME.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index d3e6a1bc2..0f40e1365 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1246,8 +1246,24 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Implementation of {@link KeyboardActionListener}. @Override - public void onCodeInput(final int primaryCode, final int x, final int y) { - mInputLogic.onCodeInput(primaryCode, x, y, mHandler, mKeyboardSwitcher, mSubtypeSwitcher); + public void onCodeInput(final int codePoint, final int x, final int y) { + final int keyX, keyY; + final Keyboard keyboard = mKeyboardSwitcher.getKeyboard(); + final MainKeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView(); + // x and y include some padding, but everything down the line (especially native + // code) needs the coordinates in the keyboard frame. + // TODO: We should reconsider which coordinate system should be used to represent + // keyboard event. Also we should pull this up -- LatinIME has no business doing + // this transformation, it should be done already before calling onCodeInput. + if (keyboard != null && keyboard.hasProximityCharsCorrection(codePoint)) { + keyX = mainKeyboardView.getKeyX(x); + keyY = mainKeyboardView.getKeyY(y); + } else { + keyX = Constants.NOT_A_COORDINATE; + keyY = Constants.NOT_A_COORDINATE; + } + mInputLogic.onCodeInput(codePoint, keyX, keyY, mHandler, mKeyboardSwitcher, + mSubtypeSwitcher); } // Called from PointerTracker through the KeyboardActionListener interface |