diff options
author | 2010-09-14 09:43:59 -0700 | |
---|---|---|
committer | 2010-09-14 09:43:59 -0700 | |
commit | b36a653ca65f3c26ba070a73b9d43beb57f620ee (patch) | |
tree | b9197a93cd16196ca8ef596ba6a1ff7ba5b5cb05 /java/src | |
parent | b2835ef2e506b7d1b3db1c810b7dae349d2461d2 (diff) | |
parent | 12a4e08a6440c95f29dc04efe83515a4ed045487 (diff) | |
download | latinime-b36a653ca65f3c26ba070a73b9d43beb57f620ee.tar.gz latinime-b36a653ca65f3c26ba070a73b9d43beb57f620ee.tar.xz latinime-b36a653ca65f3c26ba070a73b9d43beb57f620ee.zip |
am 12a4e08a: Handling multi-character uppercase key input
Merge commit '12a4e08a6440c95f29dc04efe83515a4ed045487' into gingerbread-plus-aosp
* commit '12a4e08a6440c95f29dc04efe83515a4ed045487':
Handling multi-character uppercase key input
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 50fc4840d..4e8723c76 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1348,14 +1348,21 @@ public class LatinIME extends InputMethodService } } if (mKeyboardSwitcher.getInputView().isShifted()) { - // TODO: This doesn't work with [beta], need to fix it in the next release. if (keyCodes == null || keyCodes[0] < Character.MIN_CODE_POINT || keyCodes[0] > Character.MAX_CODE_POINT) { return; } primaryCode = keyCodes[0]; - if (mKeyboardSwitcher.isAlphabetMode()) { - primaryCode = Character.toUpperCase(primaryCode); + if (mKeyboardSwitcher.isAlphabetMode() && Character.isLowerCase(primaryCode)) { + int upperCaseCode = Character.toUpperCase(primaryCode); + if (upperCaseCode != primaryCode) { + primaryCode = upperCaseCode; + } else { + // Some keys, such as [eszett], have upper case as multi-characters. + String upperCase = new String(new int[] {primaryCode}, 0, 1).toUpperCase(); + onText(upperCase); + return; + } } } if (mPredicting) { |