diff options
Diffstat (limited to 'java/src')
3 files changed, 14 insertions, 25 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java index fa87535b4..22ab3e4e5 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java @@ -257,13 +257,6 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, } /** - * Toggle caps lock state triggered by user touch event. - */ - public void toggleCapsLock() { - mState.onToggleCapsLock(); - } - - /** * Update keyboard shift state triggered by connected EditText status change. */ public void updateShiftState() { diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java index fbce937c6..c43b9852b 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java @@ -29,7 +29,7 @@ import com.android.inputmethod.keyboard.Keyboard; * The input events are {@link #onLoadKeyboard(String, boolean)}, {@link #onSaveKeyboardState()}, * {@link #onPressKey(int)}, {@link #onReleaseKey(int, boolean)}, * {@link #onCodeInput(int, boolean, boolean)}, {@link #onCancelInput(boolean)}, - * {@link #onUpdateShiftState(boolean)}, and {@link #onToggleCapsLock()}. + * {@link #onUpdateShiftState(boolean)}. * * The actions are {@link SwitchActions}'s methods. */ @@ -403,6 +403,18 @@ public class KeyboardState { + " single=" + isSinglePointer + " autoCaps=" + autoCaps + " " + this); } + + if (mIsAlphabetMode && code == Keyboard.CODE_CAPSLOCK) { + if (mKeyboardShiftState.isShiftLocked()) { + setShiftLocked(false); + // Shift key is long pressed or double tapped while caps lock state, we will + // toggle back to normal state. And mark as if shift key is released. + mShiftKeyState.onRelease(); + } else { + setShiftLocked(true); + } + } + switch (mSwitchState) { case SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL: // Only distinct multi touch devices can be in this state. @@ -471,22 +483,6 @@ public class KeyboardState { } } - public void onToggleCapsLock() { - if (DEBUG_EVENT) { - Log.d(TAG, "onToggleCapsLock: " + this); - } - if (mIsAlphabetMode) { - if (mKeyboardShiftState.isShiftLocked()) { - setShiftLocked(false); - // Shift key is long pressed while caps lock state, we will toggle back to normal - // state. And mark as if shift key is released. - mShiftKeyState.onRelease(); - } else { - setShiftLocked(true); - } - } - } - private static String shiftModeToString(int shiftMode) { switch (shiftMode) { case SwitchActions.UNSHIFT: return "UNSHIFT"; diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index ee3b2d2e4..d11aaeb96 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1267,7 +1267,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar onSettingsKeyPressed(); break; case Keyboard.CODE_CAPSLOCK: - switcher.toggleCapsLock(); + // Caps lock code is handled in KeyboardSwitcher.onCodeInput() below. hapticAndAudioFeedback(primaryCode); break; case Keyboard.CODE_SHORTCUT: |