| This tests that DOM keydown and keyup events are dispatched to a non-editable <body> on iOS for hardware key presses of non-special keys. To run this test manually, verify that two messages are emitted when you press the following keys: a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, =, [, ], \, ;, ', ,, ., /. |
| |
| type: keydown, key: a, code: KeyA, keyIdentifier: U+0041, keyCode: 65, charCode: 0, keyCode: 65, which: 65 |
| type: keyup, key: Dead, code: KeyA, keyIdentifier: Unidentified, keyCode: 65, charCode: 0, keyCode: 65, which: 65 |
| type: keydown, key: b, code: KeyB, keyIdentifier: U+0042, keyCode: 66, charCode: 0, keyCode: 66, which: 66 |
| type: keyup, key: Dead, code: KeyB, keyIdentifier: Unidentified, keyCode: 66, charCode: 0, keyCode: 66, which: 66 |
| type: keydown, key: c, code: KeyC, keyIdentifier: U+0043, keyCode: 67, charCode: 0, keyCode: 67, which: 67 |
| type: keyup, key: Dead, code: KeyC, keyIdentifier: Unidentified, keyCode: 67, charCode: 0, keyCode: 67, which: 67 |
| type: keydown, key: d, code: KeyD, keyIdentifier: U+0044, keyCode: 68, charCode: 0, keyCode: 68, which: 68 |
| type: keyup, key: Dead, code: KeyD, keyIdentifier: Unidentified, keyCode: 68, charCode: 0, keyCode: 68, which: 68 |
| type: keydown, key: e, code: KeyE, keyIdentifier: U+0045, keyCode: 69, charCode: 0, keyCode: 69, which: 69 |
| type: keyup, key: Dead, code: KeyE, keyIdentifier: Unidentified, keyCode: 69, charCode: 0, keyCode: 69, which: 69 |
| type: keydown, key: f, code: KeyF, keyIdentifier: U+0046, keyCode: 70, charCode: 0, keyCode: 70, which: 70 |
| type: keyup, key: Dead, code: KeyF, keyIdentifier: Unidentified, keyCode: 70, charCode: 0, keyCode: 70, which: 70 |
| type: keydown, key: g, code: KeyG, keyIdentifier: U+0047, keyCode: 71, charCode: 0, keyCode: 71, which: 71 |
| type: keyup, key: Dead, code: KeyG, keyIdentifier: Unidentified, keyCode: 71, charCode: 0, keyCode: 71, which: 71 |
| type: keydown, key: h, code: KeyH, keyIdentifier: U+0048, keyCode: 72, charCode: 0, keyCode: 72, which: 72 |
| type: keyup, key: Dead, code: KeyH, keyIdentifier: Unidentified, keyCode: 72, charCode: 0, keyCode: 72, which: 72 |
| type: keydown, key: i, code: KeyI, keyIdentifier: U+0049, keyCode: 73, charCode: 0, keyCode: 73, which: 73 |
| type: keyup, key: Dead, code: KeyI, keyIdentifier: Unidentified, keyCode: 73, charCode: 0, keyCode: 73, which: 73 |
| type: keydown, key: j, code: KeyJ, keyIdentifier: U+004A, keyCode: 74, charCode: 0, keyCode: 74, which: 74 |
| type: keyup, key: Dead, code: KeyJ, keyIdentifier: Unidentified, keyCode: 74, charCode: 0, keyCode: 74, which: 74 |
| type: keydown, key: k, code: KeyK, keyIdentifier: U+004B, keyCode: 75, charCode: 0, keyCode: 75, which: 75 |
| type: keyup, key: Dead, code: KeyK, keyIdentifier: Unidentified, keyCode: 75, charCode: 0, keyCode: 75, which: 75 |
| type: keydown, key: l, code: KeyL, keyIdentifier: U+004C, keyCode: 76, charCode: 0, keyCode: 76, which: 76 |
| type: keyup, key: Dead, code: KeyL, keyIdentifier: Unidentified, keyCode: 76, charCode: 0, keyCode: 76, which: 76 |
| type: keydown, key: m, code: KeyM, keyIdentifier: U+004D, keyCode: 77, charCode: 0, keyCode: 77, which: 77 |
| type: keyup, key: Dead, code: KeyM, keyIdentifier: Unidentified, keyCode: 77, charCode: 0, keyCode: 77, which: 77 |
| type: keydown, key: n, code: KeyN, keyIdentifier: U+004E, keyCode: 78, charCode: 0, keyCode: 78, which: 78 |
| type: keyup, key: Dead, code: KeyN, keyIdentifier: Unidentified, keyCode: 78, charCode: 0, keyCode: 78, which: 78 |
| type: keydown, key: o, code: KeyO, keyIdentifier: U+004F, keyCode: 79, charCode: 0, keyCode: 79, which: 79 |
| type: keyup, key: Dead, code: KeyO, keyIdentifier: Unidentified, keyCode: 79, charCode: 0, keyCode: 79, which: 79 |
| type: keydown, key: p, code: KeyP, keyIdentifier: U+0050, keyCode: 80, charCode: 0, keyCode: 80, which: 80 |
| type: keyup, key: Dead, code: KeyP, keyIdentifier: Unidentified, keyCode: 80, charCode: 0, keyCode: 80, which: 80 |
| type: keydown, key: q, code: KeyQ, keyIdentifier: U+0051, keyCode: 81, charCode: 0, keyCode: 81, which: 81 |
| type: keyup, key: Dead, code: KeyQ, keyIdentifier: Unidentified, keyCode: 81, charCode: 0, keyCode: 81, which: 81 |
| type: keydown, key: r, code: KeyR, keyIdentifier: U+0052, keyCode: 82, charCode: 0, keyCode: 82, which: 82 |
| type: keyup, key: Dead, code: KeyR, keyIdentifier: Unidentified, keyCode: 82, charCode: 0, keyCode: 82, which: 82 |
| type: keydown, key: s, code: KeyS, keyIdentifier: U+0053, keyCode: 83, charCode: 0, keyCode: 83, which: 83 |
| type: keyup, key: Dead, code: KeyS, keyIdentifier: Unidentified, keyCode: 83, charCode: 0, keyCode: 83, which: 83 |
| type: keydown, key: t, code: KeyT, keyIdentifier: U+0054, keyCode: 84, charCode: 0, keyCode: 84, which: 84 |
| type: keyup, key: Dead, code: KeyT, keyIdentifier: Unidentified, keyCode: 84, charCode: 0, keyCode: 84, which: 84 |
| type: keydown, key: u, code: KeyU, keyIdentifier: U+0055, keyCode: 85, charCode: 0, keyCode: 85, which: 85 |
| type: keyup, key: Dead, code: KeyU, keyIdentifier: Unidentified, keyCode: 85, charCode: 0, keyCode: 85, which: 85 |
| type: keydown, key: v, code: KeyV, keyIdentifier: U+0056, keyCode: 86, charCode: 0, keyCode: 86, which: 86 |
| type: keyup, key: Dead, code: KeyV, keyIdentifier: Unidentified, keyCode: 86, charCode: 0, keyCode: 86, which: 86 |
| type: keydown, key: w, code: KeyW, keyIdentifier: U+0057, keyCode: 87, charCode: 0, keyCode: 87, which: 87 |
| type: keyup, key: Dead, code: KeyW, keyIdentifier: Unidentified, keyCode: 87, charCode: 0, keyCode: 87, which: 87 |
| type: keydown, key: x, code: KeyX, keyIdentifier: U+0058, keyCode: 88, charCode: 0, keyCode: 88, which: 88 |
| type: keyup, key: Dead, code: KeyX, keyIdentifier: Unidentified, keyCode: 88, charCode: 0, keyCode: 88, which: 88 |
| type: keydown, key: y, code: KeyY, keyIdentifier: U+0059, keyCode: 89, charCode: 0, keyCode: 89, which: 89 |
| type: keyup, key: Dead, code: KeyY, keyIdentifier: Unidentified, keyCode: 89, charCode: 0, keyCode: 89, which: 89 |
| type: keydown, key: z, code: KeyZ, keyIdentifier: U+005A, keyCode: 90, charCode: 0, keyCode: 90, which: 90 |
| type: keyup, key: Dead, code: KeyZ, keyIdentifier: Unidentified, keyCode: 90, charCode: 0, keyCode: 90, which: 90 |
| type: keydown, key: 0, code: Digit0, keyIdentifier: U+0030, keyCode: 48, charCode: 0, keyCode: 48, which: 48 |
| type: keyup, key: Dead, code: Digit0, keyIdentifier: Unidentified, keyCode: 48, charCode: 0, keyCode: 48, which: 48 |
| type: keydown, key: 1, code: Digit1, keyIdentifier: U+0031, keyCode: 49, charCode: 0, keyCode: 49, which: 49 |
| type: keyup, key: Dead, code: Digit1, keyIdentifier: Unidentified, keyCode: 49, charCode: 0, keyCode: 49, which: 49 |
| type: keydown, key: 2, code: Digit2, keyIdentifier: U+0032, keyCode: 50, charCode: 0, keyCode: 50, which: 50 |
| type: keyup, key: Dead, code: Digit2, keyIdentifier: Unidentified, keyCode: 50, charCode: 0, keyCode: 50, which: 50 |
| type: keydown, key: 3, code: Digit3, keyIdentifier: U+0033, keyCode: 51, charCode: 0, keyCode: 51, which: 51 |
| type: keyup, key: Dead, code: Digit3, keyIdentifier: Unidentified, keyCode: 51, charCode: 0, keyCode: 51, which: 51 |
| type: keydown, key: 4, code: Digit4, keyIdentifier: U+0034, keyCode: 52, charCode: 0, keyCode: 52, which: 52 |
| type: keyup, key: Dead, code: Digit4, keyIdentifier: Unidentified, keyCode: 52, charCode: 0, keyCode: 52, which: 52 |
| type: keydown, key: 5, code: Digit5, keyIdentifier: U+0035, keyCode: 53, charCode: 0, keyCode: 53, which: 53 |
| type: keyup, key: Dead, code: Digit5, keyIdentifier: Unidentified, keyCode: 53, charCode: 0, keyCode: 53, which: 53 |
| type: keydown, key: 6, code: Digit6, keyIdentifier: U+0036, keyCode: 54, charCode: 0, keyCode: 54, which: 54 |
| type: keyup, key: Dead, code: Digit6, keyIdentifier: Unidentified, keyCode: 54, charCode: 0, keyCode: 54, which: 54 |
| type: keydown, key: 7, code: Digit7, keyIdentifier: U+0037, keyCode: 55, charCode: 0, keyCode: 55, which: 55 |
| type: keyup, key: Dead, code: Digit7, keyIdentifier: Unidentified, keyCode: 55, charCode: 0, keyCode: 55, which: 55 |
| type: keydown, key: 8, code: Digit8, keyIdentifier: U+0038, keyCode: 56, charCode: 0, keyCode: 56, which: 56 |
| type: keyup, key: Dead, code: Digit8, keyIdentifier: Unidentified, keyCode: 56, charCode: 0, keyCode: 56, which: 56 |
| type: keydown, key: 9, code: Digit9, keyIdentifier: U+0039, keyCode: 57, charCode: 0, keyCode: 57, which: 57 |
| type: keyup, key: Dead, code: Digit9, keyIdentifier: Unidentified, keyCode: 57, charCode: 0, keyCode: 57, which: 57 |
| type: keydown, key: -, code: Minus, keyIdentifier: U+002D, keyCode: 189, charCode: 0, keyCode: 189, which: 189 |
| type: keyup, key: Dead, code: Minus, keyIdentifier: Unidentified, keyCode: 189, charCode: 0, keyCode: 189, which: 189 |
| type: keydown, key: =, code: Equal, keyIdentifier: U+003D, keyCode: 187, charCode: 0, keyCode: 187, which: 187 |
| type: keyup, key: Dead, code: Equal, keyIdentifier: Unidentified, keyCode: 187, charCode: 0, keyCode: 187, which: 187 |
| type: keydown, key: [, code: BracketLeft, keyIdentifier: U+005B, keyCode: 219, charCode: 0, keyCode: 219, which: 219 |
| type: keyup, key: Dead, code: BracketLeft, keyIdentifier: Unidentified, keyCode: 219, charCode: 0, keyCode: 219, which: 219 |
| type: keydown, key: ], code: BracketRight, keyIdentifier: U+005D, keyCode: 221, charCode: 0, keyCode: 221, which: 221 |
| type: keyup, key: Dead, code: BracketRight, keyIdentifier: Unidentified, keyCode: 221, charCode: 0, keyCode: 221, which: 221 |
| type: keydown, key: \, code: Backslash, keyIdentifier: U+005C, keyCode: 220, charCode: 0, keyCode: 220, which: 220 |
| type: keyup, key: Dead, code: Backslash, keyIdentifier: Unidentified, keyCode: 220, charCode: 0, keyCode: 220, which: 220 |
| type: keydown, key: ;, code: Semicolon, keyIdentifier: U+003B, keyCode: 186, charCode: 0, keyCode: 186, which: 186 |
| type: keyup, key: Dead, code: Semicolon, keyIdentifier: Unidentified, keyCode: 186, charCode: 0, keyCode: 186, which: 186 |
| type: keydown, key: ', code: Quote, keyIdentifier: U+0027, keyCode: 222, charCode: 0, keyCode: 222, which: 222 |
| type: keyup, key: Dead, code: Quote, keyIdentifier: Unidentified, keyCode: 222, charCode: 0, keyCode: 222, which: 222 |
| type: keydown, key: ,, code: Comma, keyIdentifier: U+002C, keyCode: 188, charCode: 0, keyCode: 188, which: 188 |
| type: keyup, key: Dead, code: Comma, keyIdentifier: Unidentified, keyCode: 188, charCode: 0, keyCode: 188, which: 188 |
| type: keydown, key: ., code: Period, keyIdentifier: U+002E, keyCode: 190, charCode: 0, keyCode: 190, which: 190 |
| type: keyup, key: Dead, code: Period, keyIdentifier: Unidentified, keyCode: 190, charCode: 0, keyCode: 190, which: 190 |
| type: keydown, key: /, code: Slash, keyIdentifier: U+002F, keyCode: 191, charCode: 0, keyCode: 191, which: 191 |
| type: keyup, key: Dead, code: Slash, keyIdentifier: Unidentified, keyCode: 191, charCode: 0, keyCode: 191, which: 191 |
| |