KeyboardStateSingleTouchTests.java revision beb08b398fa73a26f2d42d6feec87e34a96ca2d9
1/* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 * use this file except in compliance with the License. You may obtain a copy of 6 * 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, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations under 14 * the License. 15 */ 16 17package com.android.inputmethod.keyboard.internal; 18 19public class KeyboardStateSingleTouchTests extends KeyboardStateTestsBase { 20 // Shift key in alphabet. 21 public void testShiftAlphabet() { 22 // Press/release shift key, enter into alphabet shifted. 23 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 24 25 // Press/release shift key, back to alphabet. 26 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 27 28 // Press/release shift key, enter into alphabet shifted. 29 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 30 // Press/release letter key, switch back to alphabet. 31 pressAndReleaseKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 32 } 33 34 // Shift key in symbols. 35 public void testShiftSymbols() { 36 // Press/release "?123" key, enter into symbols. 37 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 38 39 // Press/release "=\<" key, enter into symbols shifted. 40 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 41 42 // Press/release "?123" key, back to symbols. 43 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 44 45 // Press/release "=\<" key, enter into symbols shifted. 46 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 47 // Press/release symbol letter key, remain in symbols shifted. 48 pressAndReleaseKey('1', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 49 } 50 51 // Switching between alphabet and symbols. 52 public void testAlphabetAndSymbols() { 53 // Press/release "?123" key, enter into symbols. 54 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 55 // Press/release "ABC" key, back to alphabet. 56 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 57 // Press/release "?123" key, enter into symbols. 58 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 59 60 // Press/release "=\<" key, enter into symbols shifted. 61 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 62 // Press/release "ABC" key, back to alphabet. 63 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 64 // Press/release "?123" key, back to symbols (not symbols shifted). 65 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 66 } 67 68 // Switching between alphabet shifted and symbols. 69 public void testAlphabetShiftedAndSymbols() { 70 // Press/release shift key, enter into alphabet shifted. 71 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 72 73 // Press/release "?123" key, enter into symbols. 74 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 75 // Press/release "ABC" key, back to alphabet (not alphabet shifted). 76 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 77 78 // Press/release shift key, enter into alphabet shifted. 79 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 80 // Press/release "?123" key, enter into symbols. 81 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 82 // Press/release "=\< key, enter into symbols shifted. 83 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 84 // Press/release "ABC" key, back to alphabet (not alphabet shifted). 85 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 86 } 87 88 // Switching between alphabet shift locked and symbols. 89 public void testAlphabetShiftLockedAndSymbols() { 90 // Long press shift key, enter alphabet shift locked. 91 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 92 93 // Press/release "?123" key, enter into symbols. 94 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 95 // Press/release "ABC" key, back to alphabet shift locked. 96 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 97 // Press/release "?123" key, enter into symbols. 98 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 99 100 // Press/release "=\<" key, enter into symbols shifted. 101 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 102 // Press/release "ABC" key, back to alphabet shift locked. 103 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 104 // Press/release "?123" key, back to symbols (not symbols shifted). 105 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 106 } 107 108 // Automatic switch back to alphabet by space key. 109 public void testSwitchBackBySpace() { 110 // Press/release "?123" key, enter into symbols. 111 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 112 // Enter symbol letter. 113 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 114 // Enter space, switch back to alphabet. 115 pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 116 117 // Press/release "?123" key, enter into symbols. 118 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 119 // Press/release "=\<" key, enter into symbols shifted. 120 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 121 // Enter symbol shift letter. 122 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 123 // Enter space, switch back to alphabet. 124 pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_UNSHIFTED); 125 } 126 127 // Automatic switch back to alphabet shift locked test by space key. 128 public void testSwitchBackBySpaceShiftLocked() { 129 // Long press shift key, enter alphabet shift locked. 130 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 131 132 // Press/release "?123" key, enter into symbols. 133 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 134 // Enter symbol letter. 135 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 136 // Enter space, switch back to alphabet shift locked. 137 pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_SHIFT_LOCKED); 138 139 // Press/release "?123" key, enter into symbols. 140 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 141 // Press/release "=\<" key, enter into symbols shifted. 142 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 143 // Enter symbol shift letter. 144 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 145 // Enter space, switch back to alphabet shift locked. 146 pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_SHIFT_LOCKED); 147 } 148 149 // Automatic switch back to alphabet by registered letters. 150 public void testSwitchBackChar() { 151 // Set switch back chars. 152 final String switchBackSymbols = "'"; 153 final int switchBackCode = switchBackSymbols.codePointAt(0); 154 setLayoutSwitchBackSymbols(switchBackSymbols); 155 loadKeyboard(ALPHABET_UNSHIFTED); 156 157 // Press/release "?123" key, enter into symbols. 158 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 159 // Enter symbol letter. 160 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 161 // Enter switch back letter, switch back to alphabet. 162 pressAndReleaseKey(switchBackCode, SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 163 164 // Press/release "?123" key, enter into symbols. 165 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 166 // Press/release "=\<" key, enter into symbols shifted. 167 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 168 // Enter symbol shift letter. 169 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 170 // Enter switch abck letter, switch back to alphabet. 171 pressAndReleaseKey(switchBackCode, SYMBOLS_SHIFTED, ALPHABET_UNSHIFTED); 172 } 173 174 // Automatic switch back to alphabet shift locked by registered letters. 175 public void testSwitchBackCharShiftLocked() { 176 // Set switch back chars. 177 final String switchBackSymbols = "'"; 178 final int switchBackCode = switchBackSymbols.codePointAt(0); 179 setLayoutSwitchBackSymbols(switchBackSymbols); 180 loadKeyboard(ALPHABET_UNSHIFTED); 181 // Long press shift key, enter alphabet shift locked. 182 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 183 184 // Press/release "?123" key, enter into symbols. 185 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 186 // Enter symbol letter. 187 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 188 // Enter switch back letter, switch back to alphabet shift locked. 189 pressAndReleaseKey(switchBackCode, SYMBOLS_UNSHIFTED, ALPHABET_SHIFT_LOCKED); 190 191 // Press/release "?123" key, enter into symbols. 192 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 193 // Press/release "=\<" key, enter into symbols shifted. 194 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 195 // Enter symbol shift letter. 196 pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 197 // Enter switch back letter, switch back to alphabet shift locked. 198 pressAndReleaseKey(switchBackCode, SYMBOLS_SHIFTED, ALPHABET_SHIFT_LOCKED); 199 } 200 201 // Automatic upper case test 202 public void testAutomaticUpperCase() { 203 // Set auto caps mode on. 204 setAutoCapsMode(AUTO_CAPS); 205 // Load keyboard, should be in automatic shifted. 206 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 207 208 // Press/release letter key, switch to alphabet. 209 pressAndReleaseKey('A', ALPHABET_AUTOMATIC_SHIFTED, ALPHABET_UNSHIFTED); 210 // Press/release auto caps trigger letter, should be in automatic shifted. 211 pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 212 213 // Press/release shift key, back to alphabet. 214 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 215 // Press/release letter key, remain in alphabet. 216 pressAndReleaseKey('a', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 217 // Press/release auto caps trigger letter, should be in automatic shifted. 218 pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 219 220 // Press/release "?123" key, enter into symbols. 221 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 222 // Press/release symbol letter key, remain in symbols. 223 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 224 // Press/release space, switch back to automatic shifted. 225 pressAndReleaseKey(CODE_SPACE, SYMBOLS_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 226 227 // Press/release "?123" key, enter into symbols. 228 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 229 // Press/release "=\<" key, enter into symbols shifted. 230 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 231 // Press/release symbol shift letter key, remain in symbols shifted. 232 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 233 // Press/release space, switch back to automatic shifted. 234 pressAndReleaseKey(CODE_SPACE, SYMBOLS_SHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 235 } 236 237 // Long press shift key. 238 public void testLongPressShift() { 239 // Set auto caps mode off. 240 setAutoCapsMode(NO_AUTO_CAPS); 241 // Load keyboard, should be in alphabet. 242 loadKeyboard(ALPHABET_UNSHIFTED); 243 // Long press shift key, enter alphabet shift locked. 244 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 245 // Press/release shift key, back to alphabet. 246 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 247 248 // Long press shift key, enter alphabet shift locked. 249 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 250 // Press/release letter key, remain in shift locked. 251 pressAndReleaseKey('A', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 252 // Press/release word separator, remain in shift locked. 253 pressAndReleaseKey(CODE_SPACE, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 254 // Press/release shift key, back to alphabet. 255 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 256 257 // Long press shift key, enter alphabet shift locked. 258 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 259 // Long press shift key, back to alphabet. 260 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 261 262 // Press/release shift key, enter alphabet shifted. 263 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 264 // Long press shift key, enter alphabet shift locked. 265 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 266 // Press/release shift key, back to alphabet. 267 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 268 269 // Set auto caps mode on. 270 setAutoCapsMode(AUTO_CAPS); 271 // Load keyboard, should be in automatic shifted. 272 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 273 // Long press shift key, enter alphabet shift locked. 274 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 275 // Press/release shift key, back to alphabet. 276 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 277 } 278 279 // Double tap shift key. 280 public void testDoubleTapShift() { 281 // First shift key tap. 282 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 283 // Second shift key tap. 284 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 285 286 // First shift key tap. 287 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 288 // Second shift key tap. 289 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 290 291 // Press/release shift key, enter alphabet manual shifted. 292 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 293 294 // First shift key tap. 295 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 296 // Second shift key tap. 297 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 298 299 // First shift key tap. 300 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 301 // Second shift key tap. 302 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 303 304 // Set auto caps mode on. 305 setAutoCapsMode(AUTO_CAPS); 306 // Load keyboard, should be in automatic shifted. 307 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 308 309 // First shift key tap. 310 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 311 // Second shift key tap. 312 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 313 314 // First shift key tap. 315 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 316 // Second shift key tap. 317 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 318 } 319 320 // Update shift state. 321 public void testUpdateShiftState() { 322 // Set auto caps mode off. 323 setAutoCapsMode(NO_AUTO_CAPS); 324 // Load keyboard, should be in alphabet. 325 loadKeyboard(ALPHABET_UNSHIFTED); 326 // Update shift state, remained in alphabet. 327 updateShiftState(ALPHABET_UNSHIFTED); 328 329 // Press/release shift key, enter alphabet shifted. 330 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 331 // Update shift state, back to alphabet. 332 updateShiftState(ALPHABET_UNSHIFTED); 333 334 // Long press shift key, enter alphabet shift locked. 335 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 336 // Update shift state, remained in alphabet shift locked. 337 updateShiftState(ALPHABET_SHIFT_LOCKED); 338 // Long press shift key, back to alphabet. 339 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 340 341 // Press/release "?123" key, enter into symbols. 342 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 343 // Update shift state, remained in symbols. 344 updateShiftState(SYMBOLS_UNSHIFTED); 345 346 // Press/release "=\<" key, enter symbols shifted. 347 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 348 // Update shift state, remained in symbols shifted. 349 updateShiftState(SYMBOLS_SHIFTED); 350 351 // Set auto caps mode on. 352 setAutoCapsMode(AUTO_CAPS); 353 // Load keyboard, should be in automatic shifted. 354 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 355 // Update shift state, remained in automatic shifted. 356 updateShiftState(ALPHABET_AUTOMATIC_SHIFTED); 357 358 // Press/release shift key, enter alphabet. 359 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 360 // Press/release shift key, enter alphabet shifted. 361 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 362 // Update shift state, enter to automatic shifted (not alphabet shifted). 363 updateShiftState(ALPHABET_AUTOMATIC_SHIFTED); 364 365 // Long press shift key, enter alphabet shift locked. 366 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 367 // Update shift state, remained in alphabet shift locked (not automatic shifted). 368 updateShiftState(ALPHABET_SHIFT_LOCKED); 369 // Long press shift key, back to alphabet. 370 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 371 372 // Load keyboard, should be in automatic shifted. 373 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 374 // Press/release "?123" key, enter into symbols. 375 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 376 // Update shift state, remained in symbols. 377 updateShiftState(SYMBOLS_UNSHIFTED); 378 379 // Press/release "=\<" key, enter symbols shifted. 380 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 381 // Update shift state, remained in symbols shifted. 382 updateShiftState(SYMBOLS_SHIFTED); 383 } 384 385 // Sliding input in alphabet. 386 public void testSlidingAlphabet() { 387 // Alphabet -> shift key + letter -> alphabet. 388 // Press and slide from shift key, enter alphabet shifted. 389 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 390 // Enter/release letter key, switch back to alphabet. 391 pressAndReleaseKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 392 393 // Alphabet -> "?123" key + letter -> alphabet. 394 // Press and slide from "123?" key, enter symbols. 395 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 396 // Enter/release into symbol letter key, switch back to alphabet. 397 pressAndReleaseKey('!', SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 398 399 // Alphabet shifted -> shift key + letter -> alphabet. 400 // Press/release shift key, enter alphabet shifted. 401 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 402 // Press and slide from shift key, remain alphabet shifted. 403 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 404 // Enter/release letter key, switch back to alphabet (not alphabet shifted). 405 pressAndReleaseKey('Z', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 406 407 // Alphabet shifted -> "?123" key + letter -> alphabet. 408 // Press/release shift key, enter alphabet shifted. 409 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 410 // Press and slide from "123?" key, enter symbols. 411 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 412 // Enter/release into symbol letter key, switch back to alphabet (not alphabet shifted). 413 pressAndReleaseKey('!', SYMBOLS_UNSHIFTED, ALPHABET_UNSHIFTED); 414 415 // Alphabet shift locked -> shift key + letter -> alphabet shift locked. 416 // Long press shift key, enter alphabet shift locked. 417 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 418 // Press and slide from "123?" key, enter symbols. 419 pressAndSlideFromKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 420 // Enter/release into symbol letter key, switch back to alphabet shift locked. 421 pressAndReleaseKey('!', SYMBOLS_UNSHIFTED, ALPHABET_SHIFT_LOCKED); 422 423 // Alphabet shift locked -> "?123" key + letter -> alphabet shift locked. 424 // Press and slide from shift key, enter alphabet shifted. 425 pressAndSlideFromKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_SHIFT_LOCKED); 426 // Enter/release letter key, switch back to shift locked. 427 pressAndReleaseKey('Z', ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 428 } 429 430 // Sliding input in symbols. 431 public void testSlidingSymbols() { 432 // Symbols -> "=\<" key + letter -> symbols. 433 // Press/release "?123" key, enter into symbols. 434 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 435 // Press and slide from shift key, enter symols shifted. 436 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 437 // Enter/release symbol shifted letter key, switch back to symbols. 438 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_UNSHIFTED); 439 440 // Symbols -> "ABC" key + letter -> Symbols. 441 // Press and slide from "ABC" key, enter alphabet. 442 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 443 // Enter/release letter key, switch back to symbols. 444 pressAndReleaseKey('a', ALPHABET_UNSHIFTED, SYMBOLS_UNSHIFTED); 445 // Press/release "ABC" key, switch to alphabet. 446 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 447 448 // Alphabet shifted -> symbols -> "ABC" key + letter -> symbols -> 449 // alphabet. 450 // Load keyboard 451 loadKeyboard(ALPHABET_UNSHIFTED); 452 // Press/release shift key, enter alphabet shifted. 453 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 454 // Press/release "?123" key, enter into symbols. 455 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 456 // Press and slide from "ABC" key. 457 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 458 // Enter/release letter key, switch back to symbols. 459 pressAndReleaseKey('a', ALPHABET_UNSHIFTED, SYMBOLS_UNSHIFTED); 460 // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 461 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 462 463 // Alphabet shift locked -> symbols -> "ABC" key + letter -> symbols -> 464 // alphabet shift locked. 465 // Load keyboard 466 loadKeyboard(ALPHABET_UNSHIFTED); 467 // Long press shift key, enter alphabet shift locked. 468 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 469 // Press/release "?123" key, enter into symbols. 470 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 471 // Press and slide from "ABC" key, enter alphabet shift locked. 472 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 473 // Enter/release letter key, switch back to symbols. 474 pressAndReleaseKey('A', ALPHABET_SHIFT_LOCKED, SYMBOLS_UNSHIFTED); 475 // Press/release "ABC" key, switch to alphabet shift locked. 476 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 477 478 // Alphabet shift locked -> symbols -> "=\<" key + letter -> symbols -> 479 // alphabet shift locked. 480 // Load keyboard 481 loadKeyboard(ALPHABET_UNSHIFTED); 482 // Long press shift key, enter alphabet shift locked. 483 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 484 // Press/release "?123" key, enter into symbols. 485 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 486 // Press and slide from "=\<" key, enter symbols shifted. 487 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 488 // Enter/release symbols shift letter key, switch back to symbols. 489 pressAndReleaseKey('~', SYMBOLS_SHIFTED, SYMBOLS_UNSHIFTED); 490 // Press/release "ABC" key, switch to alphabet shift locked. 491 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 492 } 493 494 // Sliding input in symbols shifted. 495 public void testSlidingSymbolsShifted() { 496 // Symbols shifted -> "?123" + letter -> symbols shifted. 497 // Press/release "?123" key, enter into symbols. 498 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 499 // Press/release "=\<" key, enter into symbols shifted. 500 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 501 // Press and slide from shift key, enter symbols. 502 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 503 // Enter/release symbol letter key, switch back to symbols shifted. 504 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_SHIFTED); 505 506 // Symbols shifted -> "ABC" key + letter -> symbols shifted. 507 // Press and slide from "ABC" key, enter alphabet. 508 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 509 // Enter/release letter key, switch back to symbols shifted. 510 pressAndReleaseKey('a', ALPHABET_UNSHIFTED, SYMBOLS_SHIFTED); 511 // Press/release "ABC" key, switch to alphabet. 512 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 513 514 // Alphabet shifted -> symbols shifted -> "ABC" + letter -> symbols shifted -> 515 // alphabet. 516 // Load keyboard 517 loadKeyboard(ALPHABET_UNSHIFTED); 518 // Press/release shift key, enter alphabet shifted. 519 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 520 // Press/release "?123" key, enter into symbols. 521 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 522 // Press/release "=\<" key, enter into symbols shifted. 523 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 524 // Press and slide from "ABC" key. 525 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 526 // Enter/release letter key, switch back to symbols shifted. 527 pressAndReleaseKey('a', ALPHABET_UNSHIFTED, SYMBOLS_SHIFTED); 528 // Press/release "ABC" key, switch to alphabet (not alphabet shifted). 529 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 530 531 // Alphabet shift locked -> symbols shifted -> "ABC" + letter -> symbols shifted -> 532 // alphabet shift locked. 533 // Load keyboard 534 loadKeyboard(ALPHABET_UNSHIFTED); 535 // Long press shift key, enter alphabet shift locked. 536 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 537 // Press/release "?123" key, enter into symbols. 538 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 539 // Press/release "=\<" key, enter into symbols shifted. 540 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 541 // Press and slide from "ABC" key. 542 pressAndSlideFromKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 543 // Enter/release letter key, switch back to symbols shifted. 544 pressAndReleaseKey('A', ALPHABET_SHIFT_LOCKED, SYMBOLS_SHIFTED); 545 // Press/release "ABC" key, switch to alphabet shift locked. 546 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 547 548 // Alphabet shift locked -> symbols shifted -> "?123" + letter -> symbols shifted -> 549 // alphabet shift locked. 550 // Load keyboard 551 loadKeyboard(ALPHABET_UNSHIFTED); 552 // Long press shift key, enter alphabet shift locked. 553 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 554 // Press/release "?123" key, enter into symbols. 555 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 556 // Press/release "=\<" key, enter into symbols shifted. 557 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 558 // Press and slide from "?123" key. 559 pressAndSlideFromKey(CODE_SHIFT, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 560 // Enter/release symbol letter key, switch back to symbols shifted. 561 pressAndReleaseKey('1', SYMBOLS_UNSHIFTED, SYMBOLS_SHIFTED); 562 // Press/release "ABC" key, switch to alphabet shift locked. 563 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 564 } 565 566 // Change focus to new text field. 567 public void testChangeFocus() { 568 // Press/release shift key. 569 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 570 // Change focus to new text field. 571 loadKeyboard(ALPHABET_UNSHIFTED); 572 573 // Long press shift key, enter alphabet shift locked. 574 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 575 // Change focus to new text field. 576 loadKeyboard(ALPHABET_UNSHIFTED); 577 578 // Press/release "?123" key. 579 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 580 // Change focus to new text field. 581 loadKeyboard(ALPHABET_UNSHIFTED); 582 583 // Press/release "?123" key. 584 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 585 // Press/release "=\<" key. 586 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 587 // Change focus to new text field. 588 loadKeyboard(ALPHABET_UNSHIFTED); 589 } 590 591 // Change focus to auto caps text field. 592 public void testChangeFocusAutoCaps() { 593 // Set auto caps mode on. 594 setAutoCapsMode(AUTO_CAPS); 595 596 // Update shift state. 597 updateShiftState(ALPHABET_AUTOMATIC_SHIFTED); 598 // Change focus to new text field. 599 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 600 601 // Press/release shift key, enter alphabet. 602 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 603 // Change focus to new text field. 604 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 605 606 // Long press shift key, enter alphabet shift locked. 607 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 608 // Change focus to new text field. 609 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 610 611 // Press/release "?123" key. 612 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 613 // Change focus to new text field. 614 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 615 616 // Press/release "?123" key. 617 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 618 // Press/release "=\<" key. 619 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 620 // Change focus to new text field. 621 loadKeyboard(ALPHABET_AUTOMATIC_SHIFTED); 622 } 623 624 // Change orientation. 625 public void testChangeOrientation() { 626 // Alphabet -> rotate -> alphabet. 627 updateShiftState(ALPHABET_UNSHIFTED); 628 // Rotate device, remain in alphabet. 629 rotateDevice(ALPHABET_UNSHIFTED); 630 631 // Alphabet shifted -> rotate -> alphabet shifted. 632 // Press/release shift key, enter alphabet shifted. 633 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 634 // Rotate device, remain in alphabet shifted. 635 rotateDevice(ALPHABET_MANUAL_SHIFTED); 636 637 // Alphabet shift locked -> rotate -> alphabet shift locked. 638 // Long press shift key, enter alphabet shift locked. 639 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 640 // Rotate device, remain in alphabet shift locked. 641 rotateDevice(ALPHABET_SHIFT_LOCKED); 642 643 // Alphabet shift locked -> symbols -> rotate -> symbols -> 644 // Alphabet shift locked. 645 // Press/release "?123" key, enter symbols. 646 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 647 // Rotate device, remain in symbols, 648 rotateDevice(SYMBOLS_UNSHIFTED); 649 // Press/release "ABC" key, alphabet shift locked state should be maintained. 650 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 651 652 // Alphabet shift locked -> symbols shifted -> rotate -> symbols shifted -> 653 // Alphabet shift locked. 654 // Press/release "?123" key, enter symbols. 655 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 656 // Press/release "=\<" key, enter symbols shifted. 657 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 658 // Rotate device, remain in symbols shifted. 659 rotateDevice(SYMBOLS_SHIFTED); 660 // Press/release "ABC" key, alphabet shift locked state should be maintained. 661 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 662 663 // Alphabet shift locked -> symbols shifted -> alphabet shift locked -> rotate -> 664 // Alphabet shift locked -> symbols. 665 // Press/release "?123" key, enter symbols. 666 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 667 // Press/release "=\<" key, enter symbols shifted. 668 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 669 // Press/release "ABC" key, enter alphabet shift locked. 670 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_SHIFT_LOCKED, ALPHABET_SHIFT_LOCKED); 671 // Rotate device, remain in alphabet shift locked. 672 rotateDevice(ALPHABET_SHIFT_LOCKED); 673 // Press/release "?123" key, enter symbols (not symbols shifted). 674 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 675 676 // Alphabet -> symbols shifted -> alphabet -> rotate -> 677 // Alphabet -> symbols. 678 loadKeyboard(ALPHABET_UNSHIFTED); 679 // Press/release "?123" key, enter symbols. 680 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 681 // Press/release "=\<" key, enter symbols shifted. 682 pressAndReleaseKey(CODE_SHIFT, SYMBOLS_SHIFTED, SYMBOLS_SHIFTED); 683 // Press/release "ABC" key, enter alphabet. 684 pressAndReleaseKey(CODE_SYMBOL, ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 685 // Rotate device, remain in alphabet shift locked. 686 rotateDevice(ALPHABET_UNSHIFTED); 687 // Press/release "?123" key, enter symbols (not symbols shifted). 688 pressAndReleaseKey(CODE_SYMBOL, SYMBOLS_UNSHIFTED, SYMBOLS_UNSHIFTED); 689 } 690 691 // Rapidly type shift key. 692 public void testRapidShiftTyping() { 693 // Press/release shift key 694 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 695 // Rapidly press/release letter key. 696 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 697 // Rapidly press/release shift key. 698 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 699 // Rapidly press/release letter key. 700 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 701 // Rapidly press/release shift key. 702 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 703 // Rapidly press/release letter key. 704 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 705 706 // Press/release shift key to enter alphabet manual shifted. 707 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 708 // Press/release shift key 709 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 710 // Rapidly press/release letter key. 711 secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 712 // Rapidly press/release shift key. 713 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 714 // Rapidly press/release letter key. 715 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 716 // Rapidly press/release shift key. 717 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 718 // Rapidly press/release letter key. 719 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 720 721 // Long press shift key to enter alphabet shift locked. 722 longPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_SHIFT_LOCKED); 723 // Press/release shift key 724 pressAndReleaseKey(CODE_SHIFT, ALPHABET_SHIFT_LOCK_SHIFTED, ALPHABET_UNSHIFTED); 725 // Rapidly press/release letter key. 726 secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 727 // Rapidly press/release shift key. 728 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 729 // Rapidly press/release letter key. 730 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 731 // Rapidly press/release shift key. 732 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 733 // Rapidly press/release letter key. 734 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 735 736 // Set auto caps mode on. 737 setAutoCapsMode(AUTO_CAPS); 738 // Press/release auto caps trigger letter to enter alphabet automatic shifted. 739 pressAndReleaseKey(CODE_AUTO_CAPS_TRIGGER, ALPHABET_UNSHIFTED, ALPHABET_AUTOMATIC_SHIFTED); 740 // Press/release shift key 741 pressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 742 // Rapidly press/release letter key. 743 secondPressAndReleaseKey('j', ALPHABET_UNSHIFTED, ALPHABET_UNSHIFTED); 744 // Rapidly press/release shift key. 745 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 746 // Rapidly press/release letter key. 747 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 748 // Rapidly press/release shift key. 749 secondPressAndReleaseKey(CODE_SHIFT, ALPHABET_MANUAL_SHIFTED, ALPHABET_MANUAL_SHIFTED); 750 // Rapidly press/release letter key. 751 secondPressAndReleaseKey('J', ALPHABET_MANUAL_SHIFTED, ALPHABET_UNSHIFTED); 752 } 753} 754