Mini keyboard works even while shift is being pressed
Bug: 3038861 Change-Id: I94011ca80710ff6eb24e940104f7d9d3bb86840amain
parent
6e5a398685
commit
afb3532779
|
@ -205,6 +205,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
|
||||||
private long mMiniKeyboardPopupTime;
|
private long mMiniKeyboardPopupTime;
|
||||||
private int[] mWindowOffset;
|
private int[] mWindowOffset;
|
||||||
private final float mMiniKeyboardSlideAllowance;
|
private final float mMiniKeyboardSlideAllowance;
|
||||||
|
private int mMiniKeyboardTrackerId;
|
||||||
|
|
||||||
/** Listener for {@link OnKeyboardActionListener}. */
|
/** Listener for {@link OnKeyboardActionListener}. */
|
||||||
private OnKeyboardActionListener mKeyboardActionListener;
|
private OnKeyboardActionListener mKeyboardActionListener;
|
||||||
|
@ -1023,6 +1024,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
|
||||||
if (result) {
|
if (result) {
|
||||||
dismissKeyPreview();
|
dismissKeyPreview();
|
||||||
tracker.setAlreadyProcessed();
|
tracker.setAlreadyProcessed();
|
||||||
|
mMiniKeyboardTrackerId = tracker.mPointerId;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -1258,9 +1260,15 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
|
||||||
// Needs to be called after the gesture detector gets a turn, as it may have
|
// Needs to be called after the gesture detector gets a turn, as it may have
|
||||||
// displayed the mini keyboard
|
// displayed the mini keyboard
|
||||||
if (mMiniKeyboard != null) {
|
if (mMiniKeyboard != null) {
|
||||||
MotionEvent translated = generateMiniKeyboardMotionEvent(action, x, y, eventTime);
|
final int miniKeyboardPointerIndex = me.findPointerIndex(mMiniKeyboardTrackerId);
|
||||||
|
if (miniKeyboardPointerIndex >= 0 && miniKeyboardPointerIndex < pointerCount) {
|
||||||
|
final int miniKeyboardX = (int)me.getX(miniKeyboardPointerIndex);
|
||||||
|
final int miniKeyboardY = (int)me.getY(miniKeyboardPointerIndex);
|
||||||
|
MotionEvent translated = generateMiniKeyboardMotionEvent(action,
|
||||||
|
miniKeyboardX, miniKeyboardY, eventTime);
|
||||||
mMiniKeyboard.onTouchEvent(translated);
|
mMiniKeyboard.onTouchEvent(translated);
|
||||||
translated.recycle();
|
translated.recycle();
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -515,7 +515,8 @@ public class PointerTracker {
|
||||||
int primaryCode = key.codes[0];
|
int primaryCode = key.codes[0];
|
||||||
code = String.format((primaryCode < 0) ? "%4d" : "0x%02x", primaryCode);
|
code = String.format((primaryCode < 0) ? "%4d" : "0x%02x", primaryCode);
|
||||||
}
|
}
|
||||||
Log.d(TAG, String.format("%s [%d] %3d,%3d %3d(%s) %s", title, mPointerId, x, y, keyIndex,
|
Log.d(TAG, String.format("%s%s[%d] %3d,%3d %3d(%s) %s", title,
|
||||||
code, isModifier() ? "modifier" : ""));
|
(mKeyAlreadyProcessed ? "-" : " "), mPointerId, x, y, keyIndex, code,
|
||||||
|
(isModifier() ? "modifier" : "")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue