aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java7
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java30
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java2
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: