From 352286a43b0f951a5082ca741c2bd7f501f48c81 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Fri, 27 Dec 2013 16:38:13 +0900 Subject: [IL64] Pull up X,Y processing, step 3 Bug: 8636060 Change-Id: Ic051e5d5514d270101b0571a2d30e2caa8f85bc1 --- java/src/com/android/inputmethod/latin/LatinIME.java | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'java/src/com/android/inputmethod/latin/LatinIME.java') 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 -- cgit v1.2.3-83-g751a