Loading java/src/com/android/inputmethod/keyboard/Keyboard.java +4 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,10 @@ public class Keyboard { return mShiftState.isShiftLocked(); } public boolean isShiftLockShifted() { return mShiftState.isShiftLockShifted(); } public boolean setShifted(boolean newShiftState) { for (final Key key : mShiftKeys) { if (!newShiftState && !mShiftState.isShiftLocked()) { Loading java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +10 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,13 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha return false; } private boolean isShiftLockShifted() { LatinKeyboard latinKeyboard = getLatinKeyboard(); if (latinKeyboard != null) return latinKeyboard.isShiftLockShifted(); return false; } public boolean isAutomaticTemporaryUpperCase() { LatinKeyboard latinKeyboard = getLatinKeyboard(); if (latinKeyboard != null) Loading Loading @@ -559,6 +566,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha if (shiftKeyState.isMomentary()) { // After chording input while normal state. toggleShift(); } else if (isShiftLocked() && !isShiftLockShifted() && shiftKeyState.isPressing() && !withSliding) { // Shift has been long pressed, ignore this release. } else if (isShiftLocked() && !shiftKeyState.isIgnoring() && !withSliding) { // Shift has been pressed without chording while caps lock state. toggleCapsLock(); Loading java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +18 −7 Original line number Diff line number Diff line Loading @@ -351,7 +351,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke // calling setAlreadyProcessed() nor remove the tracker from mPointerQueue. final int primaryCode = ignore ? Keyboard.CODE_HAPTIC_AND_AUDIO_FEEDBACK_ONLY : Keyboard.CODE_CAPSLOCK; mKeyboardActionListener.onCodeInput(primaryCode, null, 0, 0); invokeCodeInput(primaryCode); } // This default implementation returns a more keys panel. Loading Loading @@ -399,18 +399,22 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke if (primaryCode == Keyboard.CODE_DIGIT0 && latinKeyboard.isPhoneKeyboard()) { tracker.onLongPressed(); // Long pressing on 0 in phone number keypad gives you a '+'. return invokeOnKey(Keyboard.CODE_PLUS); invokeCodeInput(Keyboard.CODE_PLUS); invokeReleaseKey(primaryCode); return true; } if (primaryCode == Keyboard.CODE_SHIFT && latinKeyboard.isAlphaKeyboard()) { tracker.onLongPressed(); return invokeOnKey(Keyboard.CODE_CAPSLOCK); invokeCodeInput(Keyboard.CODE_CAPSLOCK); invokeReleaseKey(primaryCode); return true; } } if (primaryCode == Keyboard.CODE_SETTINGS || primaryCode == Keyboard.CODE_SPACE) { // Both long pressing settings key and space key invoke IME switcher dialog. if (getKeyboardActionListener().onCustomRequest( LatinIME.CODE_SHOW_INPUT_METHOD_PICKER)) { if (invokeCustomRequest(LatinIME.CODE_SHOW_INPUT_METHOD_PICKER)) { tracker.onLongPressed(); invokeReleaseKey(primaryCode); return true; } else { return openMoreKeysPanel(parentKey, tracker); Loading @@ -420,11 +424,18 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke } } private boolean invokeOnKey(int primaryCode) { private boolean invokeCustomRequest(int code) { return getKeyboardActionListener().onCustomRequest(code); } private void invokeCodeInput(int primaryCode) { getKeyboardActionListener().onCodeInput(primaryCode, null, KeyboardActionListener.NOT_A_TOUCH_COORDINATE, KeyboardActionListener.NOT_A_TOUCH_COORDINATE); return true; } private void invokeReleaseKey(int primaryCode) { getKeyboardActionListener().onRelease(primaryCode, false); } private boolean openMoreKeysPanel(Key parentKey, PointerTracker tracker) { Loading java/src/com/android/inputmethod/keyboard/internal/KeyboardShiftState.java +4 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,10 @@ public class KeyboardShiftState { return mState == SHIFT_LOCKED || mState == SHIFT_LOCK_SHIFTED; } public boolean isShiftLockShifted() { return mState == SHIFT_LOCK_SHIFTED; } public boolean isAutomaticTemporaryUpperCase() { return mState == AUTO_SHIFTED; } Loading Loading
java/src/com/android/inputmethod/keyboard/Keyboard.java +4 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,10 @@ public class Keyboard { return mShiftState.isShiftLocked(); } public boolean isShiftLockShifted() { return mShiftState.isShiftLockShifted(); } public boolean setShifted(boolean newShiftState) { for (final Key key : mShiftKeys) { if (!newShiftState && !mShiftState.isShiftLocked()) { Loading
java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +10 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,13 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha return false; } private boolean isShiftLockShifted() { LatinKeyboard latinKeyboard = getLatinKeyboard(); if (latinKeyboard != null) return latinKeyboard.isShiftLockShifted(); return false; } public boolean isAutomaticTemporaryUpperCase() { LatinKeyboard latinKeyboard = getLatinKeyboard(); if (latinKeyboard != null) Loading Loading @@ -559,6 +566,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha if (shiftKeyState.isMomentary()) { // After chording input while normal state. toggleShift(); } else if (isShiftLocked() && !isShiftLockShifted() && shiftKeyState.isPressing() && !withSliding) { // Shift has been long pressed, ignore this release. } else if (isShiftLocked() && !shiftKeyState.isIgnoring() && !withSliding) { // Shift has been pressed without chording while caps lock state. toggleCapsLock(); Loading
java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +18 −7 Original line number Diff line number Diff line Loading @@ -351,7 +351,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke // calling setAlreadyProcessed() nor remove the tracker from mPointerQueue. final int primaryCode = ignore ? Keyboard.CODE_HAPTIC_AND_AUDIO_FEEDBACK_ONLY : Keyboard.CODE_CAPSLOCK; mKeyboardActionListener.onCodeInput(primaryCode, null, 0, 0); invokeCodeInput(primaryCode); } // This default implementation returns a more keys panel. Loading Loading @@ -399,18 +399,22 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke if (primaryCode == Keyboard.CODE_DIGIT0 && latinKeyboard.isPhoneKeyboard()) { tracker.onLongPressed(); // Long pressing on 0 in phone number keypad gives you a '+'. return invokeOnKey(Keyboard.CODE_PLUS); invokeCodeInput(Keyboard.CODE_PLUS); invokeReleaseKey(primaryCode); return true; } if (primaryCode == Keyboard.CODE_SHIFT && latinKeyboard.isAlphaKeyboard()) { tracker.onLongPressed(); return invokeOnKey(Keyboard.CODE_CAPSLOCK); invokeCodeInput(Keyboard.CODE_CAPSLOCK); invokeReleaseKey(primaryCode); return true; } } if (primaryCode == Keyboard.CODE_SETTINGS || primaryCode == Keyboard.CODE_SPACE) { // Both long pressing settings key and space key invoke IME switcher dialog. if (getKeyboardActionListener().onCustomRequest( LatinIME.CODE_SHOW_INPUT_METHOD_PICKER)) { if (invokeCustomRequest(LatinIME.CODE_SHOW_INPUT_METHOD_PICKER)) { tracker.onLongPressed(); invokeReleaseKey(primaryCode); return true; } else { return openMoreKeysPanel(parentKey, tracker); Loading @@ -420,11 +424,18 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke } } private boolean invokeOnKey(int primaryCode) { private boolean invokeCustomRequest(int code) { return getKeyboardActionListener().onCustomRequest(code); } private void invokeCodeInput(int primaryCode) { getKeyboardActionListener().onCodeInput(primaryCode, null, KeyboardActionListener.NOT_A_TOUCH_COORDINATE, KeyboardActionListener.NOT_A_TOUCH_COORDINATE); return true; } private void invokeReleaseKey(int primaryCode) { getKeyboardActionListener().onRelease(primaryCode, false); } private boolean openMoreKeysPanel(Key parentKey, PointerTracker tracker) { Loading
java/src/com/android/inputmethod/keyboard/internal/KeyboardShiftState.java +4 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,10 @@ public class KeyboardShiftState { return mState == SHIFT_LOCKED || mState == SHIFT_LOCK_SHIFTED; } public boolean isShiftLockShifted() { return mState == SHIFT_LOCK_SHIFTED; } public boolean isAutomaticTemporaryUpperCase() { return mState == AUTO_SHIFTED; } Loading