1e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka/* 2e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka * Copyright (C) 2012 The Android Open Source Project 3e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka * 4ce6bcdd1a547c9874f05a08074cafdfea16196d6Tadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License"); 5ce6bcdd1a547c9874f05a08074cafdfea16196d6Tadashi G. Takaoka * you may not use this file except in compliance with the License. 6ce6bcdd1a547c9874f05a08074cafdfea16196d6Tadashi G. Takaoka * You may obtain a copy of the License at 7e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka * 8ce6bcdd1a547c9874f05a08074cafdfea16196d6Tadashi G. Takaoka * http://www.apache.org/licenses/LICENSE-2.0 9e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka * 10e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software 11ce6bcdd1a547c9874f05a08074cafdfea16196d6Tadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS, 12ce6bcdd1a547c9874f05a08074cafdfea16196d6Tadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ce6bcdd1a547c9874f05a08074cafdfea16196d6Tadashi G. Takaoka * See the License for the specific language governing permissions and 14ce6bcdd1a547c9874f05a08074cafdfea16196d6Tadashi G. Takaoka * limitations under the License. 15e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka */ 16e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 17e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaokapackage com.android.inputmethod.keyboard.internal; 18e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 19b4598f7d05d6afd01ddc7ea0bed71dda837d1debTadashi G. Takaokaimport android.test.suitebuilder.annotation.SmallTest; 20b4598f7d05d6afd01ddc7ea0bed71dda837d1debTadashi G. Takaoka 21b4598f7d05d6afd01ddc7ea0bed71dda837d1debTadashi G. Takaoka@SmallTest 2260c4594ee6415b266b3418e46d09e6a5b3ed23e1Tadashi G. Takaokapublic class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { 23373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Shift key in alphabet. 24373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka public void testShiftAlphabet() { 25373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter into alphabet shifted. 2664e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 27373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 28373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, back to alphabet. 2964e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 30e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 31373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter into alphabet shifted. 3264e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 33373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release letter key, switch back to alphabet. 3464e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka pressAndReleaseKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 35e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka } 36e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 37e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Shift key in symbols. 38e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka public void testShiftSymbols() { 39e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 40e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 41e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 42e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 43e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 44e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 45e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, back to symbols. 46e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 47e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 48e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 49e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 50e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release symbol letter key, remain in symbols shifted. 51e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey('1', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 52e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka } 53e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 54e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka // Switching between alphabet and symbols. 55e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka public void testAlphabetAndSymbols() { 5664e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 57e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 58373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "ABC" key, back to alphabet. 5964e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 6064e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 61e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 62e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 63e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 64e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 65e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, back to alphabet. 66e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 67e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, back to symbols (not symbols shifted). 68e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 6987e025da11703af65e7bb85670adac5b54e2a367Tadashi G. Takaoka } 7087e025da11703af65e7bb85670adac5b54e2a367Tadashi G. Takaoka 71373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Switching between alphabet shifted and symbols. 72373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka public void testAlphabetShiftedAndSymbols() { 73373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter into alphabet shifted. 74373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 75e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 7664e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 77e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 78e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, back to alphabet (not alphabet shifted). 79e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 80e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 81e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release shift key, enter into alphabet shifted. 82e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 83e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 84e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 85e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\< key, enter into symbols shifted. 86e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 87373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "ABC" key, back to alphabet (not alphabet shifted). 88373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 8987e025da11703af65e7bb85670adac5b54e2a367Tadashi G. Takaoka } 9087e025da11703af65e7bb85670adac5b54e2a367Tadashi G. Takaoka 91373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Switching between alphabet shift locked and symbols. 92373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka public void testAlphabetShiftLockedAndSymbols() { 93373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 94f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 950d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 96373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 9764e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 98e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 99747ed9e99a6a83e54d97d96aa3cbb1abd11eaf0fTadashi G. Takaoka // Press/release "ABC" key, back to alphabet shift locked. 100373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 10164e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 102e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 103e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 104e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 105e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 106e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, back to alphabet shift locked. 107e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 108e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, back to symbols (not symbols shifted). 109e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 110e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka } 111e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 112373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Automatic switch back to alphabet by space key. 11306bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka public void testSwitchBackBySpace() { 11464e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 115e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 116373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Enter symbol letter. 117e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 118e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter space, switch back to alphabet. 119e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 120e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 121e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 122e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 123e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 124e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 125e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter symbol shift letter. 126e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 127373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Enter space, switch back to alphabet. 128e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_UNSHIFTED); 129e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols (not symbols shifted). 130e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 131e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka } 132e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 133373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Automatic switch back to alphabet shift locked test by space key. 134373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka public void testSwitchBackBySpaceShiftLocked() { 13506bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 136f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 1370d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 13806bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 13906bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Press/release "?123" key, enter into symbols. 140e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 141373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Enter symbol letter. 142e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 143747ed9e99a6a83e54d97d96aa3cbb1abd11eaf0fTadashi G. Takaoka // Enter space, switch back to alphabet shift locked. 144e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_SHIFT_LOCKED); 145e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 146e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 147e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 148e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 149e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 150e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter symbol shift letter. 151e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 152e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter space, switch back to alphabet shift locked. 153e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_SHIFT_LOCKED); 154373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka } 15587e025da11703af65e7bb85670adac5b54e2a367Tadashi G. Takaoka 156373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Automatic upper case test 157373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka public void testAutomaticUpperCase() { 158553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka // Set capitalize the first character of all words mode. 159553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka setAutoCapsMode(CAP_MODE_WORDS); 160373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Load keyboard, should be in automatic shifted. 161373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 16264e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka 163373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release letter key, switch to alphabet. 164373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey('A', ALPHABET_AUTOMATIC_SHIFTED, ALPHABET_UNSHIFTED); 165373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release auto caps trigger letter, should be in automatic shifted. 166373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 16787e025da11703af65e7bb85670adac5b54e2a367Tadashi G. Takaoka 168373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, back to alphabet. 169373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 170373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release letter key, remain in alphabet. 171373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey('a', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 172373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release auto caps trigger letter, should be in automatic shifted. 173373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 174e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 175373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 176e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 177373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release symbol letter key, remain in symbols. 178e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 179e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release space, switch back to automatic shifted. 180e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 181e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 182e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 183e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 184e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 185e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 186e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release symbol shift letter key, remain in symbols shifted. 187e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 188747ed9e99a6a83e54d97d96aa3cbb1abd11eaf0fTadashi G. Takaoka // Press/release space, switch back to automatic shifted. 189e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 190e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka } 191e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 192e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka // Long press shift key. 193e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka public void testLongPressShift() { 194a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Set auto caps mode off. 195553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka setAutoCapsMode(CAP_MODE_OFF); 196a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Load keyboard, should be in alphabet. 197a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 19864e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 199f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 2000d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 201a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Press/release shift key, back to alphabet. 202a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 20364e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka 204a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 205f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 2060d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 20764e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Press/release letter key, remain in shift locked. 20864e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka pressAndReleaseKey('A', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 20964e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Press/release word separator, remain in shift locked. 21064e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka pressAndReleaseKey(CODE_SPACE, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 211373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, back to alphabet. 212757f8d96eea3dfb5951243d2ebb4b763db868471Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 213e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 21464e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 215f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 2160d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 217373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Long press shift key, back to alphabet. 218f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED, 2190d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_UNSHIFTED); 220a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka 221a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 222a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 223a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 224f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 2250d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 226a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Press/release shift key, back to alphabet. 227a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 228a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka 229553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka // Set capitalize the first character of all words mode. 230553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka setAutoCapsMode(CAP_MODE_WORDS); 231a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Load keyboard, should be in automatic shifted. 232a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 233a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 234f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 2350d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 236a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka // Press/release shift key, back to alphabet. 237a5c96f376ad57e78a88942bb618e067054ed818aTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 238e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka } 239e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 240e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka // Double tap shift key. 241e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka public void testDoubleTapShift() { 242e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka // First shift key tap. 24364e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 244e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka // Second shift key tap. 2450ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 246e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 247e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka // First shift key tap. 248757f8d96eea3dfb5951243d2ebb4b763db868471Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 249e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka // Second shift key tap. 2500ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 2510ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka 2520ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // Press/release shift key, enter alphabet manual shifted. 2530ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 2540ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka 2550ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // First shift key tap. 2560ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 2570ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // Second shift key tap. 2580ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 2590ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka 2600ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // First shift key tap. 2610ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 2620ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // Second shift key tap. 2630ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 2640ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka 265553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka // Set capitalize the first character of all words mode. 266553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka setAutoCapsMode(CAP_MODE_WORDS); 2670ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // Load keyboard, should be in automatic shifted. 2680ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 2690ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka 2700ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // First shift key tap. 2710ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 2720ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // Second shift key tap. 2730ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 2740ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka 2750ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // First shift key tap. 2760ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 2770ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka // Second shift key tap. 2780ed2d3a4491cb0f6142975a15b653be6079b6a4eTadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 279e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka } 280e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 281e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka // Update shift state. 282e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka public void testUpdateShiftState() { 283373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Set auto caps mode off. 284553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka setAutoCapsMode(CAP_MODE_OFF); 285373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Load keyboard, should be in alphabet. 286373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 287373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Update shift state, remained in alphabet. 288373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka updateShiftState(ALPHABET_UNSHIFTED); 289373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 290373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 291373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 292373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Update shift state, back to alphabet. 293373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka updateShiftState(ALPHABET_UNSHIFTED); 294373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 295373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 296f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 2970d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 298373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Update shift state, remained in alphabet shift locked. 299373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka updateShiftState(ALPHABET_SHIFT_LOCKED); 300373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Long press shift key, back to alphabet. 301f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED, 3020d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_UNSHIFTED); 303373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 304373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 305e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 306373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Update shift state, remained in symbols. 307e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka updateShiftState(SYMBOLS_UNSHIFTED); 308e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 309e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter symbols shifted. 310e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 311e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Update shift state, remained in symbols shifted. 312e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka updateShiftState(SYMBOLS_SHIFTED); 313373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 314553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka // Set capitalize the first character of all words mode. 315553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka setAutoCapsMode(CAP_MODE_WORDS); 316373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Load keyboard, should be in automatic shifted. 317373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 318373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Update shift state, remained in automatic shifted. 319373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka updateShiftState(ALPHABET_AUTOMATIC_SHIFTED); 32064e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka 321373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter alphabet. 322373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 323373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 324373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 325373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Update shift state, enter to automatic shifted (not alphabet shifted). 32664e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka updateShiftState(ALPHABET_AUTOMATIC_SHIFTED); 32764e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka 328373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 329f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 3300d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 331373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Update shift state, remained in alphabet shift locked (not automatic shifted). 332373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka updateShiftState(ALPHABET_SHIFT_LOCKED); 333373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Long press shift key, back to alphabet. 334f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED, 3350d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_UNSHIFTED); 33664e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka 337373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Load keyboard, should be in automatic shifted. 338373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 339373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 340e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 341373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Update shift state, remained in symbols. 342e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka updateShiftState(SYMBOLS_UNSHIFTED); 343e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 344e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter symbols shifted. 345e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 346e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Update shift state, remained in symbols shifted. 347e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka updateShiftState(SYMBOLS_SHIFTED); 348e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka } 349e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 350373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Sliding input in alphabet. 351373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka public void testSlidingAlphabet() { 352373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Alphabet -> shift key + letter -> alphabet. 353373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press and slide from shift key, enter alphabet shifted. 354373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 35541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter keys, switch back to alphabet. 35641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('A', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 35741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingOnKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 358373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 359373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Alphabet -> "?123" key + letter -> alphabet. 360373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press and slide from "123?" key, enter symbols. 361e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 36241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release into symbol letter keys, switch back to alphabet. 363e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('@', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 364e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('!', SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 365373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 366373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Alphabet shifted -> shift key + letter -> alphabet. 367373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 368373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 369373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press and slide from shift key, remain alphabet shifted. 370373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 37141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter keys, switch back to alphabet (not alphabet shifted). 37241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('A', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 37341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingOnKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 374373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 375373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Alphabet shifted -> "?123" key + letter -> alphabet. 376373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 377373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 378373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press and slide from "123?" key, enter symbols. 379e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 38041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release into symbol letter keys, switch back to alphabet (not alphabet shifted). 381e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('@', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 382e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('!', SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 38364e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka 384373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Alphabet shift locked -> shift key + letter -> alphabet shift locked. 38564e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 386f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 3870d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 388373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press and slide from "123?" key, enter symbols. 389e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 39041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release into symbol letter keys, switch back to alphabet shift locked. 391e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('!', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 392e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('!', SYMBOLS_UNSHIFTED, ALPHABET_SHIFT_LOCKED); 39364e01baadeb624781d9d056b62679b25ea0fe5c0Tadashi G. Takaoka 394373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Alphabet shift locked -> "?123" key + letter -> alphabet shift locked. 395373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press and slide from shift key, enter alphabet shifted. 396757f8d96eea3dfb5951243d2ebb4b763db868471Tadashi G. Takaoka pressAndSlideFromKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCKED); 39741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter keys, switch back to shift locked. 39841016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('A', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 39941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingOnKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 40041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka } 40141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 40241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding input in alphabet. 40341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka public void testSlidingAlphabetCancel() { 40441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Alphabet -> shift key + letter -> cancel -> alphabet. 40541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from shift key, enter alphabet shifted. 40641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 40741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from shift key, enter alphabet shifted. 40841016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 40941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter key, remains in alphabet shifted. 41041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 41141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding, switch back to alphabet. 41241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingAndCancel(ALPHABET_UNSHIFTED); 41341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 41441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Alphabet -> "?123" key + letter -> cancel -> alphabet. 41541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from "123?" key, enter symbols. 416e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 41741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release into symbol letter key, remains in symbols. 418e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('!', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 41941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding, switch back to alphabet. 42041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingAndCancel(ALPHABET_UNSHIFTED); 42141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 42241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Alphabet shifted -> shift key + letter -> cancel -> alphabet. 42341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 42441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 42541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from shift key, remain alphabet shifted. 42641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 42741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter key, remains in alphabet shifted. 42841016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 42941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding, switch back to alphabet (not alphabet shifted). 43041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingAndCancel(ALPHABET_UNSHIFTED); 43141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 43241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Alphabet shifted -> "?123" key + letter -> cancel -> alphabet. 43341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 43441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 43541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from "123?" key, enter symbols. 436e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 43741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release into symbol letter key, remains in symbols. 438e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('!', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 43941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding, switch back to alphabet (not alphabet shifted). 44041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingAndCancel(ALPHABET_UNSHIFTED); 44141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 44241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Alphabet shift locked -> shift key + letter -> cancel -> alphabet shift locked. 44341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 444f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 44541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 44641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from "123?" key, enter symbols. 447e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 44841016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release into symbol letter key, remains in symbols. 449e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('!', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 45041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding, switch back to alphabet shift locked. 45141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingAndCancel( ALPHABET_SHIFT_LOCKED); 45241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 45341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Alphabet shift locked -> "?123" key + letter -> cancel -> alphabet shift locked. 45441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from shift key, enter alphabet shifted. 45541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCKED); 45641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter key, remains in alphabet shift locked. 45741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 458747ed9e99a6a83e54d97d96aa3cbb1abd11eaf0fTadashi G. Takaoka // Enter/release letter key, switch back to shift locked. 45941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka stopSlidingAndCancel(ALPHABET_SHIFT_LOCKED); 460373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka } 461373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 462373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Sliding input in symbols. 463373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka public void testSlidingSymbols() { 464e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Symbols -> "=\<" key + letter -> symbols. 465373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 466e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 467e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from shift key, enter symbols shifted. 468e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 469e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release symbol shifted letter keys, switch back to symbols. 470e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('|', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 471e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('~', SYMBOLS_SHIFTED, SYMBOLS_UNSHIFTED); 472e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 47341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Symbols -> "ABC" key + letter -> Symbols. 47441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from "ABC" key, enter alphabet. 47541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 47641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter keys, switch back to symbols. 47741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 478e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('a', ALPHABET_UNSHIFTED, SYMBOLS_UNSHIFTED); 47941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release "ABC" key, switch to alphabet. 48041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 48141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 48241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Alphabet shifted -> symbols -> "ABC" key + letter -> symbols -> 48341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // alphabet. 48441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Load keyboard 48541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 48641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 48741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 48841016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 489e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 49041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from "ABC" key. 49141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 49241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter keys, switch back to symbols. 49341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 494e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('a', ALPHABET_UNSHIFTED, SYMBOLS_UNSHIFTED); 49541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 49641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 49741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 49841016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Alphabet shift locked -> symbols -> "ABC" key + letter -> symbols -> 49941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // alphabet shift locked. 50041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Load keyboard 50141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 50241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 503f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 50441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 50541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 506e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 50741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press and slide from "ABC" key, enter alphabet shift locked. 50841016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 50941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter keys, switch back to symbols. 51041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 511e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('A', ALPHABET_SHIFT_LOCKED, SYMBOLS_UNSHIFTED); 512e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet shift locked. 513e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 514e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 515e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols -> "=\<" key + letter -> symbols -> 516e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // alphabet shift locked. 517e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Load keyboard 518e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 519e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Long press shift key, enter alphabet shift locked. 520e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 521e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka ALPHABET_SHIFT_LOCKED); 522e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 523e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 524e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "=\<" key, enter symbols shifted. 525e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 526e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release symbols shift letter keys, switch back to symbols. 527e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('|', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 528e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('~', SYMBOLS_SHIFTED, SYMBOLS_UNSHIFTED); 52941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release "ABC" key, switch to alphabet shift locked. 53041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 53141016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka } 53241016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka 53341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding input in symbols. 53441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka public void testSlidingSymbolsCancel() { 535e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Symbols -> "=\<" key + letter -> cancel -> symbols. 53641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 537e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 538e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from shift key, enter symbols shifted. 539e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 540e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release symbol shifted letter key, remains in symbols shifted. 541e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('|', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 542e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Cancel sliding, switch back to symbols. 543e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 544e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 545373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Symbols -> "ABC" key + letter -> Symbols. 546373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press and slide from "ABC" key, enter alphabet. 547373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 54841016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter keys, remains in alphabet. 54941016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 55041016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding, switch back to symbols. 551e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 552373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "ABC" key, switch to alphabet. 553373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 554373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 555f057b25cddb3e5e18bc56e8ddaab541044c6ba58Tadashi G. Takaoka // Alphabet shifted -> symbols -> "ABC" key + letter -> symbols -> 556f057b25cddb3e5e18bc56e8ddaab541044c6ba58Tadashi G. Takaoka // alphabet. 557373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Load keyboard 558373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 559373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 560373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 561373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 562e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 563373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press and slide from "ABC" key. 564373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 56541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter key, remains in alphabet. 56641016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 56741016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding, switch back to symbols. 568e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 569373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 570373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 571373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka 572f057b25cddb3e5e18bc56e8ddaab541044c6ba58Tadashi G. Takaoka // Alphabet shift locked -> symbols -> "ABC" key + letter -> symbols -> 573f057b25cddb3e5e18bc56e8ddaab541044c6ba58Tadashi G. Takaoka // alphabet shift locked. 574373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Load keyboard 575373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 576373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 577f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 5780d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 579373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "?123" key, enter into symbols. 580e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 581747ed9e99a6a83e54d97d96aa3cbb1abd11eaf0fTadashi G. Takaoka // Press and slide from "ABC" key, enter alphabet shift locked. 582373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 58341016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Enter/release letter key, remains in alphabet shifted. 58441016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 58541016acacfa21354f59ed51db1f85ea3d99bf6a4Tadashi G. Takaoka // Cancel sliding, switch back to symbols. 586e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 587e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet shift locked. 588e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 589e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 590e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols -> "=\<" key + letter -> symbols -> 591e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // alphabet shift locked. 592e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Load keyboard 593e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 594e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Long press shift key, enter alphabet shift locked. 595e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 596e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka ALPHABET_SHIFT_LOCKED); 597e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 598e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 599e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "=\<" key, enter symbols shifted. 600e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 601e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release symbols shift letter key, remains in symbols shifted. 602e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('|', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 603e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Cancel sliding, switch back to symbols. 604e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 605e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet shift locked. 606e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 607e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka } 608e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 609e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Sliding input in symbols shifted. 610e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka public void testSlidingSymbolsShifted() { 611e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Symbols shifted -> "?123" + letter -> symbols shifted. 612e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 613e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 614e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 615e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 616e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from shift key, enter symbols. 617e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 618e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release symbol letter keys, switch back to symbols shifted. 619e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('2', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 620e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_SHIFTED); 621e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 622e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Symbols shifted -> "ABC" key + letter -> symbols shifted. 623e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "ABC" key, enter alphabet. 624e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 625e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release letter keys, switch back to symbols shifted. 626e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 627e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('a', ALPHABET_UNSHIFTED, SYMBOLS_SHIFTED); 628e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet. 629e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 630e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 631e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shifted -> symbols shifted -> "ABC" + letter -> symbols shifted -> 632e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // alphabet. 633e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Load keyboard 634e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 635e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release shift key, enter alphabet shifted. 636e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 637e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 638e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 639e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 640e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 641e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "ABC" key. 642e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 643e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release letter keys, switch back to symbols shifted. 644e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 645e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('a', ALPHABET_UNSHIFTED, SYMBOLS_SHIFTED); 646e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 647e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 648e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 649e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols shifted -> "ABC" + letter -> symbols shifted -> 650e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // alphabet shift locked. 651e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Load keyboard 652e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 653e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Long press shift key, enter alphabet shift locked. 654e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 655e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka ALPHABET_SHIFT_LOCKED); 656e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 657e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 658e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 659e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 660e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "ABC" key. 661e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 662e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release letter keys, switch back to symbols shifted. 663e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 664e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('A', ALPHABET_SHIFT_LOCKED, SYMBOLS_SHIFTED); 665e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet shift locked. 666e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 667e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 668e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols shifted -> "?123" + letter -> symbols shifted -> 669e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // alphabet shift locked. 670e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Load keyboard 671e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 672e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Long press shift key, enter alphabet shift locked. 673e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 674e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka ALPHABET_SHIFT_LOCKED); 675e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 676e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 677e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 678e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 679e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "?123" key. 680e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 681e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release symbol letter keys, switch back to symbols shifted. 682e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('2', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 683e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingOnKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_SHIFTED); 684e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet shift locked. 685e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 686e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka } 687e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 688e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Cancel sliding input in symbols shifted. 689e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka public void testSlidingSymbolsShiftedCancel() { 690e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Symbols shifted -> "?123" + letter -> symbols shifted. 691e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 692e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 693e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 694e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 695e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from shift key, enter symbols. 696e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 697e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release symbol letter key, remains in symbols. 698e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('2', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 699e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Cancel sliding, switch back to symbols shifted. 700e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_SHIFTED); 701e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 702e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Symbols shifted -> "ABC" key + letter -> symbols shifted. 703e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "ABC" key, enter alphabet. 704e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 705e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release letter key, remains in alphabet. 706e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 707e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Cancel sliding, switch back to symbols shifted. 708e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_SHIFTED); 709e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet. 710e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 711e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 712e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shifted -> symbols shifted -> "ABC" + letter -> symbols shifted -> 713e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // alphabet. 714e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Load keyboard 715e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 716e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release shift key, enter alphabet shifted. 717e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 718e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 719e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 720e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 721e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 722e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "ABC" key. 723e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 724e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release letter key, remains in alphabet. 725e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 726e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Cancel sliding, switch back to symbols shifted. 727e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_SHIFTED); 728e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 729e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 730e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 731e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols shifted -> "ABC" + letter -> symbols shifted -> 732e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // alphabet shift locked. 733e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Load keyboard 734e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 735e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Long press shift key, enter alphabet shift locked. 736e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 737e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka ALPHABET_SHIFT_LOCKED); 738e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 739e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 740e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 741e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 742e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "ABC" key. 743e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 744e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release letter key, remains in alphabet shift locked. 745e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 746e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Cancel sliding, switch back to symbols shifted. 747e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_SHIFTED); 748e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, switch to alphabet shift locked. 749e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 750e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 751e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols shifted -> "?123" + letter -> symbols shifted -> 752e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // alphabet shift locked. 753e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Load keyboard 754e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 755e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Long press shift key, enter alphabet shift locked. 756e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 757e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka ALPHABET_SHIFT_LOCKED); 758e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter into symbols. 759e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 760e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter into symbols shifted. 761e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 762e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press and slide from "?123" key. 763e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 764e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Enter/release symbol letter key, remains in symbols. 765e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndSlideFromKey('2', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 766e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Cancel sliding, switch back to symbols shifted. 767e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka stopSlidingAndCancel(SYMBOLS_SHIFTED); 768f057b25cddb3e5e18bc56e8ddaab541044c6ba58Tadashi G. Takaoka // Press/release "ABC" key, switch to alphabet shift locked. 769f057b25cddb3e5e18bc56e8ddaab541044c6ba58Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 770e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka } 771e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka 77206bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to new text field. 77306bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka public void testChangeFocus() { 77406bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Press/release shift key. 77506bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 77606bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to new text field. 77706bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 77806bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 77906bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 780f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 7810d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 78206bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to new text field. 78306bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 78406bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 785373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "?123" key. 786e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 787e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Change focus to new text field. 788e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 789e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 790e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key. 791e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 792e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key. 793e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 79406bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to new text field. 79506bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka loadKeyboard(ALPHABET_UNSHIFTED); 79606bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka } 79706bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 79806bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to auto caps text field. 79906bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka public void testChangeFocusAutoCaps() { 800553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka // Set capitalize the first character of all words mode. 801553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka setAutoCapsMode(CAP_MODE_WORDS); 80206bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to new text field. 80306bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 80406bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 80506bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Press/release shift key, enter alphabet. 80606bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 80706bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to new text field. 80806bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 80906bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 81006bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 811f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 8120d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 81306bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to new text field. 81406bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 81506bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 816373f452584f5a6881d496eec9beb262fccf4a2a4Tadashi G. Takaoka // Press/release "?123" key. 817e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 818e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Change focus to new text field. 819e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 820e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 821e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key. 822e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 823e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key. 824e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 82506bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change focus to new text field. 82606bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 82706bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka } 82806bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 82906bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Change orientation. 83006bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka public void testChangeOrientation() { 83149bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Alphabet -> rotate -> alphabet. 83249bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka updateShiftState(ALPHABET_UNSHIFTED); 83349bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Rotate device, remain in alphabet. 83449bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka rotateDevice(ALPHABET_UNSHIFTED); 83549bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka 8367f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka // Alphabet automatic shifted -> rotate -> automatic shifted. 8377f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka // Set capitalize the first character of all words mode. 8387f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka setAutoCapsMode(CAP_MODE_WORDS); 8397f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka // Press/release auto caps trigger letter to enter alphabet automatic shifted. 8407f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 8417f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka // Rotate device, remain in alphabet. 8427f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka rotateDevice(ALPHABET_AUTOMATIC_SHIFTED); 8437f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka setAutoCapsMode(CAP_MODE_OFF); 8447f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka // Press/release auto caps trigger letter to reset shift state. 8457f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_AUTOMATIC_SHIFTED, ALPHABET_UNSHIFTED); 8467f8dd50b8fe38738e52511e1d0bf082172b8932dTadashi G. Takaoka 84749bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Alphabet shifted -> rotate -> alphabet shifted. 84849bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Press/release shift key, enter alphabet shifted. 84906bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 85049bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Rotate device, remain in alphabet shifted. 85106bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka rotateDevice(ALPHABET_MANUAL_SHIFTED); 85206bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 85349bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Alphabet shift locked -> rotate -> alphabet shift locked. 85406bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka // Long press shift key, enter alphabet shift locked. 855f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 8560d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 85749bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Rotate device, remain in alphabet shift locked. 85806bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka rotateDevice(ALPHABET_SHIFT_LOCKED); 85906bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka 86049bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Alphabet shift locked -> symbols -> rotate -> symbols -> 86149bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Alphabet shift locked. 86249bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Press/release "?123" key, enter symbols. 863e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 86449bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Rotate device, remain in symbols, 865e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka rotateDevice(SYMBOLS_UNSHIFTED); 866e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, alphabet shift locked state should be maintained. 867e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 868e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 869e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols shifted -> rotate -> symbols shifted -> 870e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked. 871e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter symbols. 872e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 873e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter symbols shifted. 874e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 875e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Rotate device, remain in symbols shifted. 876e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka rotateDevice(SYMBOLS_SHIFTED); 87749bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka // Press/release "ABC" key, alphabet shift locked state should be maintained. 87849bd49c8fbc394d277e89e8d105450d3e2818f50Tadashi G. Takaoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 879e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 880e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols shifted -> alphabet shift locked -> rotate -> 881e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet shift locked -> symbols. 882e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter symbols. 883e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 884e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter symbols shifted. 885e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 886e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, enter alphabet shift locked. 887e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 888e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Rotate device, remain in alphabet shift locked. 889e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka rotateDevice(ALPHABET_SHIFT_LOCKED); 890e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter symbols (not symbols shifted). 891e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 892e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka 893e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet -> symbols shifted -> alphabet -> rotate -> 894e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Alphabet -> symbols. 895e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka loadKeyboard(ALPHABET_UNSHIFTED); 896e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter symbols. 897e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 898e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "=\<" key, enter symbols shifted. 899e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 900e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "ABC" key, enter alphabet. 901e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 902e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Rotate device, remain in alphabet shift locked. 903e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka rotateDevice(ALPHABET_UNSHIFTED); 904e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka // Press/release "?123" key, enter symbols (not symbols shifted). 905e3150664ae4d8d007b8571b5bd0fd2259aac3a20Satoshi Kataoka pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 90606bc1db017b14614353137fde035d2eed666a74fTadashi G. Takaoka } 907beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka 908beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly type shift key. 909beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka public void testRapidShiftTyping() { 910beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Press/release shift key 911beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 912beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 913beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 914beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release shift key. 915beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 916beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 917beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 918beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release shift key. 919beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 920beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 921beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 922beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka 923beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Press/release shift key to enter alphabet manual shifted. 924beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 925beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Press/release shift key 926beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 927beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 928beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 929beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release shift key. 930beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 931beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 932beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 933beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release shift key. 934beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 935beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 936beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 937beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka 938beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Long press shift key to enter alphabet shift locked. 939f87e8f7ec1efb93398d909c67468d716b0248fe7Tadashi G. Takaoka longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 9400d6d4c20ce2e6ff75901d29aa9b2ad11b8dd1118Tadashi G. Takaoka ALPHABET_SHIFT_LOCKED); 941beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Press/release shift key 942beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 943beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 944beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 945beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release shift key. 946beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 947beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 948beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 949beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release shift key. 950beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 951beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 952beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 953beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka 954553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka // Set capitalize the first character of all words mode. 955553e2f19c1607080ff874cb642237f947809cdb3Tadashi G. Takaoka setAutoCapsMode(CAP_MODE_WORDS); 956beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Press/release auto caps trigger letter to enter alphabet automatic shifted. 957beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 958beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Press/release shift key 959beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 960beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 961beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 962beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release shift key. 963beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 964beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 965beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 966beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release shift key. 967beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 968beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka // Rapidly press/release letter key. 969beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 970beb08b398fa73a26f2d42d6feec87e34a96ca2d9Tadashi G. Takaoka } 971e47bd3f4fbf38ae20c5b61fac563a3f6152037a3Tadashi G. Takaoka} 972