aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-11-12 15:49:56 -0800
committerTadashi G. Takaoka <takaoka@google.com>2010-11-19 21:36:37 -0800
commit45911256fd4e32880e33c42259b19e8d7af70cb1 (patch)
treed931d58e3ad40784d2b034bf626b754ed4ea3dc2 /java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
parent07f903afbaff989259624f9b757389748929e51a (diff)
downloadlatinime-45911256fd4e32880e33c42259b19e8d7af70cb1.tar.gz
latinime-45911256fd4e32880e33c42259b19e8d7af70cb1.tar.xz
latinime-45911256fd4e32880e33c42259b19e8d7af70cb1.zip
Perform editor action IME_ACTION_NEXT/PREVIOUS by tab key
Bug: 3122995 Change-Id: I44280fe1c6cc27f429b311edec71e1027178222d
Diffstat (limited to 'java/src/com/android/inputmethod/latin/KeyboardSwitcher.java')
-rw-r--r--java/src/com/android/inputmethod/latin/KeyboardSwitcher.java25
1 files changed, 19 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
index 0d116dcf9..7ae597f75 100644
--- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
@@ -462,17 +462,25 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
}
public void updateShiftState() {
+ final ShiftKeyState shiftKeyState = mShiftKeyState;
if (DEBUG_STATE)
Log.d(TAG, "updateShiftState:"
+ " autoCaps=" + mInputMethodService.getCurrentAutoCapsState()
+ " keyboard=" + getLatinKeyboard().getKeyboardShiftState()
- + " shiftKeyState=" + mShiftKeyState);
- if (isAlphabetMode() && !isShiftLocked() && !mShiftKeyState.isIgnoring()) {
- if (mInputMethodService.getCurrentAutoCapsState()) {
- setAutomaticTemporaryUpperCase();
- } else {
- setManualTemporaryUpperCase(mShiftKeyState.isMomentary());
+ + " shiftKeyState=" + shiftKeyState);
+ if (isAlphabetMode()) {
+ if (!isShiftLocked() && !shiftKeyState.isIgnoring()) {
+ if (shiftKeyState.isReleasing() && mInputMethodService.getCurrentAutoCapsState()) {
+ // Only when shift key is releasing, automatic temporary upper case will be set.
+ setAutomaticTemporaryUpperCase();
+ } else {
+ setManualTemporaryUpperCase(shiftKeyState.isMomentary());
+ }
}
+ } else {
+ // In symbol keyboard mode, we should clear shift key state because only alphabet
+ // keyboard has shift key.
+ shiftKeyState.onRelease();
}
}
@@ -565,6 +573,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
}
public void onOtherKeyPressed() {
+ if (DEBUG_STATE)
+ Log.d(TAG, "onOtherKeyPressed:"
+ + " keyboard=" + getLatinKeyboard().getKeyboardShiftState()
+ + " shiftKeyState=" + mShiftKeyState
+ + " symbolKeyState=" + mSymbolKeyState);
mShiftKeyState.onOtherKeyPressed();
mSymbolKeyState.onOtherKeyPressed();
}