1 /* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.inputmethod.keyboard.internal; 18 19 import android.test.suitebuilder.annotation.SmallTest; 20 21 @SmallTest 22 public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { 23 // Shift key in alphabet. 24 public void testShiftAlphabet() { 25 // Press/release shift key, enter into alphabet shifted. 26 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 27 28 // Press/release shift key, back to alphabet. 29 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 30 31 // Press/release shift key, enter into alphabet shifted. 32 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 33 // Press/release letter key, switch back to alphabet. 34 pressAndReleaseKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 35 } 36 37 // Shift key in symbols. 38 public void testShiftSymbols() { 39 // Press/release "?123" key, enter into symbols. 40 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 41 42 // Press/release "=\<" key, enter into symbols shifted. 43 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 44 45 // Press/release "?123" key, back to symbols. 46 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 47 48 // Press/release "=\<" key, enter into symbols shifted. 49 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 50 // Press/release symbol letter key, remain in symbols shifted. 51 pressAndReleaseKey('1', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 52 } 53 54 // Switching between alphabet and symbols. 55 public void testAlphabetAndSymbols() { 56 // Press/release "?123" key, enter into symbols. 57 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 58 // Press/release "ABC" key, back to alphabet. 59 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 60 // Press/release "?123" key, enter into symbols. 61 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 62 63 // Press/release "=\<" key, enter into symbols shifted. 64 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 65 // Press/release "ABC" key, back to alphabet. 66 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 67 // Press/release "?123" key, back to symbols (not symbols shifted). 68 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 69 } 70 71 // Switching between alphabet shifted and symbols. 72 public void testAlphabetShiftedAndSymbols() { 73 // Press/release shift key, enter into alphabet shifted. 74 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 75 76 // Press/release "?123" key, enter into symbols. 77 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 78 // Press/release "ABC" key, back to alphabet (not alphabet shifted). 79 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 80 81 // Press/release shift key, enter into alphabet shifted. 82 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 83 // Press/release "?123" key, enter into symbols. 84 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 85 // Press/release "=\< key, enter into symbols shifted. 86 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 87 // Press/release "ABC" key, back to alphabet (not alphabet shifted). 88 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 89 } 90 91 // Switching between alphabet shift locked and symbols. 92 public void testAlphabetShiftLockedAndSymbols() { 93 // Long press shift key, enter alphabet shift locked. 94 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 95 ALPHABET_SHIFT_LOCKED); 96 97 // Press/release "?123" key, enter into symbols. 98 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 99 // Press/release "ABC" key, back to alphabet shift locked. 100 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 101 // Press/release "?123" key, enter into symbols. 102 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 103 104 // Press/release "=\<" key, enter into symbols shifted. 105 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 106 // Press/release "ABC" key, back to alphabet shift locked. 107 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 108 // Press/release "?123" key, back to symbols (not symbols shifted). 109 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 110 } 111 112 // Automatic switch back to alphabet by space key. 113 public void testSwitchBackBySpace() { 114 // Press/release "?123" key, enter into symbols. 115 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 116 // Enter symbol letter. 117 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 118 // Enter space, switch back to alphabet. 119 pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 120 121 // Press/release "?123" key, enter into symbols. 122 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 123 // Press/release "=\<" key, enter into symbols shifted. 124 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 125 // Enter symbol shift letter. 126 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 127 // Enter space, switch back to alphabet. 128 pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_UNSHIFTED); 129 // Press/release "?123" key, enter into symbols (not symbols shifted). 130 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 131 } 132 133 // Automatic switch back to alphabet shift locked test by space key. 134 public void testSwitchBackBySpaceShiftLocked() { 135 // Long press shift key, enter alphabet shift locked. 136 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 137 ALPHABET_SHIFT_LOCKED); 138 139 // Press/release "?123" key, enter into symbols. 140 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 141 // Enter symbol letter. 142 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 143 // Enter space, switch back to alphabet shift locked. 144 pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_SHIFT_LOCKED); 145 146 // Press/release "?123" key, enter into symbols. 147 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 148 // Press/release "=\<" key, enter into symbols shifted. 149 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 150 // Enter symbol shift letter. 151 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 152 // Enter space, switch back to alphabet shift locked. 153 pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_SHIFT_LOCKED); 154 } 155 156 // Automatic upper case test 157 public void testAutomaticUpperCase() { 158 // Set capitalize the first character of all words mode. 159 setAutoCapsMode(CAP_MODE_WORDS); 160 // Load keyboard, should be in automatic shifted. 161 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 162 163 // Press/release letter key, switch to alphabet. 164 pressAndReleaseKey('A', ALPHABET_AUTOMATIC_SHIFTED, ALPHABET_UNSHIFTED); 165 // Press/release auto caps trigger letter, should be in automatic shifted. 166 pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 167 168 // Press/release shift key, back to alphabet. 169 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 170 // Press/release letter key, remain in alphabet. 171 pressAndReleaseKey('a', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 172 // Press/release auto caps trigger letter, should be in automatic shifted. 173 pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 174 175 // Press/release "?123" key, enter into symbols. 176 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 177 // Press/release symbol letter key, remain in symbols. 178 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 179 // Press/release space, switch back to automatic shifted. 180 pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 181 182 // Press/release "?123" key, enter into symbols. 183 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 184 // Press/release "=\<" key, enter into symbols shifted. 185 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 186 // Press/release symbol shift letter key, remain in symbols shifted. 187 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 188 // Press/release space, switch back to automatic shifted. 189 pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 190 } 191 192 // Long press shift key. 193 public void testLongPressShift() { 194 // Set auto caps mode off. 195 setAutoCapsMode(CAP_MODE_OFF); 196 // Load keyboard, should be in alphabet. 197 loadKeyboard(ALPHABET_UNSHIFTED); 198 // Long press shift key, enter alphabet shift locked. 199 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 200 ALPHABET_SHIFT_LOCKED); 201 // Press/release shift key, back to alphabet. 202 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 203 204 // Long press shift key, enter alphabet shift locked. 205 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 206 ALPHABET_SHIFT_LOCKED); 207 // Press/release letter key, remain in shift locked. 208 pressAndReleaseKey('A', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 209 // Press/release word separator, remain in shift locked. 210 pressAndReleaseKey(CODE_SPACE, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 211 // Press/release shift key, back to alphabet. 212 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 213 214 // Long press shift key, enter alphabet shift locked. 215 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 216 ALPHABET_SHIFT_LOCKED); 217 // Long press shift key, back to alphabet. 218 longPressAndReleaseShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED, 219 ALPHABET_UNSHIFTED); 220 221 // Press/release shift key, enter alphabet shifted. 222 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 223 // Long press shift key, enter alphabet shift locked. 224 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 225 ALPHABET_SHIFT_LOCKED); 226 // Press/release shift key, back to alphabet. 227 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 228 229 // Set capitalize the first character of all words mode. 230 setAutoCapsMode(CAP_MODE_WORDS); 231 // Load keyboard, should be in automatic shifted. 232 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 233 // Long press shift key, enter alphabet shift locked. 234 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 235 ALPHABET_SHIFT_LOCKED); 236 // Press/release shift key, back to alphabet. 237 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 238 } 239 240 // Double tap shift key. 241 public void testDoubleTapShift() { 242 // First shift key tap. 243 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 244 // Second shift key tap. 245 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 246 247 // First shift key tap. 248 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 249 // Second shift key tap. 250 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 251 252 // Press/release shift key, enter alphabet manual shifted. 253 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 254 255 // First shift key tap. 256 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 257 // Second shift key tap. 258 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 259 260 // First shift key tap. 261 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 262 // Second shift key tap. 263 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 264 265 // Set capitalize the first character of all words mode. 266 setAutoCapsMode(CAP_MODE_WORDS); 267 // Load keyboard, should be in automatic shifted. 268 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 269 270 // First shift key tap. 271 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 272 // Second shift key tap. 273 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 274 275 // First shift key tap. 276 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 277 // Second shift key tap. 278 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 279 } 280 281 // Update shift state. 282 public void testUpdateShiftState() { 283 // Set auto caps mode off. 284 setAutoCapsMode(CAP_MODE_OFF); 285 // Load keyboard, should be in alphabet. 286 loadKeyboard(ALPHABET_UNSHIFTED); 287 // Update shift state, remained in alphabet. 288 updateShiftState(ALPHABET_UNSHIFTED); 289 290 // Press/release shift key, enter alphabet shifted. 291 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 292 // Update shift state, back to alphabet. 293 updateShiftState(ALPHABET_UNSHIFTED); 294 295 // Long press shift key, enter alphabet shift locked. 296 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 297 ALPHABET_SHIFT_LOCKED); 298 // Update shift state, remained in alphabet shift locked. 299 updateShiftState(ALPHABET_SHIFT_LOCKED); 300 // Long press shift key, back to alphabet. 301 longPressAndReleaseShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED, 302 ALPHABET_UNSHIFTED); 303 304 // Press/release "?123" key, enter into symbols. 305 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 306 // Update shift state, remained in symbols. 307 updateShiftState(SYMBOLS_UNSHIFTED); 308 309 // Press/release "=\<" key, enter symbols shifted. 310 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 311 // Update shift state, remained in symbols shifted. 312 updateShiftState(SYMBOLS_SHIFTED); 313 314 // Set capitalize the first character of all words mode. 315 setAutoCapsMode(CAP_MODE_WORDS); 316 // Load keyboard, should be in automatic shifted. 317 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 318 // Update shift state, remained in automatic shifted. 319 updateShiftState(ALPHABET_AUTOMATIC_SHIFTED); 320 321 // Press/release shift key, enter alphabet. 322 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 323 // Press/release shift key, enter alphabet shifted. 324 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 325 // Update shift state, enter to automatic shifted (not alphabet shifted). 326 updateShiftState(ALPHABET_AUTOMATIC_SHIFTED); 327 328 // Long press shift key, enter alphabet shift locked. 329 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 330 ALPHABET_SHIFT_LOCKED); 331 // Update shift state, remained in alphabet shift locked (not automatic shifted). 332 updateShiftState(ALPHABET_SHIFT_LOCKED); 333 // Long press shift key, back to alphabet. 334 longPressAndReleaseShiftKey(ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCK_SHIFTED, 335 ALPHABET_UNSHIFTED); 336 337 // Load keyboard, should be in automatic shifted. 338 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 339 // Press/release "?123" key, enter into symbols. 340 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 341 // Update shift state, remained in symbols. 342 updateShiftState(SYMBOLS_UNSHIFTED); 343 344 // Press/release "=\<" key, enter symbols shifted. 345 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 346 // Update shift state, remained in symbols shifted. 347 updateShiftState(SYMBOLS_SHIFTED); 348 } 349 350 // Sliding input in alphabet. 351 public void testSlidingAlphabet() { 352 // Alphabet -> shift key + letter -> alphabet. 353 // Press and slide from shift key, enter alphabet shifted. 354 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 355 // Enter/release letter keys, switch back to alphabet. 356 pressAndSlideFromKey('A', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 357 stopSlidingOnKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 358 359 // Alphabet -> "?123" key + letter -> alphabet. 360 // Press and slide from "123?" key, enter symbols. 361 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 362 // Enter/release into symbol letter keys, switch back to alphabet. 363 pressAndSlideFromKey('@', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 364 stopSlidingOnKey('!', SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 365 366 // Alphabet shifted -> shift key + letter -> alphabet. 367 // Press/release shift key, enter alphabet shifted. 368 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 369 // Press and slide from shift key, remain alphabet shifted. 370 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 371 // Enter/release letter keys, switch back to alphabet (not alphabet shifted). 372 pressAndSlideFromKey('A', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 373 stopSlidingOnKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 374 375 // Alphabet shifted -> "?123" key + letter -> alphabet. 376 // Press/release shift key, enter alphabet shifted. 377 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 378 // Press and slide from "123?" key, enter symbols. 379 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 380 // Enter/release into symbol letter keys, switch back to alphabet (not alphabet shifted). 381 pressAndSlideFromKey('@', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 382 stopSlidingOnKey('!', SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 383 384 // Alphabet shift locked -> shift key + letter -> alphabet shift locked. 385 // Long press shift key, enter alphabet shift locked. 386 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 387 ALPHABET_SHIFT_LOCKED); 388 // Press and slide from "123?" key, enter symbols. 389 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 390 // Enter/release into symbol letter keys, switch back to alphabet shift locked. 391 pressAndSlideFromKey('!', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 392 stopSlidingOnKey('!', SYMBOLS_UNSHIFTED, ALPHABET_SHIFT_LOCKED); 393 394 // Alphabet shift locked -> "?123" key + letter -> alphabet shift locked. 395 // Press and slide from shift key, enter alphabet shifted. 396 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCKED); 397 // Enter/release letter keys, switch back to shift locked. 398 pressAndSlideFromKey('A', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 399 stopSlidingOnKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 400 } 401 402 // Cancel sliding input in alphabet. 403 public void testSlidingAlphabetCancel() { 404 // Alphabet -> shift key + letter -> cancel -> alphabet. 405 // Press and slide from shift key, enter alphabet shifted. 406 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 407 // Press and slide from shift key, enter alphabet shifted. 408 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 409 // Enter/release letter key, remains in alphabet shifted. 410 pressAndSlideFromKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 411 // Cancel sliding, switch back to alphabet. 412 stopSlidingAndCancel(ALPHABET_UNSHIFTED); 413 414 // Alphabet -> "?123" key + letter -> cancel -> alphabet. 415 // Press and slide from "123?" key, enter symbols. 416 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 417 // Enter/release into symbol letter key, remains in symbols. 418 pressAndSlideFromKey('!', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 419 // Cancel sliding, switch back to alphabet. 420 stopSlidingAndCancel(ALPHABET_UNSHIFTED); 421 422 // Alphabet shifted -> shift key + letter -> cancel -> alphabet. 423 // Press/release shift key, enter alphabet shifted. 424 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 425 // Press and slide from shift key, remain alphabet shifted. 426 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 427 // Enter/release letter key, remains in alphabet shifted. 428 pressAndSlideFromKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 429 // Cancel sliding, switch back to alphabet (not alphabet shifted). 430 stopSlidingAndCancel(ALPHABET_UNSHIFTED); 431 432 // Alphabet shifted -> "?123" key + letter -> cancel -> alphabet. 433 // Press/release shift key, enter alphabet shifted. 434 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 435 // Press and slide from "123?" key, enter symbols. 436 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 437 // Enter/release into symbol letter key, remains in symbols. 438 pressAndSlideFromKey('!', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 439 // Cancel sliding, switch back to alphabet (not alphabet shifted). 440 stopSlidingAndCancel(ALPHABET_UNSHIFTED); 441 442 // Alphabet shift locked -> shift key + letter -> cancel -> alphabet shift locked. 443 // Long press shift key, enter alphabet shift locked. 444 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 445 ALPHABET_SHIFT_LOCKED); 446 // Press and slide from "123?" key, enter symbols. 447 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 448 // Enter/release into symbol letter key, remains in symbols. 449 pressAndSlideFromKey('!', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 450 // Cancel sliding, switch back to alphabet shift locked. 451 stopSlidingAndCancel( ALPHABET_SHIFT_LOCKED); 452 453 // Alphabet shift locked -> "?123" key + letter -> cancel -> alphabet shift locked. 454 // Press and slide from shift key, enter alphabet shifted. 455 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCKED); 456 // Enter/release letter key, remains in alphabet shift locked. 457 pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 458 // Enter/release letter key, switch back to shift locked. 459 stopSlidingAndCancel(ALPHABET_SHIFT_LOCKED); 460 } 461 462 // Sliding input in symbols. 463 public void testSlidingSymbols() { 464 // Symbols -> "=\<" key + letter -> symbols. 465 // Press/release "?123" key, enter into symbols. 466 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 467 // Press and slide from shift key, enter symbols shifted. 468 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 469 // Enter/release symbol shifted letter keys, switch back to symbols. 470 pressAndSlideFromKey('|', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 471 stopSlidingOnKey('~', SYMBOLS_SHIFTED, SYMBOLS_UNSHIFTED); 472 473 // Symbols -> "ABC" key + letter -> Symbols. 474 // Press and slide from "ABC" key, enter alphabet. 475 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 476 // Enter/release letter keys, switch back to symbols. 477 pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 478 stopSlidingOnKey('a', ALPHABET_UNSHIFTED, SYMBOLS_UNSHIFTED); 479 // Press/release "ABC" key, switch to alphabet. 480 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 481 482 // Alphabet shifted -> symbols -> "ABC" key + letter -> symbols -> 483 // alphabet. 484 // Load keyboard 485 loadKeyboard(ALPHABET_UNSHIFTED); 486 // Press/release shift key, enter alphabet shifted. 487 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 488 // Press/release "?123" key, enter into symbols. 489 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 490 // Press and slide from "ABC" key. 491 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 492 // Enter/release letter keys, switch back to symbols. 493 pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 494 stopSlidingOnKey('a', ALPHABET_UNSHIFTED, SYMBOLS_UNSHIFTED); 495 // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 496 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 497 498 // Alphabet shift locked -> symbols -> "ABC" key + letter -> symbols -> 499 // alphabet shift locked. 500 // Load keyboard 501 loadKeyboard(ALPHABET_UNSHIFTED); 502 // Long press shift key, enter alphabet shift locked. 503 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 504 ALPHABET_SHIFT_LOCKED); 505 // Press/release "?123" key, enter into symbols. 506 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 507 // Press and slide from "ABC" key, enter alphabet shift locked. 508 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 509 // Enter/release letter keys, switch back to symbols. 510 pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 511 stopSlidingOnKey('A', ALPHABET_SHIFT_LOCKED, SYMBOLS_UNSHIFTED); 512 // Press/release "ABC" key, switch to alphabet shift locked. 513 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 514 515 // Alphabet shift locked -> symbols -> "=\<" key + letter -> symbols -> 516 // alphabet shift locked. 517 // Load keyboard 518 loadKeyboard(ALPHABET_UNSHIFTED); 519 // Long press shift key, enter alphabet shift locked. 520 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 521 ALPHABET_SHIFT_LOCKED); 522 // Press/release "?123" key, enter into symbols. 523 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 524 // Press and slide from "=\<" key, enter symbols shifted. 525 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 526 // Enter/release symbols shift letter keys, switch back to symbols. 527 pressAndSlideFromKey('|', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 528 stopSlidingOnKey('~', SYMBOLS_SHIFTED, SYMBOLS_UNSHIFTED); 529 // Press/release "ABC" key, switch to alphabet shift locked. 530 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 531 } 532 533 // Cancel sliding input in symbols. 534 public void testSlidingSymbolsCancel() { 535 // Symbols -> "=\<" key + letter -> cancel -> symbols. 536 // Press/release "?123" key, enter into symbols. 537 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 538 // Press and slide from shift key, enter symbols shifted. 539 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 540 // Enter/release symbol shifted letter key, remains in symbols shifted. 541 pressAndSlideFromKey('|', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 542 // Cancel sliding, switch back to symbols. 543 stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 544 545 // Symbols -> "ABC" key + letter -> Symbols. 546 // Press and slide from "ABC" key, enter alphabet. 547 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 548 // Enter/release letter keys, remains in alphabet. 549 pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 550 // Cancel sliding, switch back to symbols. 551 stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 552 // Press/release "ABC" key, switch to alphabet. 553 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 554 555 // Alphabet shifted -> symbols -> "ABC" key + letter -> symbols -> 556 // alphabet. 557 // Load keyboard 558 loadKeyboard(ALPHABET_UNSHIFTED); 559 // Press/release shift key, enter alphabet shifted. 560 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 561 // Press/release "?123" key, enter into symbols. 562 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 563 // Press and slide from "ABC" key. 564 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 565 // Enter/release letter key, remains in alphabet. 566 pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 567 // Cancel sliding, switch back to symbols. 568 stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 569 // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 570 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 571 572 // Alphabet shift locked -> symbols -> "ABC" key + letter -> symbols -> 573 // alphabet shift locked. 574 // Load keyboard 575 loadKeyboard(ALPHABET_UNSHIFTED); 576 // Long press shift key, enter alphabet shift locked. 577 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 578 ALPHABET_SHIFT_LOCKED); 579 // Press/release "?123" key, enter into symbols. 580 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 581 // Press and slide from "ABC" key, enter alphabet shift locked. 582 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 583 // Enter/release letter key, remains in alphabet shifted. 584 pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 585 // Cancel sliding, switch back to symbols. 586 stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 587 // Press/release "ABC" key, switch to alphabet shift locked. 588 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 589 590 // Alphabet shift locked -> symbols -> "=\<" key + letter -> symbols -> 591 // alphabet shift locked. 592 // Load keyboard 593 loadKeyboard(ALPHABET_UNSHIFTED); 594 // Long press shift key, enter alphabet shift locked. 595 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 596 ALPHABET_SHIFT_LOCKED); 597 // Press/release "?123" key, enter into symbols. 598 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 599 // Press and slide from "=\<" key, enter symbols shifted. 600 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 601 // Enter/release symbols shift letter key, remains in symbols shifted. 602 pressAndSlideFromKey('|', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 603 // Cancel sliding, switch back to symbols. 604 stopSlidingAndCancel(SYMBOLS_UNSHIFTED); 605 // Press/release "ABC" key, switch to alphabet shift locked. 606 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 607 } 608 609 // Sliding input in symbols shifted. 610 public void testSlidingSymbolsShifted() { 611 // Symbols shifted -> "?123" + letter -> symbols shifted. 612 // Press/release "?123" key, enter into symbols. 613 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 614 // Press/release "=\<" key, enter into symbols shifted. 615 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 616 // Press and slide from shift key, enter symbols. 617 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 618 // Enter/release symbol letter keys, switch back to symbols shifted. 619 pressAndSlideFromKey('2', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 620 stopSlidingOnKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_SHIFTED); 621 622 // Symbols shifted -> "ABC" key + letter -> symbols shifted. 623 // Press and slide from "ABC" key, enter alphabet. 624 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 625 // Enter/release letter keys, switch back to symbols shifted. 626 pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 627 stopSlidingOnKey('a', ALPHABET_UNSHIFTED, SYMBOLS_SHIFTED); 628 // Press/release "ABC" key, switch to alphabet. 629 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 630 631 // Alphabet shifted -> symbols shifted -> "ABC" + letter -> symbols shifted -> 632 // alphabet. 633 // Load keyboard 634 loadKeyboard(ALPHABET_UNSHIFTED); 635 // Press/release shift key, enter alphabet shifted. 636 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 637 // Press/release "?123" key, enter into symbols. 638 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 639 // Press/release "=\<" key, enter into symbols shifted. 640 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 641 // Press and slide from "ABC" key. 642 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 643 // Enter/release letter keys, switch back to symbols shifted. 644 pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 645 stopSlidingOnKey('a', ALPHABET_UNSHIFTED, SYMBOLS_SHIFTED); 646 // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 647 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 648 649 // Alphabet shift locked -> symbols shifted -> "ABC" + letter -> symbols shifted -> 650 // alphabet shift locked. 651 // Load keyboard 652 loadKeyboard(ALPHABET_UNSHIFTED); 653 // Long press shift key, enter alphabet shift locked. 654 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 655 ALPHABET_SHIFT_LOCKED); 656 // Press/release "?123" key, enter into symbols. 657 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 658 // Press/release "=\<" key, enter into symbols shifted. 659 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 660 // Press and slide from "ABC" key. 661 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 662 // Enter/release letter keys, switch back to symbols shifted. 663 pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 664 stopSlidingOnKey('A', ALPHABET_SHIFT_LOCKED, SYMBOLS_SHIFTED); 665 // Press/release "ABC" key, switch to alphabet shift locked. 666 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 667 668 // Alphabet shift locked -> symbols shifted -> "?123" + letter -> symbols shifted -> 669 // alphabet shift locked. 670 // Load keyboard 671 loadKeyboard(ALPHABET_UNSHIFTED); 672 // Long press shift key, enter alphabet shift locked. 673 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 674 ALPHABET_SHIFT_LOCKED); 675 // Press/release "?123" key, enter into symbols. 676 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 677 // Press/release "=\<" key, enter into symbols shifted. 678 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 679 // Press and slide from "?123" key. 680 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 681 // Enter/release symbol letter keys, switch back to symbols shifted. 682 pressAndSlideFromKey('2', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 683 stopSlidingOnKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_SHIFTED); 684 // Press/release "ABC" key, switch to alphabet shift locked. 685 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 686 } 687 688 // Cancel sliding input in symbols shifted. 689 public void testSlidingSymbolsShiftedCancel() { 690 // Symbols shifted -> "?123" + letter -> symbols shifted. 691 // Press/release "?123" key, enter into symbols. 692 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 693 // Press/release "=\<" key, enter into symbols shifted. 694 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 695 // Press and slide from shift key, enter symbols. 696 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 697 // Enter/release symbol letter key, remains in symbols. 698 pressAndSlideFromKey('2', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 699 // Cancel sliding, switch back to symbols shifted. 700 stopSlidingAndCancel(SYMBOLS_SHIFTED); 701 702 // Symbols shifted -> "ABC" key + letter -> symbols shifted. 703 // Press and slide from "ABC" key, enter alphabet. 704 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 705 // Enter/release letter key, remains in alphabet. 706 pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 707 // Cancel sliding, switch back to symbols shifted. 708 stopSlidingAndCancel(SYMBOLS_SHIFTED); 709 // Press/release "ABC" key, switch to alphabet. 710 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 711 712 // Alphabet shifted -> symbols shifted -> "ABC" + letter -> symbols shifted -> 713 // alphabet. 714 // Load keyboard 715 loadKeyboard(ALPHABET_UNSHIFTED); 716 // Press/release shift key, enter alphabet shifted. 717 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 718 // Press/release "?123" key, enter into symbols. 719 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 720 // Press/release "=\<" key, enter into symbols shifted. 721 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 722 // Press and slide from "ABC" key. 723 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 724 // Enter/release letter key, remains in alphabet. 725 pressAndSlideFromKey('z', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 726 // Cancel sliding, switch back to symbols shifted. 727 stopSlidingAndCancel(SYMBOLS_SHIFTED); 728 // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 729 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 730 731 // Alphabet shift locked -> symbols shifted -> "ABC" + letter -> symbols shifted -> 732 // alphabet shift locked. 733 // Load keyboard 734 loadKeyboard(ALPHABET_UNSHIFTED); 735 // Long press shift key, enter alphabet shift locked. 736 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 737 ALPHABET_SHIFT_LOCKED); 738 // Press/release "?123" key, enter into symbols. 739 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 740 // Press/release "=\<" key, enter into symbols shifted. 741 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 742 // Press and slide from "ABC" key. 743 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 744 // Enter/release letter key, remains in alphabet shift locked. 745 pressAndSlideFromKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 746 // Cancel sliding, switch back to symbols shifted. 747 stopSlidingAndCancel(SYMBOLS_SHIFTED); 748 // Press/release "ABC" key, switch to alphabet shift locked. 749 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 750 751 // Alphabet shift locked -> symbols shifted -> "?123" + letter -> symbols shifted -> 752 // alphabet shift locked. 753 // Load keyboard 754 loadKeyboard(ALPHABET_UNSHIFTED); 755 // Long press shift key, enter alphabet shift locked. 756 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 757 ALPHABET_SHIFT_LOCKED); 758 // Press/release "?123" key, enter into symbols. 759 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 760 // Press/release "=\<" key, enter into symbols shifted. 761 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 762 // Press and slide from "?123" key. 763 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 764 // Enter/release symbol letter key, remains in symbols. 765 pressAndSlideFromKey('2', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 766 // Cancel sliding, switch back to symbols shifted. 767 stopSlidingAndCancel(SYMBOLS_SHIFTED); 768 // Press/release "ABC" key, switch to alphabet shift locked. 769 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 770 } 771 772 // Change focus to new text field. 773 public void testChangeFocus() { 774 // Press/release shift key. 775 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 776 // Change focus to new text field. 777 loadKeyboard(ALPHABET_UNSHIFTED); 778 779 // Long press shift key, enter alphabet shift locked. 780 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 781 ALPHABET_SHIFT_LOCKED); 782 // Change focus to new text field. 783 loadKeyboard(ALPHABET_UNSHIFTED); 784 785 // Press/release "?123" key. 786 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 787 // Change focus to new text field. 788 loadKeyboard(ALPHABET_UNSHIFTED); 789 790 // Press/release "?123" key. 791 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 792 // Press/release "=\<" key. 793 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 794 // Change focus to new text field. 795 loadKeyboard(ALPHABET_UNSHIFTED); 796 } 797 798 // Change focus to auto caps text field. 799 public void testChangeFocusAutoCaps() { 800 // Set capitalize the first character of all words mode. 801 setAutoCapsMode(CAP_MODE_WORDS); 802 // Change focus to new text field. 803 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 804 805 // Press/release shift key, enter alphabet. 806 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 807 // Change focus to new text field. 808 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 809 810 // Long press shift key, enter alphabet shift locked. 811 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 812 ALPHABET_SHIFT_LOCKED); 813 // Change focus to new text field. 814 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 815 816 // Press/release "?123" key. 817 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 818 // Change focus to new text field. 819 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 820 821 // Press/release "?123" key. 822 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 823 // Press/release "=\<" key. 824 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 825 // Change focus to new text field. 826 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 827 } 828 829 // Change orientation. 830 public void testChangeOrientation() { 831 // Alphabet -> rotate -> alphabet. 832 updateShiftState(ALPHABET_UNSHIFTED); 833 // Rotate device, remain in alphabet. 834 rotateDevice(ALPHABET_UNSHIFTED); 835 836 // Alphabet automatic shifted -> rotate -> automatic shifted. 837 // Set capitalize the first character of all words mode. 838 setAutoCapsMode(CAP_MODE_WORDS); 839 // Press/release auto caps trigger letter to enter alphabet automatic shifted. 840 pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 841 // Rotate device, remain in alphabet. 842 rotateDevice(ALPHABET_AUTOMATIC_SHIFTED); 843 setAutoCapsMode(CAP_MODE_OFF); 844 // Press/release auto caps trigger letter to reset shift state. 845 pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_AUTOMATIC_SHIFTED, ALPHABET_UNSHIFTED); 846 847 // Alphabet shifted -> rotate -> alphabet shifted. 848 // Press/release shift key, enter alphabet shifted. 849 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 850 // Rotate device, remain in alphabet shifted. 851 rotateDevice(ALPHABET_MANUAL_SHIFTED); 852 853 // Alphabet shift locked -> rotate -> alphabet shift locked. 854 // Long press shift key, enter alphabet shift locked. 855 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 856 ALPHABET_SHIFT_LOCKED); 857 // Rotate device, remain in alphabet shift locked. 858 rotateDevice(ALPHABET_SHIFT_LOCKED); 859 860 // Alphabet shift locked -> symbols -> rotate -> symbols -> 861 // Alphabet shift locked. 862 // Press/release "?123" key, enter symbols. 863 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 864 // Rotate device, remain in symbols, 865 rotateDevice(SYMBOLS_UNSHIFTED); 866 // Press/release "ABC" key, alphabet shift locked state should be maintained. 867 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 868 869 // Alphabet shift locked -> symbols shifted -> rotate -> symbols shifted -> 870 // Alphabet shift locked. 871 // Press/release "?123" key, enter symbols. 872 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 873 // Press/release "=\<" key, enter symbols shifted. 874 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 875 // Rotate device, remain in symbols shifted. 876 rotateDevice(SYMBOLS_SHIFTED); 877 // Press/release "ABC" key, alphabet shift locked state should be maintained. 878 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 879 880 // Alphabet shift locked -> symbols shifted -> alphabet shift locked -> rotate -> 881 // Alphabet shift locked -> symbols. 882 // Press/release "?123" key, enter symbols. 883 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 884 // Press/release "=\<" key, enter symbols shifted. 885 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 886 // Press/release "ABC" key, enter alphabet shift locked. 887 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 888 // Rotate device, remain in alphabet shift locked. 889 rotateDevice(ALPHABET_SHIFT_LOCKED); 890 // Press/release "?123" key, enter symbols (not symbols shifted). 891 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 892 893 // Alphabet -> symbols shifted -> alphabet -> rotate -> 894 // Alphabet -> symbols. 895 loadKeyboard(ALPHABET_UNSHIFTED); 896 // Press/release "?123" key, enter symbols. 897 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 898 // Press/release "=\<" key, enter symbols shifted. 899 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 900 // Press/release "ABC" key, enter alphabet. 901 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 902 // Rotate device, remain in alphabet shift locked. 903 rotateDevice(ALPHABET_UNSHIFTED); 904 // Press/release "?123" key, enter symbols (not symbols shifted). 905 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 906 } 907 908 // Rapidly type shift key. 909 public void testRapidShiftTyping() { 910 // Press/release shift key 911 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 912 // Rapidly press/release letter key. 913 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 914 // Rapidly press/release shift key. 915 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 916 // Rapidly press/release letter key. 917 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 918 // Rapidly press/release shift key. 919 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 920 // Rapidly press/release letter key. 921 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 922 923 // Press/release shift key to enter alphabet manual shifted. 924 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 925 // Press/release shift key 926 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 927 // Rapidly press/release letter key. 928 secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 929 // Rapidly press/release shift key. 930 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 931 // Rapidly press/release letter key. 932 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 933 // Rapidly press/release shift key. 934 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 935 // Rapidly press/release letter key. 936 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 937 938 // Long press shift key to enter alphabet shift locked. 939 longPressAndReleaseShiftKey(ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED, 940 ALPHABET_SHIFT_LOCKED); 941 // Press/release shift key 942 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 943 // Rapidly press/release letter key. 944 secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 945 // Rapidly press/release shift key. 946 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 947 // Rapidly press/release letter key. 948 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 949 // Rapidly press/release shift key. 950 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 951 // Rapidly press/release letter key. 952 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 953 954 // Set capitalize the first character of all words mode. 955 setAutoCapsMode(CAP_MODE_WORDS); 956 // Press/release auto caps trigger letter to enter alphabet automatic shifted. 957 pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 958 // Press/release shift key 959 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 960 // Rapidly press/release letter key. 961 secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 962 // Rapidly press/release shift key. 963 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 964 // Rapidly press/release letter key. 965 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 966 // Rapidly press/release shift key. 967 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 968 // Rapidly press/release letter key. 969 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 970 } 971 } 972