|
1 <?xml version="1.0"?> |
|
2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?> |
|
3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" |
|
4 type="text/css"?> |
|
5 <window title="Key event tests" |
|
6 onload="runTest()" |
|
7 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> |
|
8 |
|
9 <script type="application/javascript" |
|
10 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> |
|
11 <script type="application/javascript" |
|
12 src="chrome://mochikit/content/tests/SimpleTest/NativeKeyCodes.js" /> |
|
13 <script type="application/javascript" |
|
14 src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js" /> |
|
15 |
|
16 <keyset> |
|
17 <key id="unshiftedKey" key=";" modifiers="accel" oncommand="this.activeCount++"/> |
|
18 <key id="shiftedKey" key=":" modifiers="accel" oncommand="this.activeCount++"/> |
|
19 <key id="commandOptionF" key='f' modifiers="accel,alt" oncommand="this.activeCount++"/> |
|
20 <key id="question" key='?' modifiers="accel" oncommand="this.activeCount++"/> |
|
21 <key id="unshiftedX" key="x" modifiers="accel" oncommand="this.activeCount++"/> |
|
22 <key id="shiftedX" key="X" modifiers="accel,shift" oncommand="this.activeCount++"/> |
|
23 <key id="unshiftedPlus" key="+" modifiers="accel" oncommand="this.activeCount++"/> |
|
24 </keyset> |
|
25 |
|
26 <body xmlns="http://www.w3.org/1999/xhtml"> |
|
27 <p id="display"> |
|
28 <!-- for some reason, if we don't have 'accesskey' here, adding it dynamically later |
|
29 doesn't work! --> |
|
30 <button id="button" accesskey="z">Hello</button> |
|
31 <input type="text" id="textbox" value=""/> |
|
32 </p> |
|
33 <div id="content" style="display: none"> |
|
34 |
|
35 </div> |
|
36 <pre id="test"> |
|
37 </pre> |
|
38 </body> |
|
39 |
|
40 <script class="testbody" type="application/javascript"> |
|
41 <![CDATA[ |
|
42 |
|
43 const IS_MAC = navigator.platform.indexOf("Mac") == 0; |
|
44 const IS_WIN = navigator.platform.indexOf("Win") == 0; |
|
45 |
|
46 /** |
|
47 * Firefox infobar UI can have access keys which conflict with this test. Really |
|
48 * stupid workaround until we can move this test into its own chrome window. |
|
49 */ |
|
50 function clearInfobars() |
|
51 { |
|
52 var Ci = Components.interfaces; |
|
53 |
|
54 var browser = window.top.QueryInterface(Ci.nsIInterfaceRequestor) |
|
55 .getInterface(Ci.nsIWebNavigation) |
|
56 .QueryInterface(Ci.nsIDocShell).chromeEventHandler; |
|
57 var chromeWin = browser.ownerDocument.defaultView; |
|
58 var nb = chromeWin.gBrowser.getNotificationBox(browser); |
|
59 for (let n of nb.allNotifications) { |
|
60 nb.removeNotification(n, true); |
|
61 } |
|
62 } |
|
63 |
|
64 function eventToString(aEvent) |
|
65 { |
|
66 var name = aEvent.layout.name + " keyCode=" + |
|
67 aEvent.keyCode + " (0x" + aEvent.keyCode.toString(16).toUpperCase() + |
|
68 ") chars='" + aEvent.chars + "'"; |
|
69 if (typeof aEvent.unmodifiedChars === "string") { |
|
70 name += " unmodifiedChars='" + aEvent.unmodifiedChars + "'"; |
|
71 } |
|
72 if (aEvent.modifiers.shiftKey) { |
|
73 name += " [Shift]"; |
|
74 } |
|
75 if (aEvent.modifiers.shiftRightKey) { |
|
76 name += " [Right Shift]"; |
|
77 } |
|
78 if (aEvent.modifiers.ctrlKey) { |
|
79 name += " [Ctrl]"; |
|
80 } |
|
81 if (aEvent.modifiers.ctrlRightKey) { |
|
82 name += " [Right Ctrl]"; |
|
83 } |
|
84 if (aEvent.modifiers.altKey) { |
|
85 name += " [Alt]"; |
|
86 } |
|
87 if (aEvent.modifiers.altRightKey) { |
|
88 name += " [Right Alt]"; |
|
89 } |
|
90 if (aEvent.modifiers.metaKey) { |
|
91 name += " [Command]"; |
|
92 } |
|
93 if (aEvent.modifiers.metaRightKey) { |
|
94 name += " [Right Command]"; |
|
95 } |
|
96 |
|
97 return name; |
|
98 } |
|
99 |
|
100 function synthesizeKey(aEvent, aFocusElementId) |
|
101 { |
|
102 document.getElementById(aFocusElementId).focus(); |
|
103 |
|
104 var sent = synthesizeNativeKey(aEvent.layout, aEvent.keyCode, |
|
105 aEvent.modifiers, |
|
106 aEvent.chars, aEvent.unmodifiedChars); |
|
107 ok(sent, "synthesizeNativeKey() should send a native key event"); |
|
108 } |
|
109 |
|
110 // Test the charcodes and modifiers being delivered to keypress handlers and |
|
111 // also keydown/keyup events too. |
|
112 function runKeyEventTests() |
|
113 { |
|
114 const nsIDOMKeyEvent = Components.interfaces.nsIDOMKeyEvent; |
|
115 var eventList, keyDownFlags, keyUpFlags, testingEvent, expectedDOMKeyCode; |
|
116 const kShiftFlag = 0x1; |
|
117 const kCtrlFlag = 0x2; |
|
118 const kAltFlag = 0x4; |
|
119 const kMetaFlag = 0x8; |
|
120 const kNumLockFlag = 0x10; |
|
121 const kCapsLockFlag = 0x20; |
|
122 |
|
123 function onKeyEvent(e) |
|
124 { |
|
125 function removeFlag(e, aFlag) |
|
126 { |
|
127 if (e.type == "keydown") { |
|
128 var oldValue = keyDownFlags; |
|
129 keyDownFlags &= ~aFlag; |
|
130 return oldValue != keyDownFlags; |
|
131 } else if (e.type == "keyup") { |
|
132 var oldValue = keyUpFlags; |
|
133 keyUpFlags &= ~aFlag; |
|
134 return oldValue != keyUpFlags; |
|
135 } |
|
136 return false; |
|
137 } |
|
138 |
|
139 function isStateChangingModifierKeyEvent(e) |
|
140 { |
|
141 var flags = 0; |
|
142 if (e.type == "keydown") { |
|
143 flags = keyDownFlags ^ keyUpFlags; |
|
144 } else if (e.type == "keyup") { |
|
145 flags = keyUpFlags; |
|
146 } |
|
147 switch (e.keyCode) { |
|
148 case e.DOM_VK_SHIFT: |
|
149 is(e.ctrlKey, (flags & kCtrlFlag) != 0, name + ", Ctrl of Shift " + e.type + " event mismatch"); |
|
150 is(e.metaKey, (flags & kMetaFlag) != 0, name + ", Command of Shift " + e.type + " event mismatch"); |
|
151 is(e.altKey, (flags & kAltFlag) != 0, name + ", Alt of Shift " + e.type + " event mismatch"); |
|
152 is(e.shiftKey, e.type == "keydown", name + ", Shift of Shift " + e.type + " event mismatch"); |
|
153 return (testingEvent.modifiers.shiftKey || testingEvent.modifiers.shiftRightKey) && |
|
154 removeFlag(e, kShiftFlag) && expectedDOMKeyCode != e.keyCode; |
|
155 case e.DOM_VK_CONTROL: |
|
156 is(e.ctrlKey, e.type == "keydown", name + ", Ctrl of Ctrl " + e.type + " event mismatch"); |
|
157 is(e.metaKey, (flags & kMetaFlag) != 0, name + ", Command of Ctrl " + e.type + " event mismatch"); |
|
158 is(e.altKey, (flags & kAltFlag) != 0, name + ", Alt of Ctrl " + e.type + " event mismatch"); |
|
159 is(e.shiftKey, (flags & kShiftFlag) != 0, name + ", Shift of Ctrl " + e.type + " event mismatch"); |
|
160 return (testingEvent.modifiers.ctrlKey || testingEvent.modifiers.ctrlRightKey || (IS_WIN && testingEvent.modifiers.altGrKey)) && |
|
161 removeFlag(e, kCtrlFlag) && expectedDOMKeyCode != e.keyCode; |
|
162 case e.DOM_VK_ALT: |
|
163 is(e.ctrlKey, (flags & kCtrlFlag) != 0, name + ", Ctrl of Alt " + e.type + " event mismatch"); |
|
164 is(e.metaKey, (flags & kMetaFlag) != 0, name + ", Command of Alt " + e.type + " event mismatch"); |
|
165 is(e.altKey, e.type == "keydown", name + ", Alt of Alt " + e.type + " event mismatch"); |
|
166 is(e.shiftKey, (flags & kShiftFlag) != 0, name + ", Shift of Alt " + e.type + " event mismatch"); |
|
167 return (testingEvent.modifiers.altKey || testingEvent.modifiers.altRightKey || (IS_WIN && testingEvent.modifiers.altGrKey)) && |
|
168 removeFlag(e, kAltFlag) && expectedDOMKeyCode != e.keyCode; |
|
169 case e.DOM_VK_META: |
|
170 is(e.ctrlKey, (flags & kCtrlFlag) != 0, name + ", Ctrl of Command " + e.type + " evnet mismatch"); |
|
171 is(e.metaKey, e.type == "keydown", name + ", Command of Command " + e.type + " evnet mismatch"); |
|
172 is(e.altKey, (flags & kAltFlag) != 0, name + ", Alt of Command " + e.type + " evnet mismatch"); |
|
173 is(e.shiftKey, (flags & kShiftFlag) != 0, name + ", Shift of Command " + e.type + " evnet mismatch"); |
|
174 return (testingEvent.modifiers.metaKey || testingEvent.modifiers.metaRightKey) && |
|
175 removeFlag(e, kMetaFlag) && expectedDOMKeyCode != e.keyCode; |
|
176 case e.DOM_VK_NUM_LOCK: |
|
177 is(e.ctrlKey, (flags & kCtrlFlag) != 0, name + ", Ctrl of NumLock " + e.type + " event mismatch"); |
|
178 is(e.metaKey, (flags & kMetaFlag) != 0, name + ", Command of NumLock " + e.type + " event mismatch"); |
|
179 is(e.altKey, (flags & kAltFlag) != 0, name + ", Alt of NumLock " + e.type + " event mismatch"); |
|
180 is(e.shiftKey, (flags & kShiftFlag) != 0, name + ", Shift of NumLock " + e.type + " event mismatch"); |
|
181 return (testingEvent.modifiers.numLockKey || testingEvent.modifiers.numericKeyPadKey) && |
|
182 removeFlag(e, kNumLockFlag) && expectedDOMKeyCode != e.keyCode; |
|
183 case e.DOM_VK_CAPS_LOCK: |
|
184 is(e.ctrlKey, (flags & kCtrlFlag) != 0, name + ", Ctrl of CapsLock " + e.type + " event mismatch"); |
|
185 is(e.metaKey, (flags & kMetaFlag) != 0, name + ", Command of CapsLock " + e.type + " event mismatch"); |
|
186 is(e.altKey, (flags & kAltFlag) != 0, name + ", Alt of CapsLock " + e.type + " event mismatch"); |
|
187 is(e.shiftKey, (flags & kShiftFlag) != 0, name + ", Shift of CapsLock " + e.type + " event mismatch"); |
|
188 return testingEvent.modifiers.capsLockKey && |
|
189 removeFlag(e, kCapsLockFlag) && expectedDOMKeyCode != e.keyCode; |
|
190 } |
|
191 return false; |
|
192 } |
|
193 |
|
194 // Ignore the state changing key events which is fired by the testing event. |
|
195 if (!isStateChangingModifierKeyEvent(e)) |
|
196 eventList.push(e); |
|
197 if (e.type == "keypress") { |
|
198 e.preventDefault(); |
|
199 } |
|
200 } |
|
201 |
|
202 const SHOULD_DELIVER_NONE = 0x0; |
|
203 const SHOULD_DELIVER_KEYDOWN = 0x1; |
|
204 const SHOULD_DELIVER_KEYPRESS = 0x2; |
|
205 const SHOULD_DELIVER_KEYUP = 0x4; |
|
206 const SHOULD_NOT_CAUSE_INPUT = 0x8; |
|
207 const SHOULD_DELIVER_ALL = SHOULD_DELIVER_KEYDOWN | |
|
208 SHOULD_DELIVER_KEYPRESS | |
|
209 SHOULD_DELIVER_KEYUP; |
|
210 const SHOULD_DELIVER_ALL_BUT_NOT_CAUSE_INPUT = SHOULD_DELIVER_ALL | |
|
211 SHOULD_NOT_CAUSE_INPUT; |
|
212 const SHOULD_DELIVER_KEYDOWN_KEYUP = SHOULD_DELIVER_KEYDOWN | |
|
213 SHOULD_DELIVER_KEYUP; |
|
214 const SHOULD_DELIVER_KEYDOWN_KEYPRESS = SHOULD_DELIVER_KEYDOWN | |
|
215 SHOULD_DELIVER_KEYPRESS; |
|
216 |
|
217 // The first parameter is the complete input event. The second parameter is |
|
218 // what to test against. The third parameter is which key events should be |
|
219 // delived for the event. |
|
220 function testKey(aEvent, aExpectedGeckoKeyCode, aExpectGeckoChar, |
|
221 aShouldDelivedEvent, aExpectLocation) |
|
222 { |
|
223 ok(aExpectedGeckoKeyCode != undefined, "keycode is undefined"); |
|
224 eventList = []; |
|
225 |
|
226 // The modifier key events which are fired for state changing are har to |
|
227 // test. We should ignore them for now. |
|
228 keyDownFlags = keyUpFlags = 0; |
|
229 if (!IS_MAC) { |
|
230 // On Mac, nsChildView doesn't generate modifier keydown/keyup events for |
|
231 // state changing for synthesizeNativeKeyEvent. |
|
232 if (aEvent.modifiers.shiftKey || aEvent.modifiers.shiftRightKey) { |
|
233 keyDownFlags |= kShiftFlag; |
|
234 } |
|
235 if (aEvent.modifiers.ctrlKey || aEvent.modifiers.ctrlRightKey || |
|
236 (IS_WIN && aEvent.modifiers.altGrKey)) { |
|
237 keyDownFlags |= kCtrlFlag; |
|
238 } |
|
239 if (aEvent.modifiers.altKey || aEvent.modifiers.altRightKey || |
|
240 (IS_WIN && aEvent.modifiers.altGrKey)) { |
|
241 keyDownFlags |= kAltFlag; |
|
242 } |
|
243 if (aEvent.modifiers.metaKey || aEvent.modifiers.metaRightKey) { |
|
244 keyDownFlags |= kMetaFlag; |
|
245 } |
|
246 if (aEvent.modifiers.numLockKey || aEvent.modifiers.numericKeyPadKey) { |
|
247 keyDownFlags |= kNumLockFlag; |
|
248 } |
|
249 if (aEvent.modifiers.capsLockKey) { |
|
250 keyDownFlags |= kCapsLockFlag; |
|
251 } |
|
252 keyUpFlags = keyDownFlags; |
|
253 } |
|
254 |
|
255 testingEvent = aEvent; |
|
256 expectedDOMKeyCode = aExpectedGeckoKeyCode; |
|
257 |
|
258 var name = eventToString(aEvent); |
|
259 ok(true, "Starting: " + name); |
|
260 |
|
261 synthesizeKey(aEvent, "button"); |
|
262 |
|
263 var expectEventTypeList = []; |
|
264 if (aShouldDelivedEvent & SHOULD_DELIVER_KEYDOWN) |
|
265 expectEventTypeList.push("keydown"); |
|
266 if (aShouldDelivedEvent & SHOULD_DELIVER_KEYPRESS) { |
|
267 expectEventTypeList.push("keypress"); |
|
268 for (var i = 1; i < aExpectGeckoChar.length; i++) { |
|
269 expectEventTypeList.push("keypress"); |
|
270 } |
|
271 } |
|
272 if (aShouldDelivedEvent & SHOULD_DELIVER_KEYUP) |
|
273 expectEventTypeList.push("keyup"); |
|
274 is(eventList.length, expectEventTypeList.length, name + ", wrong number of key events"); |
|
275 |
|
276 var longerLength = Math.max(eventList.length, expectEventTypeList.length); |
|
277 var keypressCount = 0; |
|
278 for (var i = 0; i < longerLength; i++) { |
|
279 var firedEventType = i < eventList.length ? eventList[i].type : ""; |
|
280 var expectEventType = i < expectEventTypeList.length ? expectEventTypeList[i] : ""; |
|
281 if (firedEventType != "") |
|
282 is(firedEventType, expectEventType, name + ", wrong type event fired"); |
|
283 else |
|
284 is(firedEventType, expectEventType, name + ", a needed event is not fired"); |
|
285 |
|
286 if (firedEventType != "") { |
|
287 var e = eventList[i]; |
|
288 if (e.type == "keypress") { |
|
289 var isCtrlExpected = |
|
290 aEvent.modifiers.ctrlKey || aEvent.modifiers.ctrlRightKey || false; |
|
291 var isAltExpected = |
|
292 aEvent.modifiers.altKey || aEvent.modifiers.altRightKey || false; |
|
293 if (IS_WIN && aEvent.modifiers.altGrKey) { |
|
294 isCtrlExpected = isAltExpected = |
|
295 ((aShouldDelivedEvent & SHOULD_NOT_CAUSE_INPUT) != 0); |
|
296 } |
|
297 is(e.ctrlKey, isCtrlExpected, name + ", Ctrl mismatch"); |
|
298 is(e.metaKey, aEvent.modifiers.metaKey || aEvent.modifiers.metaRightKey || false, name + ", Command mismatch"); |
|
299 is(e.altKey, isAltExpected, name + ", Alt mismatch"); |
|
300 is(e.shiftKey, aEvent.modifiers.shiftKey || aEvent.modifiers.shiftRightKey || false, name + ", Shift mismatch"); |
|
301 } |
|
302 |
|
303 if (aExpectGeckoChar.length > 0 && e.type == "keypress") { |
|
304 is(e.charCode, aExpectGeckoChar.charCodeAt(keypressCount++), name + ", charcode"); |
|
305 if (aExpectedGeckoKeyCode >= 0) { |
|
306 if (aExpectGeckoChar) { |
|
307 is(e.keyCode, 0, name + ", wrong keycode"); |
|
308 } else { |
|
309 is(e.keyCode, aExpectedGeckoKeyCode, name + ", wrong keycode"); |
|
310 } |
|
311 } |
|
312 } else { |
|
313 is(e.charCode, 0, name + ", no charcode"); |
|
314 if (aExpectedGeckoKeyCode >= 0) { |
|
315 is(e.keyCode, aExpectedGeckoKeyCode, name + ", wrong keycode"); |
|
316 } |
|
317 } |
|
318 is(e.location, aExpectLocation, name + ", wrong location"); |
|
319 } |
|
320 } |
|
321 } |
|
322 |
|
323 // These tests have to be per-plaform. |
|
324 document.addEventListener("keydown", onKeyEvent, false); |
|
325 document.addEventListener("keypress", onKeyEvent, false); |
|
326 document.addEventListener("keyup", onKeyEvent, false); |
|
327 |
|
328 if (IS_MAC) { |
|
329 // On Mac, you can produce event records for any desired keyboard input |
|
330 // by running with NSPR_LOG_MODULES=TextInputHandlerWidgets:5 and typing |
|
331 // into the browser. We will dump the key event fields to the console |
|
332 // (Find TextInputHandler::HandleKeyDownEvent or |
|
333 // TextInputHandler::HandleKeyUpEvent in the log). Use the International system |
|
334 // preferences widget to enable other keyboard layouts and select them from the |
|
335 // input menu to see what keyboard events they generate. |
|
336 // Note that it's possible to send bogus key events here, e.g. |
|
337 // {keyCode:0, chars:"z", unmodifiedChars:"P"} --- sendNativeKeyEvent |
|
338 // makes no attempt to verify that the keyCode matches the characters. So only |
|
339 // test key event records that you saw Cocoa send. |
|
340 |
|
341 // Ctrl keys |
|
342 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
343 modifiers:{ctrlKey:1}, chars:"\u0001", unmodifiedChars:"a"}, |
|
344 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
345 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
346 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0001", unmodifiedChars:"A"}, |
|
347 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
348 |
|
349 // Alt keys |
|
350 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
351 modifiers:{altKey:1}, chars:"\u00e5", unmodifiedChars:"a"}, |
|
352 nsIDOMKeyEvent.DOM_VK_A, "\u00e5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
353 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
354 modifiers:{altKey:1, shiftKey:1}, chars:"\u00c5", unmodifiedChars:"A"}, |
|
355 nsIDOMKeyEvent.DOM_VK_A, "\u00c5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
356 |
|
357 // Command keys |
|
358 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
359 modifiers:{metaKey:1}, chars:"a", unmodifiedChars:"a"}, |
|
360 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
361 // Shift-cmd gives us the shifted character |
|
362 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
363 modifiers:{metaKey:1, shiftKey:1}, chars:"a", unmodifiedChars:"A"}, |
|
364 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
365 // Ctrl-cmd gives us the unshifted character |
|
366 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
367 modifiers:{metaKey:1, ctrlKey:1}, chars:"\u0001", unmodifiedChars:"a"}, |
|
368 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
369 // Alt-cmd gives us the shifted character |
|
370 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
371 modifiers:{metaKey:1, altKey:1}, chars:"\u00e5", unmodifiedChars:"a"}, |
|
372 nsIDOMKeyEvent.DOM_VK_A, "\u00e5", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
373 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
374 modifiers:{metaKey:1, altKey:1, shiftKey:1}, chars:"\u00c5", unmodifiedChars:"a"}, |
|
375 nsIDOMKeyEvent.DOM_VK_A, "\u00c5", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
376 |
|
377 // Greek ctrl keys produce Latin charcodes |
|
378 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
379 modifiers:{ctrlKey:1}, chars:"\u0001", unmodifiedChars:"\u03b1"}, |
|
380 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
381 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
382 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0001", unmodifiedChars:"\u0391"}, |
|
383 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
384 |
|
385 // Greek command keys |
|
386 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
387 modifiers:{metaKey:1}, chars:"a", unmodifiedChars:"\u03b1"}, |
|
388 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
389 // Shift-cmd gives us the shifted character |
|
390 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
391 modifiers:{metaKey:1, shiftKey:1}, chars:"a", unmodifiedChars:"\u0391"}, |
|
392 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
393 // Ctrl-cmd gives us the unshifted character |
|
394 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
395 modifiers:{metaKey:1, ctrlKey:1}, chars:"\u0001", unmodifiedChars:"\u03b1"}, |
|
396 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
397 // Alt-cmd gives us the shifted character |
|
398 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
399 modifiers:{metaKey:1, altKey:1}, chars:"\u00a8", unmodifiedChars:"\u03b1"}, |
|
400 nsIDOMKeyEvent.DOM_VK_A, "\u00a8", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
401 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
402 modifiers:{metaKey:1, altKey:1, shiftKey:1}, chars:"\u00b9", unmodifiedChars:"\u0391"}, |
|
403 nsIDOMKeyEvent.DOM_VK_A, "\u00b9", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
404 |
|
405 // German |
|
406 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_A, |
|
407 modifiers: {}, chars:"a", unmodifiedChars:"a"}, |
|
408 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
409 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_LeftBracket, |
|
410 modifiers: {}, chars:"\u00fc", unmodifiedChars:"\u00fc"}, |
|
411 0, "\u00fc", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
412 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_Minus, |
|
413 modifiers: {}, chars:"\u00df", unmodifiedChars:"\u00df"}, |
|
414 nsIDOMKeyEvent.DOM_VK_QUESTION_MARK, "\u00df", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
415 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_Minus, |
|
416 modifiers:{shiftKey:1}, chars:"?", unmodifiedChars:"?"}, |
|
417 nsIDOMKeyEvent.DOM_VK_QUESTION_MARK, "?", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
418 // Note that Shift+SS is '?' but Cmd+Shift+SS is '/' on German layout. |
|
419 // Therefore, when Cmd key is pressed, the SS key's keycode is changed. |
|
420 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_Minus, |
|
421 modifiers:{metaKey:1}, chars:"\u00df", unmodifiedChars:"\u00df"}, |
|
422 nsIDOMKeyEvent.DOM_VK_SLASH, "\u00df", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
423 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_Minus, |
|
424 modifiers:{metaKey:1, shiftKey:1}, chars:"/", unmodifiedChars:"?"}, |
|
425 nsIDOMKeyEvent.DOM_VK_SLASH, "?", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
426 |
|
427 // Caps Lock key event |
|
428 // XXX keyup event of Caps Lock key is not fired. |
|
429 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_CapsLock, |
|
430 modifiers:{capsLockKey:1}, chars:"", unmodifiedChars:""}, |
|
431 nsIDOMKeyEvent.DOM_VK_CAPS_LOCK, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
432 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_CapsLock, |
|
433 modifiers:{capsLockKey:0}, chars:"", unmodifiedChars:""}, |
|
434 nsIDOMKeyEvent.DOM_VK_CAPS_LOCK, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
435 |
|
436 // Shift/RightShift key event |
|
437 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Shift, |
|
438 modifiers:{shiftKey:1}, chars:"", unmodifiedChars:""}, |
|
439 nsIDOMKeyEvent.DOM_VK_SHIFT, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
440 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Shift, |
|
441 modifiers:{shiftKey:0}, chars:"", unmodifiedChars:""}, |
|
442 nsIDOMKeyEvent.DOM_VK_SHIFT, "", SHOULD_DELIVER_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
443 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightShift, |
|
444 modifiers:{shiftRightKey:1}, chars:"", unmodifiedChars:""}, |
|
445 nsIDOMKeyEvent.DOM_VK_SHIFT, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
446 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightShift, |
|
447 modifiers:{shiftRightKey:0}, chars:"", unmodifiedChars:""}, |
|
448 nsIDOMKeyEvent.DOM_VK_SHIFT, "", SHOULD_DELIVER_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
449 |
|
450 // Control/RightControl key event |
|
451 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Control, |
|
452 modifiers:{ctrlKey:1}, chars:"", unmodifiedChars:""}, |
|
453 nsIDOMKeyEvent.DOM_VK_CONTROL, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
454 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Control, |
|
455 modifiers:{ctrlKey:0}, chars:"", unmodifiedChars:""}, |
|
456 nsIDOMKeyEvent.DOM_VK_CONTROL, "", SHOULD_DELIVER_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
457 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightControl, |
|
458 modifiers:{ctrlRightKey:1}, chars:"", unmodifiedChars:""}, |
|
459 nsIDOMKeyEvent.DOM_VK_CONTROL, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
460 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightControl, |
|
461 modifiers:{ctrlRightKey:0}, chars:"", unmodifiedChars:""}, |
|
462 nsIDOMKeyEvent.DOM_VK_CONTROL, "", SHOULD_DELIVER_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
463 |
|
464 // Option/RightOption key event |
|
465 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Option, |
|
466 modifiers:{altKey:1}, chars:"", unmodifiedChars:""}, |
|
467 nsIDOMKeyEvent.DOM_VK_ALT, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
468 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Option, |
|
469 modifiers:{altKey:0}, chars:"", unmodifiedChars:""}, |
|
470 nsIDOMKeyEvent.DOM_VK_ALT, "", SHOULD_DELIVER_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
471 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightOption, |
|
472 modifiers:{altRightKey:1}, chars:"", unmodifiedChars:""}, |
|
473 nsIDOMKeyEvent.DOM_VK_ALT, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
474 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightOption, |
|
475 modifiers:{altRightKey:0}, chars:"", unmodifiedChars:""}, |
|
476 nsIDOMKeyEvent.DOM_VK_ALT, "", SHOULD_DELIVER_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
477 |
|
478 // Command/RightCommand key event |
|
479 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Command, |
|
480 modifiers:{metaKey:1}, chars:"", unmodifiedChars:""}, |
|
481 nsIDOMKeyEvent.DOM_VK_META, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
482 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Command, |
|
483 modifiers:{metaKey:0}, chars:"", unmodifiedChars:""}, |
|
484 nsIDOMKeyEvent.DOM_VK_META, "", SHOULD_DELIVER_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
485 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightCommand, |
|
486 modifiers:{metaRightKey:1}, chars:"", unmodifiedChars:""}, |
|
487 nsIDOMKeyEvent.DOM_VK_META, "", SHOULD_DELIVER_KEYDOWN, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
488 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightCommand, |
|
489 modifiers:{metaRightKey:0}, chars:"", unmodifiedChars:""}, |
|
490 nsIDOMKeyEvent.DOM_VK_META, "", SHOULD_DELIVER_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
491 |
|
492 // all keys on keyboard (keyCode test) |
|
493 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Tab, |
|
494 modifiers: {}, chars:"\t", unmodifiedChars:"\t"}, |
|
495 nsIDOMKeyEvent.DOM_VK_TAB, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
496 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadClear, |
|
497 modifiers: {}, chars:"\uF739", unmodifiedChars:"\uF739"}, |
|
498 nsIDOMKeyEvent.DOM_VK_CLEAR, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
499 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Return, |
|
500 modifiers: {}, chars:"\u000D", unmodifiedChars:"\u000D"}, |
|
501 nsIDOMKeyEvent.DOM_VK_RETURN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
502 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F15, |
|
503 modifiers: {}, chars:"\uF712", unmodifiedChars:"\uF712"}, |
|
504 nsIDOMKeyEvent.DOM_VK_PAUSE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
505 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Escape, |
|
506 modifiers: {}, chars:"\u001B", unmodifiedChars:"\u001B"}, |
|
507 nsIDOMKeyEvent.DOM_VK_ESCAPE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
508 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Space, |
|
509 modifiers: {}, chars:" ", unmodifiedChars:" "}, |
|
510 nsIDOMKeyEvent.DOM_VK_SPACE, " ", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
511 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_PageUp, |
|
512 modifiers: {}, chars:"\uF72C", unmodifiedChars:"\uF72C"}, |
|
513 nsIDOMKeyEvent.DOM_VK_PAGE_UP, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
514 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_PageDown, |
|
515 modifiers: {}, chars:"\uF72D", unmodifiedChars:"\uF72D"}, |
|
516 nsIDOMKeyEvent.DOM_VK_PAGE_DOWN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
517 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_End, |
|
518 modifiers: {}, chars:"\uF72B", unmodifiedChars:"\uF72B"}, |
|
519 nsIDOMKeyEvent.DOM_VK_END, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
520 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_Home, |
|
521 modifiers: {}, chars:"\uF729", unmodifiedChars:"\uF729"}, |
|
522 nsIDOMKeyEvent.DOM_VK_HOME, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
523 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_LeftArrow, |
|
524 modifiers: {}, chars:"\uF702", unmodifiedChars:"\uF702"}, |
|
525 nsIDOMKeyEvent.DOM_VK_LEFT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
526 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_UpArrow, |
|
527 modifiers: {}, chars:"\uF700", unmodifiedChars:"\uF700"}, |
|
528 nsIDOMKeyEvent.DOM_VK_UP, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
529 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_RightArrow, |
|
530 modifiers: {}, chars:"\uF703", unmodifiedChars:"\uF703"}, |
|
531 nsIDOMKeyEvent.DOM_VK_RIGHT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
532 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_DownArrow, |
|
533 modifiers: {}, chars:"\uF701", unmodifiedChars:"\uF701"}, |
|
534 nsIDOMKeyEvent.DOM_VK_DOWN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
535 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_PC_PrintScreen, |
|
536 modifiers: {}, chars:"\uF710", unmodifiedChars:"\uF710"}, |
|
537 nsIDOMKeyEvent.DOM_VK_PRINTSCREEN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
538 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_PC_Delete, |
|
539 modifiers: {}, chars:"\uF728", unmodifiedChars:"\uF728"}, |
|
540 nsIDOMKeyEvent.DOM_VK_DELETE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
541 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_PC_Pause, |
|
542 modifiers: {}, chars:"\uF711", unmodifiedChars:"\uF711"}, |
|
543 nsIDOMKeyEvent.DOM_VK_SCROLL_LOCK, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
544 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_PC_ContextMenu, |
|
545 modifiers: {}, chars:"\u0010", unmodifiedChars:"\u0010"}, |
|
546 nsIDOMKeyEvent.DOM_VK_CONTEXT_MENU, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
547 |
|
548 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F1, |
|
549 modifiers:{fnKey:1}, chars:"\uF704", unmodifiedChars:"\uF704"}, |
|
550 nsIDOMKeyEvent.DOM_VK_F1, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
551 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F2, |
|
552 modifiers:{fnKey:1}, chars:"\uF705", unmodifiedChars:"\uF705"}, |
|
553 nsIDOMKeyEvent.DOM_VK_F2, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
554 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F3, |
|
555 modifiers:{fnKey:1}, chars:"\uF706", unmodifiedChars:"\uF706"}, |
|
556 nsIDOMKeyEvent.DOM_VK_F3, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
557 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F4, |
|
558 modifiers:{fnKey:1}, chars:"\uF707", unmodifiedChars:"\uF707"}, |
|
559 nsIDOMKeyEvent.DOM_VK_F4, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
560 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F5, |
|
561 modifiers:{fnKey:1}, chars:"\uF708", unmodifiedChars:"\uF708"}, |
|
562 nsIDOMKeyEvent.DOM_VK_F5, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
563 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F6, |
|
564 modifiers:{fnKey:1}, chars:"\uF709", unmodifiedChars:"\uF709"}, |
|
565 nsIDOMKeyEvent.DOM_VK_F6, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
566 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F7, |
|
567 modifiers:{fnKey:1}, chars:"\uF70A", unmodifiedChars:"\uF70A"}, |
|
568 nsIDOMKeyEvent.DOM_VK_F7, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
569 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F8, |
|
570 modifiers:{fnKey:1}, chars:"\uF70B", unmodifiedChars:"\uF70B"}, |
|
571 nsIDOMKeyEvent.DOM_VK_F8, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
572 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F9, |
|
573 modifiers:{fnKey:1}, chars:"\uF70C", unmodifiedChars:"\uF70C"}, |
|
574 nsIDOMKeyEvent.DOM_VK_F9, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
575 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F10, |
|
576 modifiers:{fnKey:1}, chars:"\uF70D", unmodifiedChars:"\uF70D"}, |
|
577 nsIDOMKeyEvent.DOM_VK_F10, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
578 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F11, |
|
579 modifiers:{fnKey:1}, chars:"\uF70E", unmodifiedChars:"\uF70E"}, |
|
580 nsIDOMKeyEvent.DOM_VK_F11, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
581 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F12, |
|
582 modifiers:{fnKey:1}, chars:"\uF70F", unmodifiedChars:"\uF70F"}, |
|
583 nsIDOMKeyEvent.DOM_VK_F12, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
584 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F16, |
|
585 modifiers:{fnKey:1}, chars:"\uF713", unmodifiedChars:"\uF713"}, |
|
586 nsIDOMKeyEvent.DOM_VK_F16, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
587 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F17, |
|
588 modifiers:{fnKey:1}, chars:"\uF714", unmodifiedChars:"\uF714"}, |
|
589 nsIDOMKeyEvent.DOM_VK_F17, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
590 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F18, |
|
591 modifiers:{fnKey:1}, chars:"\uF715", unmodifiedChars:"\uF715"}, |
|
592 nsIDOMKeyEvent.DOM_VK_F18, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
593 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_F19, |
|
594 modifiers:{fnKey:1}, chars:"\uF716", unmodifiedChars:"\uF716"}, |
|
595 nsIDOMKeyEvent.DOM_VK_F19, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
596 |
|
597 // US |
|
598 // Alphabet |
|
599 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
600 modifiers: {}, chars:"a", unmodifiedChars:"a"}, |
|
601 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
602 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
603 modifiers:{shiftKey:1}, chars:"A", unmodifiedChars:"A"}, |
|
604 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
605 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
606 modifiers:{ctrlKey:1}, chars:"\u0001", unmodifiedChars:"a"}, |
|
607 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
608 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
609 modifiers:{altKey:1}, chars:"\u00E5", unmodifiedChars:"a"}, |
|
610 nsIDOMKeyEvent.DOM_VK_A, "\u00E5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
611 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
612 modifiers:{metaKey:1}, chars:"a", unmodifiedChars:"a"}, |
|
613 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
614 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_B, |
|
615 modifiers:{}, chars:"b", unmodifiedChars:"b"}, |
|
616 nsIDOMKeyEvent.DOM_VK_B, "b", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
617 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_B, |
|
618 modifiers:{shiftKey:1}, chars:"B", unmodifiedChars:"B"}, |
|
619 nsIDOMKeyEvent.DOM_VK_B, "B", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
620 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_B, |
|
621 modifiers:{ctrlKey:1}, chars:"\u0002", unmodifiedChars:"b"}, |
|
622 nsIDOMKeyEvent.DOM_VK_B, "b", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
623 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_B, |
|
624 modifiers:{altKey:1}, chars:"\u222B", unmodifiedChars:"b"}, |
|
625 nsIDOMKeyEvent.DOM_VK_B, "\u222B", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
626 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_B, |
|
627 modifiers:{metaKey:1}, chars:"b", unmodifiedChars:"b"}, |
|
628 nsIDOMKeyEvent.DOM_VK_B, "b", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
629 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_C, |
|
630 modifiers:{}, chars:"c", unmodifiedChars:"c"}, |
|
631 nsIDOMKeyEvent.DOM_VK_C, "c", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
632 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_C, |
|
633 modifiers:{shiftKey:1}, chars:"C", unmodifiedChars:"C"}, |
|
634 nsIDOMKeyEvent.DOM_VK_C, "C", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
635 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_C, |
|
636 modifiers:{ctrlKey:1}, chars:"\u0003", unmodifiedChars:"c"}, |
|
637 nsIDOMKeyEvent.DOM_VK_C, "c", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
638 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_C, |
|
639 modifiers:{altKey:1}, chars:"\u00E7", unmodifiedChars:"c"}, |
|
640 nsIDOMKeyEvent.DOM_VK_C, "\u00E7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
641 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_C, |
|
642 modifiers:{metaKey:1}, chars:"c", unmodifiedChars:"c"}, |
|
643 nsIDOMKeyEvent.DOM_VK_C, "c", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
644 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_D, |
|
645 modifiers:{}, chars:"d", unmodifiedChars:"d"}, |
|
646 nsIDOMKeyEvent.DOM_VK_D, "d", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
647 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_D, |
|
648 modifiers:{shiftKey:1}, chars:"D", unmodifiedChars:"D"}, |
|
649 nsIDOMKeyEvent.DOM_VK_D, "D", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
650 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_D, |
|
651 modifiers:{ctrlKey:1}, chars:"\u0004", unmodifiedChars:"d"}, |
|
652 nsIDOMKeyEvent.DOM_VK_D, "d", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
653 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_D, |
|
654 modifiers:{altKey:1}, chars:"\u2202", unmodifiedChars:"d"}, |
|
655 nsIDOMKeyEvent.DOM_VK_D, "\u2202", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
656 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_D, |
|
657 modifiers:{metaKey:1}, chars:"d", unmodifiedChars:"d"}, |
|
658 nsIDOMKeyEvent.DOM_VK_D, "d", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
659 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_E, |
|
660 modifiers:{}, chars:"e", unmodifiedChars:"e"}, |
|
661 nsIDOMKeyEvent.DOM_VK_E, "e", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
662 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_E, |
|
663 modifiers:{shiftKey:1}, chars:"E", unmodifiedChars:"E"}, |
|
664 nsIDOMKeyEvent.DOM_VK_E, "E", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
665 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_E, |
|
666 modifiers:{ctrlKey:1}, chars:"\u0005", unmodifiedChars:"e"}, |
|
667 nsIDOMKeyEvent.DOM_VK_E, "e", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
668 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_E, |
|
669 modifiers:{altKey:1}, chars:"", unmodifiedChars:"e"}, |
|
670 nsIDOMKeyEvent.DOM_VK_E, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // dead key |
|
671 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_E, |
|
672 modifiers:{metaKey:1}, chars:"e", unmodifiedChars:"e"}, |
|
673 nsIDOMKeyEvent.DOM_VK_E, "e", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
674 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_F, |
|
675 modifiers:{}, chars:"f", unmodifiedChars:"f"}, |
|
676 nsIDOMKeyEvent.DOM_VK_F, "f", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
677 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_F, |
|
678 modifiers:{shiftKey:1}, chars:"F", unmodifiedChars:"F"}, |
|
679 nsIDOMKeyEvent.DOM_VK_F, "F", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
680 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_F, |
|
681 modifiers:{ctrlKey:1}, chars:"\u0006", unmodifiedChars:"f"}, |
|
682 nsIDOMKeyEvent.DOM_VK_F, "f", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
683 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_F, |
|
684 modifiers:{altKey:1}, chars:"\u0192", unmodifiedChars:"f"}, |
|
685 nsIDOMKeyEvent.DOM_VK_F, "\u0192", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
686 // XXX This test starts fullscreen mode. |
|
687 // testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_F, |
|
688 // modifiers:{metaKey:1}, chars:"f", unmodifiedChars:"f"}, |
|
689 // nsIDOMKeyEvent.DOM_VK_F, "f", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
690 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_G, |
|
691 modifiers:{}, chars:"g", unmodifiedChars:"g"}, |
|
692 nsIDOMKeyEvent.DOM_VK_G, "g", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
693 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_G, |
|
694 modifiers:{shiftKey:1}, chars:"G", unmodifiedChars:"G"}, |
|
695 nsIDOMKeyEvent.DOM_VK_G, "G", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
696 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_G, |
|
697 modifiers:{ctrlKey:1}, chars:"\u0007", unmodifiedChars:"g"}, |
|
698 nsIDOMKeyEvent.DOM_VK_G, "g", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
699 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_G, |
|
700 modifiers:{altKey:1}, chars:"\u00A9", unmodifiedChars:"g"}, |
|
701 nsIDOMKeyEvent.DOM_VK_G, "\u00A9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
702 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_G, |
|
703 modifiers:{metaKey:1}, chars:"g", unmodifiedChars:"g"}, |
|
704 nsIDOMKeyEvent.DOM_VK_G, "g", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
705 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_H, |
|
706 modifiers:{}, chars:"h", unmodifiedChars:"h"}, |
|
707 nsIDOMKeyEvent.DOM_VK_H, "h", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
708 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_H, |
|
709 modifiers:{shiftKey:1}, chars:"H", unmodifiedChars:"H"}, |
|
710 nsIDOMKeyEvent.DOM_VK_H, "H", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
711 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_H, |
|
712 modifiers:{ctrlKey:1}, chars:"\u0008", unmodifiedChars:"h"}, |
|
713 nsIDOMKeyEvent.DOM_VK_H, "h", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
714 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_H, |
|
715 modifiers:{altKey:1}, chars:"\u02D9", unmodifiedChars:"h"}, |
|
716 nsIDOMKeyEvent.DOM_VK_H, "\u02D9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
717 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_H, |
|
718 modifiers:{metaKey:1}, chars:"h", unmodifiedChars:"h"}, |
|
719 nsIDOMKeyEvent.DOM_VK_H, "h", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
720 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_I, |
|
721 modifiers:{}, chars:"i", unmodifiedChars:"i"}, |
|
722 nsIDOMKeyEvent.DOM_VK_I, "i", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
723 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_I, |
|
724 modifiers:{shiftKey:1}, chars:"I", unmodifiedChars:"I"}, |
|
725 nsIDOMKeyEvent.DOM_VK_I, "I", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
726 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_I, |
|
727 modifiers:{ctrlKey:1}, chars:"\u0009", unmodifiedChars:"i"}, |
|
728 nsIDOMKeyEvent.DOM_VK_I, "i", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
729 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_I, |
|
730 modifiers:{altKey:1}, chars:"", unmodifiedChars:"i"}, |
|
731 nsIDOMKeyEvent.DOM_VK_I, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // dead key |
|
732 // XXX This test causes memory leak. |
|
733 // testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_I, |
|
734 // modifiers:{metaKey:1}, chars:"i", unmodifiedChars:"i"}, |
|
735 // nsIDOMKeyEvent.DOM_VK_I, "i", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
736 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_J, |
|
737 modifiers:{}, chars:"j", unmodifiedChars:"j"}, |
|
738 nsIDOMKeyEvent.DOM_VK_J, "j", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
739 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_J, |
|
740 modifiers:{shiftKey:1}, chars:"J", unmodifiedChars:"J"}, |
|
741 nsIDOMKeyEvent.DOM_VK_J, "J", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
742 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_J, |
|
743 modifiers:{ctrlKey:1}, chars:"\u000A", unmodifiedChars:"j"}, |
|
744 nsIDOMKeyEvent.DOM_VK_J, "j", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
745 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_J, |
|
746 modifiers:{altKey:1}, chars:"\u2206", unmodifiedChars:"j"}, |
|
747 nsIDOMKeyEvent.DOM_VK_J, "\u2206", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
748 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_J, |
|
749 modifiers:{metaKey:1}, chars:"j", unmodifiedChars:"j"}, |
|
750 nsIDOMKeyEvent.DOM_VK_J, "j", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
751 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_K, |
|
752 modifiers:{}, chars:"k", unmodifiedChars:"k"}, |
|
753 nsIDOMKeyEvent.DOM_VK_K, "k", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
754 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_K, |
|
755 modifiers:{shiftKey:1}, chars:"K", unmodifiedChars:"K"}, |
|
756 nsIDOMKeyEvent.DOM_VK_K, "K", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
757 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_K, |
|
758 modifiers:{ctrlKey:1}, chars:"\u000B", unmodifiedChars:"k"}, |
|
759 nsIDOMKeyEvent.DOM_VK_K, "k", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
760 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_K, |
|
761 modifiers:{altKey:1}, chars:"\u02DA", unmodifiedChars:"k"}, |
|
762 nsIDOMKeyEvent.DOM_VK_K, "\u02DA", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
763 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_K, |
|
764 modifiers:{metaKey:1}, chars:"k", unmodifiedChars:"k"}, |
|
765 nsIDOMKeyEvent.DOM_VK_K, "k", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
766 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_L, |
|
767 modifiers:{}, chars:"l", unmodifiedChars:"l"}, |
|
768 nsIDOMKeyEvent.DOM_VK_L, "l", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
769 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_L, |
|
770 modifiers:{shiftKey:1}, chars:"L", unmodifiedChars:"L"}, |
|
771 nsIDOMKeyEvent.DOM_VK_L, "L", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
772 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_L, |
|
773 modifiers:{ctrlKey:1}, chars:"\u000C", unmodifiedChars:"l"}, |
|
774 nsIDOMKeyEvent.DOM_VK_L, "l", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
775 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_L, |
|
776 modifiers:{altKey:1}, chars:"\u00AC", unmodifiedChars:"l"}, |
|
777 nsIDOMKeyEvent.DOM_VK_L, "\u00AC", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
778 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_L, |
|
779 modifiers:{metaKey:1}, chars:"l", unmodifiedChars:"l"}, |
|
780 nsIDOMKeyEvent.DOM_VK_L, "l", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
781 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_M, |
|
782 modifiers:{}, chars:"m", unmodifiedChars:"m"}, |
|
783 nsIDOMKeyEvent.DOM_VK_M, "m", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
784 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_M, |
|
785 modifiers:{shiftKey:1}, chars:"M", unmodifiedChars:"M"}, |
|
786 nsIDOMKeyEvent.DOM_VK_M, "M", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
787 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_M, |
|
788 modifiers:{ctrlKey:1}, chars:"\u000D", unmodifiedChars:"m"}, |
|
789 nsIDOMKeyEvent.DOM_VK_M, "m", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
790 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_M, |
|
791 modifiers:{altKey:1}, chars:"\u00B5", unmodifiedChars:"m"}, |
|
792 nsIDOMKeyEvent.DOM_VK_M, "\u00B5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
793 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_M, |
|
794 modifiers:{metaKey:1}, chars:"m", unmodifiedChars:"m"}, |
|
795 nsIDOMKeyEvent.DOM_VK_M, "m", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
796 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_N, |
|
797 modifiers:{}, chars:"n", unmodifiedChars:"n"}, |
|
798 nsIDOMKeyEvent.DOM_VK_N, "n", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
799 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_N, |
|
800 modifiers:{shiftKey:1}, chars:"N", unmodifiedChars:"N"}, |
|
801 nsIDOMKeyEvent.DOM_VK_N, "N", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
802 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_N, |
|
803 modifiers:{ctrlKey:1}, chars:"\u000E", unmodifiedChars:"n"}, |
|
804 nsIDOMKeyEvent.DOM_VK_N, "n", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
805 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_N, |
|
806 modifiers:{altKey:1}, chars:"", unmodifiedChars:"n"}, |
|
807 nsIDOMKeyEvent.DOM_VK_N, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // dead key |
|
808 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_N, |
|
809 modifiers:{metaKey:1}, chars:"n", unmodifiedChars:"n"}, |
|
810 nsIDOMKeyEvent.DOM_VK_N, "n", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
811 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_O, |
|
812 modifiers:{}, chars:"o", unmodifiedChars:"o"}, |
|
813 nsIDOMKeyEvent.DOM_VK_O, "o", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
814 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_O, |
|
815 modifiers:{shiftKey:1}, chars:"O", unmodifiedChars:"O"}, |
|
816 nsIDOMKeyEvent.DOM_VK_O, "O", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
817 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_O, |
|
818 modifiers:{ctrlKey:1}, chars:"\u000F", unmodifiedChars:"o"}, |
|
819 nsIDOMKeyEvent.DOM_VK_O, "o", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
820 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_O, |
|
821 modifiers:{altKey:1}, chars:"\u00F8", unmodifiedChars:"o"}, |
|
822 nsIDOMKeyEvent.DOM_VK_O, "\u00F8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
823 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_O, |
|
824 modifiers:{metaKey:1}, chars:"o", unmodifiedChars:"o"}, |
|
825 nsIDOMKeyEvent.DOM_VK_O, "o", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
826 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_P, |
|
827 modifiers:{}, chars:"p", unmodifiedChars:"p"}, |
|
828 nsIDOMKeyEvent.DOM_VK_P, "p", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
829 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_P, |
|
830 modifiers:{shiftKey:1}, chars:"P", unmodifiedChars:"P"}, |
|
831 nsIDOMKeyEvent.DOM_VK_P, "P", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
832 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_P, |
|
833 modifiers:{ctrlKey:1}, chars:"\u0010", unmodifiedChars:"p"}, |
|
834 nsIDOMKeyEvent.DOM_VK_P, "p", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
835 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_P, |
|
836 modifiers:{altKey:1}, chars:"\u03C0", unmodifiedChars:"p"}, |
|
837 nsIDOMKeyEvent.DOM_VK_P, "\u03C0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
838 // XXX This test starts private browsing mode (stopped at the confirmation dialog) |
|
839 // testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_P, |
|
840 // modifiers:{metaKey:1}, chars:"p", unmodifiedChars:"p"}, |
|
841 // nsIDOMKeyEvent.DOM_VK_P, "p", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
842 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Q, |
|
843 modifiers:{}, chars:"q", unmodifiedChars:"q"}, |
|
844 nsIDOMKeyEvent.DOM_VK_Q, "q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
845 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Q, |
|
846 modifiers:{shiftKey:1}, chars:"Q", unmodifiedChars:"Q"}, |
|
847 nsIDOMKeyEvent.DOM_VK_Q, "Q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
848 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Q, |
|
849 modifiers:{ctrlKey:1}, chars:"\u0011", unmodifiedChars:"q"}, |
|
850 nsIDOMKeyEvent.DOM_VK_Q, "q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
851 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Q, |
|
852 modifiers:{altKey:1}, chars:"\u0153", unmodifiedChars:"q"}, |
|
853 nsIDOMKeyEvent.DOM_VK_Q, "\u0153", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
854 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Q, |
|
855 modifiers:{metaKey:1}, chars:"q", unmodifiedChars:"q"}, |
|
856 nsIDOMKeyEvent.DOM_VK_Q, "q", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
857 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_R, |
|
858 modifiers:{}, chars:"r", unmodifiedChars:"r"}, |
|
859 nsIDOMKeyEvent.DOM_VK_R, "r", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
860 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_R, |
|
861 modifiers:{shiftKey:1}, chars:"R", unmodifiedChars:"R"}, |
|
862 nsIDOMKeyEvent.DOM_VK_R, "R", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
863 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_R, |
|
864 modifiers:{ctrlKey:1}, chars:"\u0012", unmodifiedChars:"r"}, |
|
865 nsIDOMKeyEvent.DOM_VK_R, "r", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
866 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_R, |
|
867 modifiers:{altKey:1}, chars:"\u00AE", unmodifiedChars:"r"}, |
|
868 nsIDOMKeyEvent.DOM_VK_R, "\u00AE", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
869 // XXX This test makes some tabs and dialogs. |
|
870 // testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_R, |
|
871 // modifiers:{metaKey:1}, chars:"r", unmodifiedChars:"r"}, |
|
872 // nsIDOMKeyEvent.DOM_VK_R, "r", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
873 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_S, |
|
874 modifiers:{}, chars:"s", unmodifiedChars:"s"}, |
|
875 nsIDOMKeyEvent.DOM_VK_S, "s", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
876 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_S, |
|
877 modifiers:{shiftKey:1}, chars:"S", unmodifiedChars:"S"}, |
|
878 nsIDOMKeyEvent.DOM_VK_S, "S", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
879 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_S, |
|
880 modifiers:{ctrlKey:1}, chars:"\u0013", unmodifiedChars:"s"}, |
|
881 nsIDOMKeyEvent.DOM_VK_S, "s", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
882 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_S, |
|
883 modifiers:{altKey:1}, chars:"\u00DF", unmodifiedChars:"s"}, |
|
884 nsIDOMKeyEvent.DOM_VK_S, "\u00DF", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
885 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_S, |
|
886 modifiers:{metaKey:1}, chars:"s", unmodifiedChars:"s"}, |
|
887 nsIDOMKeyEvent.DOM_VK_S, "s", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
888 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_T, |
|
889 modifiers:{}, chars:"t", unmodifiedChars:"t"}, |
|
890 nsIDOMKeyEvent.DOM_VK_T, "t", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
891 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_T, |
|
892 modifiers:{shiftKey:1}, chars:"T", unmodifiedChars:"T"}, |
|
893 nsIDOMKeyEvent.DOM_VK_T, "T", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
894 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_T, |
|
895 modifiers:{ctrlKey:1}, chars:"\u0014", unmodifiedChars:"t"}, |
|
896 nsIDOMKeyEvent.DOM_VK_T, "t", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
897 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_T, |
|
898 modifiers:{altKey:1}, chars:"\u2020", unmodifiedChars:"t"}, |
|
899 nsIDOMKeyEvent.DOM_VK_T, "\u2020", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
900 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_T, |
|
901 modifiers:{metaKey:1}, chars:"t", unmodifiedChars:"t"}, |
|
902 nsIDOMKeyEvent.DOM_VK_T, "t", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
903 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_U, |
|
904 modifiers:{}, chars:"u", unmodifiedChars:"u"}, |
|
905 nsIDOMKeyEvent.DOM_VK_U, "u", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
906 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_U, |
|
907 modifiers:{shiftKey:1}, chars:"U", unmodifiedChars:"U"}, |
|
908 nsIDOMKeyEvent.DOM_VK_U, "U", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
909 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_U, |
|
910 modifiers:{ctrlKey:1}, chars:"\u0015", unmodifiedChars:"u"}, |
|
911 nsIDOMKeyEvent.DOM_VK_U, "u", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
912 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_U, |
|
913 modifiers:{altKey:1}, chars:"", unmodifiedChars:"u"}, |
|
914 nsIDOMKeyEvent.DOM_VK_U, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // dead key |
|
915 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_U, |
|
916 modifiers:{metaKey:1}, chars:"u", unmodifiedChars:"u"}, |
|
917 nsIDOMKeyEvent.DOM_VK_U, "u", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
918 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_V, |
|
919 modifiers:{}, chars:"v", unmodifiedChars:"v"}, |
|
920 nsIDOMKeyEvent.DOM_VK_V, "v", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
921 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_V, |
|
922 modifiers:{shiftKey:1}, chars:"V", unmodifiedChars:"V"}, |
|
923 nsIDOMKeyEvent.DOM_VK_V, "V", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
924 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_V, |
|
925 modifiers:{ctrlKey:1}, chars:"\u0016", unmodifiedChars:"v"}, |
|
926 nsIDOMKeyEvent.DOM_VK_V, "v", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
927 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_V, |
|
928 modifiers:{altKey:1}, chars:"\u221A", unmodifiedChars:"v"}, |
|
929 nsIDOMKeyEvent.DOM_VK_V, "\u221A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
930 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_V, |
|
931 modifiers:{metaKey:1}, chars:"v", unmodifiedChars:"v"}, |
|
932 nsIDOMKeyEvent.DOM_VK_V, "v", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
933 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_W, |
|
934 modifiers:{}, chars:"w", unmodifiedChars:"w"}, |
|
935 nsIDOMKeyEvent.DOM_VK_W, "w", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
936 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_W, |
|
937 modifiers:{shiftKey:1}, chars:"W", unmodifiedChars:"W"}, |
|
938 nsIDOMKeyEvent.DOM_VK_W, "W", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
939 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_W, |
|
940 modifiers:{ctrlKey:1}, chars:"\u0017", unmodifiedChars:"w"}, |
|
941 nsIDOMKeyEvent.DOM_VK_W, "w", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
942 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_W, |
|
943 modifiers:{altKey:1}, chars:"\u2211", unmodifiedChars:"w"}, |
|
944 nsIDOMKeyEvent.DOM_VK_W, "\u2211", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
945 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_W, |
|
946 modifiers:{metaKey:1}, chars:"w", unmodifiedChars:"w"}, |
|
947 nsIDOMKeyEvent.DOM_VK_W, "w", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
948 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_X, |
|
949 modifiers:{}, chars:"x", unmodifiedChars:"x"}, |
|
950 nsIDOMKeyEvent.DOM_VK_X, "x", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
951 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_X, |
|
952 modifiers:{shiftKey:1}, chars:"X", unmodifiedChars:"X"}, |
|
953 nsIDOMKeyEvent.DOM_VK_X, "X", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
954 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_X, |
|
955 modifiers:{ctrlKey:1}, chars:"\u0018", unmodifiedChars:"x"}, |
|
956 nsIDOMKeyEvent.DOM_VK_X, "x", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
957 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_X, |
|
958 modifiers:{altKey:1}, chars:"\u2248", unmodifiedChars:"x"}, |
|
959 nsIDOMKeyEvent.DOM_VK_X, "\u2248", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
960 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_X, |
|
961 modifiers:{metaKey:1}, chars:"x", unmodifiedChars:"x"}, |
|
962 nsIDOMKeyEvent.DOM_VK_X, "x", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
963 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Y, |
|
964 modifiers:{}, chars:"y", unmodifiedChars:"y"}, |
|
965 nsIDOMKeyEvent.DOM_VK_Y, "y", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
966 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Y, |
|
967 modifiers:{shiftKey:1}, chars:"Y", unmodifiedChars:"Y"}, |
|
968 nsIDOMKeyEvent.DOM_VK_Y, "Y", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
969 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Y, |
|
970 modifiers:{ctrlKey:1}, chars:"\u0019", unmodifiedChars:"y"}, |
|
971 nsIDOMKeyEvent.DOM_VK_Y, "y", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
972 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Y, |
|
973 modifiers:{altKey:1}, chars:"\u00A5", unmodifiedChars:"y"}, |
|
974 nsIDOMKeyEvent.DOM_VK_Y, "\u00A5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
975 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Y, |
|
976 modifiers:{metaKey:1}, chars:"y", unmodifiedChars:"y"}, |
|
977 nsIDOMKeyEvent.DOM_VK_Y, "y", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
978 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Z, |
|
979 modifiers:{}, chars:"z", unmodifiedChars:"z"}, |
|
980 nsIDOMKeyEvent.DOM_VK_Z, "z", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
981 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Z, |
|
982 modifiers:{shiftKey:1}, chars:"Z", unmodifiedChars:"Z"}, |
|
983 nsIDOMKeyEvent.DOM_VK_Z, "Z", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
984 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Z, |
|
985 modifiers:{ctrlKey:1}, chars:"\u001A", unmodifiedChars:"z"}, |
|
986 nsIDOMKeyEvent.DOM_VK_Z, "z", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
987 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Z, |
|
988 modifiers:{altKey:1}, chars:"\u03A9", unmodifiedChars:"z"}, |
|
989 nsIDOMKeyEvent.DOM_VK_Z, "\u03A9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
990 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Z, |
|
991 modifiers:{metaKey:1}, chars:"z", unmodifiedChars:"z"}, |
|
992 nsIDOMKeyEvent.DOM_VK_Z, "z", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
993 |
|
994 // numeric |
|
995 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_1, |
|
996 modifiers:{}, chars:"1", unmodifiedChars:"1"}, |
|
997 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
998 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_1, |
|
999 modifiers:{shiftKey:1}, chars:"!", unmodifiedChars:"!"}, |
|
1000 nsIDOMKeyEvent.DOM_VK_1, "!", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1001 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_1, |
|
1002 modifiers:{ctrlKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1003 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1004 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_1, |
|
1005 modifiers:{altKey:1}, chars:"\u00A1", unmodifiedChars:"1"}, |
|
1006 nsIDOMKeyEvent.DOM_VK_1, "\u00A1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1007 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_1, |
|
1008 modifiers:{metaKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1009 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1010 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_2, |
|
1011 modifiers:{}, chars:"2", unmodifiedChars:"2"}, |
|
1012 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1013 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_2, |
|
1014 modifiers:{shiftKey:1}, chars:"@", unmodifiedChars:"@"}, |
|
1015 nsIDOMKeyEvent.DOM_VK_2, "@", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1016 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_2, |
|
1017 modifiers:{ctrlKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1018 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1019 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_2, |
|
1020 modifiers:{altKey:1}, chars:"\u00A1", unmodifiedChars:"2"}, |
|
1021 nsIDOMKeyEvent.DOM_VK_2, "\u00A1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1022 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_2, |
|
1023 modifiers:{metaKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1024 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1025 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_3, |
|
1026 modifiers:{}, chars:"3", unmodifiedChars:"3"}, |
|
1027 nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1028 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_3, |
|
1029 modifiers:{shiftKey:1}, chars:"#", unmodifiedChars:"#"}, |
|
1030 nsIDOMKeyEvent.DOM_VK_3, "#", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1031 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_3, |
|
1032 modifiers:{ctrlKey:1}, chars:"3", unmodifiedChars:"3"}, |
|
1033 nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1034 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_3, |
|
1035 modifiers:{altKey:1}, chars:"\u00A3", unmodifiedChars:"3"}, |
|
1036 nsIDOMKeyEvent.DOM_VK_3, "\u00A3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1037 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_3, |
|
1038 modifiers:{metaKey:1}, chars:"3", unmodifiedChars:"3"}, |
|
1039 nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1040 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_4, |
|
1041 modifiers:{}, chars:"4", unmodifiedChars:"4"}, |
|
1042 nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1043 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_4, |
|
1044 modifiers:{shiftKey:1}, chars:"$", unmodifiedChars:"$"}, |
|
1045 nsIDOMKeyEvent.DOM_VK_4, "$", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1046 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_4, |
|
1047 modifiers:{ctrlKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1048 nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1049 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_4, |
|
1050 modifiers:{altKey:1}, chars:"\u00A2", unmodifiedChars:"4"}, |
|
1051 nsIDOMKeyEvent.DOM_VK_4, "\u00A2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1052 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_4, |
|
1053 modifiers:{metaKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1054 nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1055 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_5, |
|
1056 modifiers:{}, chars:"5", unmodifiedChars:"5"}, |
|
1057 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1058 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_5, |
|
1059 modifiers:{shiftKey:1}, chars:"%", unmodifiedChars:"%"}, |
|
1060 nsIDOMKeyEvent.DOM_VK_5, "%", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1061 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_5, |
|
1062 modifiers:{ctrlKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1063 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1064 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_5, |
|
1065 modifiers:{altKey:1}, chars:"\u221E", unmodifiedChars:"5"}, |
|
1066 nsIDOMKeyEvent.DOM_VK_5, "\u221E", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1067 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_5, |
|
1068 modifiers:{metaKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1069 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1070 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_6, |
|
1071 modifiers:{}, chars:"6", unmodifiedChars:"6"}, |
|
1072 nsIDOMKeyEvent.DOM_VK_6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1073 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_6, |
|
1074 modifiers:{shiftKey:1}, chars:"^", unmodifiedChars:"^"}, |
|
1075 nsIDOMKeyEvent.DOM_VK_6, "^", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1076 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_6, |
|
1077 modifiers:{ctrlKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1078 nsIDOMKeyEvent.DOM_VK_6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1079 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_6, |
|
1080 modifiers:{altKey:1}, chars:"\u00A7", unmodifiedChars:"6"}, |
|
1081 nsIDOMKeyEvent.DOM_VK_6, "\u00A7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1082 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_6, |
|
1083 modifiers:{metaKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1084 nsIDOMKeyEvent.DOM_VK_6, "6", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1085 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_7, |
|
1086 modifiers:{}, chars:"7", unmodifiedChars:"7"}, |
|
1087 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1088 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_7, |
|
1089 modifiers:{shiftKey:1}, chars:"\u0026;", unmodifiedChars:"\u0026;"}, |
|
1090 nsIDOMKeyEvent.DOM_VK_7, "\u0026", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1091 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_7, |
|
1092 modifiers:{ctrlKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1093 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1094 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_7, |
|
1095 modifiers:{altKey:1}, chars:"\u00B6", unmodifiedChars:"7"}, |
|
1096 nsIDOMKeyEvent.DOM_VK_7, "\u00B6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1097 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_7, |
|
1098 modifiers:{metaKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1099 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1100 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_8, |
|
1101 modifiers:{}, chars:"8", unmodifiedChars:"8"}, |
|
1102 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1103 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_8, |
|
1104 modifiers:{shiftKey:1}, chars:"*", unmodifiedChars:"*"}, |
|
1105 nsIDOMKeyEvent.DOM_VK_8, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1106 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_8, |
|
1107 modifiers:{ctrlKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1108 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1109 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_8, |
|
1110 modifiers:{altKey:1}, chars:"\u2022", unmodifiedChars:"8"}, |
|
1111 nsIDOMKeyEvent.DOM_VK_8, "\u2022", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1112 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_8, |
|
1113 modifiers:{metaKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1114 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1115 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_9, |
|
1116 modifiers:{}, chars:"9", unmodifiedChars:"9"}, |
|
1117 nsIDOMKeyEvent.DOM_VK_9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1118 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_9, |
|
1119 modifiers:{shiftKey:1}, chars:"(", unmodifiedChars:"("}, |
|
1120 nsIDOMKeyEvent.DOM_VK_9, "(", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1121 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_9, |
|
1122 modifiers:{ctrlKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1123 nsIDOMKeyEvent.DOM_VK_9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1124 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_9, |
|
1125 modifiers:{altKey:1}, chars:"\u00AA", unmodifiedChars:"9"}, |
|
1126 nsIDOMKeyEvent.DOM_VK_9, "\u00AA", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1127 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_9, |
|
1128 modifiers:{metaKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1129 nsIDOMKeyEvent.DOM_VK_9, "9", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1130 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_0, |
|
1131 modifiers:{}, chars:"0", unmodifiedChars:"0"}, |
|
1132 nsIDOMKeyEvent.DOM_VK_0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1133 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_0, |
|
1134 modifiers:{shiftKey:1}, chars:")", unmodifiedChars:")"}, |
|
1135 nsIDOMKeyEvent.DOM_VK_0, ")", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1136 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_0, |
|
1137 modifiers:{ctrlKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1138 nsIDOMKeyEvent.DOM_VK_0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1139 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_0, |
|
1140 modifiers:{altKey:1}, chars:"\u00BA", unmodifiedChars:"0"}, |
|
1141 nsIDOMKeyEvent.DOM_VK_0, "\u00BA", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1142 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_0, |
|
1143 modifiers:{metaKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1144 nsIDOMKeyEvent.DOM_VK_0, "0", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1145 |
|
1146 // other chracters |
|
1147 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Grave, |
|
1148 modifiers:{}, chars:"`", unmodifiedChars:"`"}, |
|
1149 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "`", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1150 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Grave, |
|
1151 modifiers:{shiftKey:1}, chars:"~", unmodifiedChars:"~"}, |
|
1152 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "~", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1153 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Grave, |
|
1154 modifiers:{ctrlKey:1}, chars:"`", unmodifiedChars:"`"}, |
|
1155 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "`", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1156 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Grave, |
|
1157 modifiers:{altKey:1}, chars:"", unmodifiedChars:"`"}, |
|
1158 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // dead key |
|
1159 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Grave, |
|
1160 modifiers:{metaKey:1}, chars:"`", unmodifiedChars:"`"}, |
|
1161 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "`", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1162 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Minus, |
|
1163 modifiers:{}, chars:"-", unmodifiedChars:"-"}, |
|
1164 nsIDOMKeyEvent.DOM_VK_HYPHEN_MINUS, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1165 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Minus, |
|
1166 modifiers:{shiftKey:1}, chars:"_", unmodifiedChars:"_"}, |
|
1167 nsIDOMKeyEvent.DOM_VK_HYPHEN_MINUS, "_", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1168 // TODO: |
|
1169 // testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Minus, |
|
1170 // modifiers:{ctrlKey:1}, chars:"\u001F", unmodifiedChars:"-"}, |
|
1171 // nsIDOMKeyEvent.DOM_VK_HYPHEN_MINUS, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1172 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Minus, |
|
1173 modifiers:{altKey:1}, chars:"\u2013", unmodifiedChars:"-"}, |
|
1174 nsIDOMKeyEvent.DOM_VK_HYPHEN_MINUS, "\u2013", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1175 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Minus, |
|
1176 modifiers:{metaKey:1}, chars:"-", unmodifiedChars:"-"}, |
|
1177 nsIDOMKeyEvent.DOM_VK_HYPHEN_MINUS, "-", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1178 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Equal, |
|
1179 modifiers:{}, chars:"=", unmodifiedChars:"="}, |
|
1180 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1181 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Equal, |
|
1182 modifiers:{shiftKey:1}, chars:"+", unmodifiedChars:"+"}, |
|
1183 nsIDOMKeyEvent.DOM_VK_EQUALS, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1184 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Equal, |
|
1185 modifiers:{ctrlKey:1}, chars:"=", unmodifiedChars:"="}, |
|
1186 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1187 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Equal, |
|
1188 modifiers:{altKey:1}, chars:"\u2260", unmodifiedChars:"="}, |
|
1189 nsIDOMKeyEvent.DOM_VK_EQUALS, "\u2260", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1190 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Equal, |
|
1191 modifiers:{metaKey:1}, chars:"=", unmodifiedChars:"="}, |
|
1192 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1193 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_LeftBracket, |
|
1194 modifiers:{}, chars:"[", unmodifiedChars:"["}, |
|
1195 nsIDOMKeyEvent.DOM_VK_OPEN_BRACKET, "[", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1196 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_LeftBracket, |
|
1197 modifiers:{shiftKey:1}, chars:"{", unmodifiedChars:"{"}, |
|
1198 nsIDOMKeyEvent.DOM_VK_OPEN_BRACKET, "{", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1199 // TODO: |
|
1200 // testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_LeftBracket, |
|
1201 // modifiers:{ctrlKey:1}, chars:"\u001B", unmodifiedChars:"["}, |
|
1202 // nsIDOMKeyEvent.DOM_VK_OPEN_BRACKET, "[", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1203 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_LeftBracket, |
|
1204 modifiers:{altKey:1}, chars:"\u201C", unmodifiedChars:"["}, |
|
1205 nsIDOMKeyEvent.DOM_VK_OPEN_BRACKET, "\u201C", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1206 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_LeftBracket, |
|
1207 modifiers:{metaKey:1}, chars:"[", unmodifiedChars:"["}, |
|
1208 nsIDOMKeyEvent.DOM_VK_OPEN_BRACKET, "[", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1209 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_RightBracket, |
|
1210 modifiers:{}, chars:"]", unmodifiedChars:"]"}, |
|
1211 nsIDOMKeyEvent.DOM_VK_CLOSE_BRACKET, "]", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1212 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_RightBracket, |
|
1213 modifiers:{shiftKey:1}, chars:"}", unmodifiedChars:"}"}, |
|
1214 nsIDOMKeyEvent.DOM_VK_CLOSE_BRACKET, "}", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1215 // TODO: |
|
1216 // testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_RightBracket, |
|
1217 // modifiers:{ctrlKey:1}, chars:"\u001D", unmodifiedChars:"]"}, |
|
1218 // nsIDOMKeyEvent.DOM_VK_CLOSE_BRACKET, "]", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1219 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_RightBracket, |
|
1220 modifiers:{altKey:1}, chars:"\u2018", unmodifiedChars:"]"}, |
|
1221 nsIDOMKeyEvent.DOM_VK_CLOSE_BRACKET, "\u2018", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1222 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_RightBracket, |
|
1223 modifiers:{metaKey:1}, chars:"]", unmodifiedChars:"]"}, |
|
1224 nsIDOMKeyEvent.DOM_VK_CLOSE_BRACKET, "]", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1225 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Backslash, |
|
1226 modifiers:{}, chars:"\\", unmodifiedChars:"\\"}, |
|
1227 nsIDOMKeyEvent.DOM_VK_BACK_SLASH, "\\", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1228 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Backslash, |
|
1229 modifiers:{shiftKey:1}, chars:"|", unmodifiedChars:"|"}, |
|
1230 nsIDOMKeyEvent.DOM_VK_BACK_SLASH, "|", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1231 // TODO: |
|
1232 // testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Backslash, |
|
1233 // modifiers:{ctrlKey:1}, chars:"\u001C", unmodifiedChars:"\\"}, |
|
1234 // nsIDOMKeyEvent.DOM_VK_BACK_SLASH, "\\", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1235 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Backslash, |
|
1236 modifiers:{altKey:1}, chars:"\u00AB", unmodifiedChars:"\\"}, |
|
1237 nsIDOMKeyEvent.DOM_VK_BACK_SLASH, "\u00AB", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1238 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Backslash, |
|
1239 modifiers:{metaKey:1}, chars:"\\", unmodifiedChars:"\\"}, |
|
1240 nsIDOMKeyEvent.DOM_VK_BACK_SLASH, "\\", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1241 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
1242 modifiers:{}, chars:";", unmodifiedChars:";"}, |
|
1243 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ";", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1244 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
1245 modifiers:{shiftKey:1}, chars:":", unmodifiedChars:":"}, |
|
1246 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ":", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1247 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
1248 modifiers:{ctrlKey:1}, chars:";", unmodifiedChars:";"}, |
|
1249 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ";", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1250 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
1251 modifiers:{altKey:1}, chars:"\u2026", unmodifiedChars:";"}, |
|
1252 nsIDOMKeyEvent.DOM_VK_SEMICOLON, "\u2026", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1253 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
1254 modifiers:{metaKey:1}, chars:";", unmodifiedChars:";"}, |
|
1255 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ";", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1256 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Quote, |
|
1257 modifiers:{}, chars:"'", unmodifiedChars:"'"}, |
|
1258 nsIDOMKeyEvent.DOM_VK_QUOTE, "'", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1259 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Quote, |
|
1260 modifiers:{shiftKey:1}, chars:"\"", unmodifiedChars:"\""}, |
|
1261 nsIDOMKeyEvent.DOM_VK_QUOTE, "\"", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1262 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Quote, |
|
1263 modifiers:{ctrlKey:1}, chars:"'", unmodifiedChars:"'"}, |
|
1264 nsIDOMKeyEvent.DOM_VK_QUOTE, "'", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1265 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Quote, |
|
1266 modifiers:{altKey:1}, chars:"\u00E6", unmodifiedChars:"'"}, |
|
1267 nsIDOMKeyEvent.DOM_VK_QUOTE, "\u00E6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1268 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Quote, |
|
1269 modifiers:{metaKey:1}, chars:"'", unmodifiedChars:"'"}, |
|
1270 nsIDOMKeyEvent.DOM_VK_QUOTE, "'", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1271 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Comma, |
|
1272 modifiers:{}, chars:",", unmodifiedChars:","}, |
|
1273 nsIDOMKeyEvent.DOM_VK_COMMA, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1274 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Comma, |
|
1275 modifiers:{shiftKey:1}, chars:"\u003C", unmodifiedChars:"\u003C"}, |
|
1276 nsIDOMKeyEvent.DOM_VK_COMMA, "\u003C", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1277 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Comma, |
|
1278 modifiers:{ctrlKey:1}, chars:",", unmodifiedChars:","}, |
|
1279 nsIDOMKeyEvent.DOM_VK_COMMA, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1280 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Comma, |
|
1281 modifiers:{altKey:1}, chars:"\u2264", unmodifiedChars:","}, |
|
1282 nsIDOMKeyEvent.DOM_VK_COMMA, "\u2264", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1283 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Comma, |
|
1284 modifiers:{metaKey:1}, chars:",", unmodifiedChars:","}, |
|
1285 nsIDOMKeyEvent.DOM_VK_COMMA, ",", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1286 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Period, |
|
1287 modifiers:{}, chars:".", unmodifiedChars:"."}, |
|
1288 nsIDOMKeyEvent.DOM_VK_PERIOD, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1289 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Period, |
|
1290 modifiers:{shiftKey:1}, chars:"\u003E", unmodifiedChars:"\u003E"}, |
|
1291 nsIDOMKeyEvent.DOM_VK_PERIOD, "\u003E", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1292 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Period, |
|
1293 modifiers:{ctrlKey:1}, chars:".", unmodifiedChars:"."}, |
|
1294 nsIDOMKeyEvent.DOM_VK_PERIOD, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1295 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Period, |
|
1296 modifiers:{altKey:1}, chars:"\u2265", unmodifiedChars:"."}, |
|
1297 nsIDOMKeyEvent.DOM_VK_PERIOD, "\u2265", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1298 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Period, |
|
1299 modifiers:{metaKey:1}, chars:".", unmodifiedChars:"."}, |
|
1300 nsIDOMKeyEvent.DOM_VK_PERIOD, ".", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1301 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Slash, |
|
1302 modifiers:{}, chars:"/", unmodifiedChars:"/"}, |
|
1303 nsIDOMKeyEvent.DOM_VK_SLASH, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1304 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Slash, |
|
1305 modifiers:{shiftKey:1}, chars:"?", unmodifiedChars:"?"}, |
|
1306 nsIDOMKeyEvent.DOM_VK_SLASH, "?", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1307 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Slash, |
|
1308 modifiers:{ctrlKey:1}, chars:"/", unmodifiedChars:"/"}, |
|
1309 nsIDOMKeyEvent.DOM_VK_SLASH, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1310 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Slash, |
|
1311 modifiers:{altKey:1}, chars:"\u00F7", unmodifiedChars:"/"}, |
|
1312 nsIDOMKeyEvent.DOM_VK_SLASH, "\u00F7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1313 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Slash, |
|
1314 modifiers:{metaKey:1}, chars:"/", unmodifiedChars:"/"}, |
|
1315 nsIDOMKeyEvent.DOM_VK_SLASH, "/", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1316 |
|
1317 // numpad |
|
1318 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad1, |
|
1319 modifiers:{numericKeyPadKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1320 nsIDOMKeyEvent.DOM_VK_NUMPAD1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1321 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad1, |
|
1322 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1323 nsIDOMKeyEvent.DOM_VK_NUMPAD1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1324 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad1, |
|
1325 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1326 nsIDOMKeyEvent.DOM_VK_NUMPAD1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1327 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad1, |
|
1328 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1329 nsIDOMKeyEvent.DOM_VK_NUMPAD1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1330 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad1, |
|
1331 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1332 nsIDOMKeyEvent.DOM_VK_NUMPAD1, "1", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1333 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad2, |
|
1334 modifiers:{numericKeyPadKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1335 nsIDOMKeyEvent.DOM_VK_NUMPAD2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1336 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad2, |
|
1337 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1338 nsIDOMKeyEvent.DOM_VK_NUMPAD2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1339 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad2, |
|
1340 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1341 nsIDOMKeyEvent.DOM_VK_NUMPAD2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1342 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad2, |
|
1343 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1344 nsIDOMKeyEvent.DOM_VK_NUMPAD2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1345 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad2, |
|
1346 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1347 nsIDOMKeyEvent.DOM_VK_NUMPAD2, "2", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1348 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad3, |
|
1349 modifiers:{numericKeyPadKey:1}, chars:"3", unmodifiedChars:"3"}, |
|
1350 nsIDOMKeyEvent.DOM_VK_NUMPAD3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1351 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad3, |
|
1352 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"3", unmodifiedChars:"3"}, |
|
1353 nsIDOMKeyEvent.DOM_VK_NUMPAD3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1354 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad3, |
|
1355 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"3", unmodifiedChars:"3"}, |
|
1356 nsIDOMKeyEvent.DOM_VK_NUMPAD3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1357 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad3, |
|
1358 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"3", unmodifiedChars:"3"}, |
|
1359 nsIDOMKeyEvent.DOM_VK_NUMPAD3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1360 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad3, |
|
1361 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"3", unmodifiedChars:"3"}, |
|
1362 nsIDOMKeyEvent.DOM_VK_NUMPAD3, "3", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1363 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad4, |
|
1364 modifiers:{numericKeyPadKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1365 nsIDOMKeyEvent.DOM_VK_NUMPAD4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1366 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad4, |
|
1367 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1368 nsIDOMKeyEvent.DOM_VK_NUMPAD4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1369 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad4, |
|
1370 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1371 nsIDOMKeyEvent.DOM_VK_NUMPAD4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1372 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad4, |
|
1373 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1374 nsIDOMKeyEvent.DOM_VK_NUMPAD4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1375 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad4, |
|
1376 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1377 nsIDOMKeyEvent.DOM_VK_NUMPAD4, "4", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1378 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad5, |
|
1379 modifiers:{numericKeyPadKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1380 nsIDOMKeyEvent.DOM_VK_NUMPAD5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1381 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad5, |
|
1382 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1383 nsIDOMKeyEvent.DOM_VK_NUMPAD5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1384 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad5, |
|
1385 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1386 nsIDOMKeyEvent.DOM_VK_NUMPAD5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1387 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad5, |
|
1388 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1389 nsIDOMKeyEvent.DOM_VK_NUMPAD5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1390 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad5, |
|
1391 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1392 nsIDOMKeyEvent.DOM_VK_NUMPAD5, "5", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1393 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad6, |
|
1394 modifiers:{numericKeyPadKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1395 nsIDOMKeyEvent.DOM_VK_NUMPAD6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1396 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad6, |
|
1397 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1398 nsIDOMKeyEvent.DOM_VK_NUMPAD6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1399 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad6, |
|
1400 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1401 nsIDOMKeyEvent.DOM_VK_NUMPAD6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1402 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad6, |
|
1403 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1404 nsIDOMKeyEvent.DOM_VK_NUMPAD6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1405 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad6, |
|
1406 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1407 nsIDOMKeyEvent.DOM_VK_NUMPAD6, "6", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1408 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad7, |
|
1409 modifiers:{numericKeyPadKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1410 nsIDOMKeyEvent.DOM_VK_NUMPAD7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1411 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad7, |
|
1412 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1413 nsIDOMKeyEvent.DOM_VK_NUMPAD7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1414 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad7, |
|
1415 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1416 nsIDOMKeyEvent.DOM_VK_NUMPAD7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1417 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad7, |
|
1418 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1419 nsIDOMKeyEvent.DOM_VK_NUMPAD7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1420 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad7, |
|
1421 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1422 nsIDOMKeyEvent.DOM_VK_NUMPAD7, "7", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1423 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad8, |
|
1424 modifiers:{numericKeyPadKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1425 nsIDOMKeyEvent.DOM_VK_NUMPAD8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1426 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad8, |
|
1427 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1428 nsIDOMKeyEvent.DOM_VK_NUMPAD8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1429 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad8, |
|
1430 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1431 nsIDOMKeyEvent.DOM_VK_NUMPAD8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1432 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad8, |
|
1433 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1434 nsIDOMKeyEvent.DOM_VK_NUMPAD8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1435 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad8, |
|
1436 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1437 nsIDOMKeyEvent.DOM_VK_NUMPAD8, "8", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1438 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad9, |
|
1439 modifiers:{numericKeyPadKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1440 nsIDOMKeyEvent.DOM_VK_NUMPAD9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1441 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad9, |
|
1442 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1443 nsIDOMKeyEvent.DOM_VK_NUMPAD9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1444 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad9, |
|
1445 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1446 nsIDOMKeyEvent.DOM_VK_NUMPAD9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1447 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad9, |
|
1448 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1449 nsIDOMKeyEvent.DOM_VK_NUMPAD9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1450 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad9, |
|
1451 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1452 nsIDOMKeyEvent.DOM_VK_NUMPAD9, "9", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1453 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad0, |
|
1454 modifiers:{numericKeyPadKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1455 nsIDOMKeyEvent.DOM_VK_NUMPAD0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1456 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad0, |
|
1457 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1458 nsIDOMKeyEvent.DOM_VK_NUMPAD0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1459 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad0, |
|
1460 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1461 nsIDOMKeyEvent.DOM_VK_NUMPAD0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1462 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad0, |
|
1463 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1464 nsIDOMKeyEvent.DOM_VK_NUMPAD0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1465 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Keypad0, |
|
1466 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1467 nsIDOMKeyEvent.DOM_VK_NUMPAD0, "0", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1468 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEquals, |
|
1469 modifiers:{numericKeyPadKey:1}, chars:"=", unmodifiedChars:"="}, |
|
1470 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1471 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEquals, |
|
1472 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"=", unmodifiedChars:"="}, |
|
1473 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1474 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEquals, |
|
1475 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"=", unmodifiedChars:"="}, |
|
1476 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1477 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEquals, |
|
1478 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"=", unmodifiedChars:"="}, |
|
1479 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1480 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEquals, |
|
1481 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"=", unmodifiedChars:"="}, |
|
1482 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1483 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadDivide, |
|
1484 modifiers:{numericKeyPadKey:1}, chars:"/", unmodifiedChars:"/"}, |
|
1485 nsIDOMKeyEvent.DOM_VK_DIVIDE, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1486 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadDivide, |
|
1487 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"/", unmodifiedChars:"/"}, |
|
1488 nsIDOMKeyEvent.DOM_VK_DIVIDE, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1489 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadDivide, |
|
1490 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"/", unmodifiedChars:"/"}, |
|
1491 nsIDOMKeyEvent.DOM_VK_DIVIDE, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1492 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadDivide, |
|
1493 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"/", unmodifiedChars:"/"}, |
|
1494 nsIDOMKeyEvent.DOM_VK_DIVIDE, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1495 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadDivide, |
|
1496 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"/", unmodifiedChars:"/"}, |
|
1497 nsIDOMKeyEvent.DOM_VK_DIVIDE, "/", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1498 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMultiply, |
|
1499 modifiers:{numericKeyPadKey:1}, chars:"*", unmodifiedChars:"*"}, |
|
1500 nsIDOMKeyEvent.DOM_VK_MULTIPLY, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1501 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMultiply, |
|
1502 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"*", unmodifiedChars:"*"}, |
|
1503 nsIDOMKeyEvent.DOM_VK_MULTIPLY, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1504 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMultiply, |
|
1505 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"*", unmodifiedChars:"*"}, |
|
1506 nsIDOMKeyEvent.DOM_VK_MULTIPLY, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1507 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMultiply, |
|
1508 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"*", unmodifiedChars:"*"}, |
|
1509 nsIDOMKeyEvent.DOM_VK_MULTIPLY, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1510 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMultiply, |
|
1511 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"*", unmodifiedChars:"*"}, |
|
1512 nsIDOMKeyEvent.DOM_VK_MULTIPLY, "*", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1513 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMinus, |
|
1514 modifiers:{numericKeyPadKey:1}, chars:"-", unmodifiedChars:"-"}, |
|
1515 nsIDOMKeyEvent.DOM_VK_SUBTRACT, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1516 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMinus, |
|
1517 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"-", unmodifiedChars:"-"}, |
|
1518 nsIDOMKeyEvent.DOM_VK_SUBTRACT, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1519 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMinus, |
|
1520 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"-", unmodifiedChars:"-"}, |
|
1521 nsIDOMKeyEvent.DOM_VK_SUBTRACT, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1522 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMinus, |
|
1523 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"-", unmodifiedChars:"-"}, |
|
1524 nsIDOMKeyEvent.DOM_VK_SUBTRACT, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1525 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadMinus, |
|
1526 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"-", unmodifiedChars:"-"}, |
|
1527 nsIDOMKeyEvent.DOM_VK_SUBTRACT, "-", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1528 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadPlus, |
|
1529 modifiers:{numericKeyPadKey:1}, chars:"+", unmodifiedChars:"+"}, |
|
1530 nsIDOMKeyEvent.DOM_VK_ADD, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1531 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadPlus, |
|
1532 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"+", unmodifiedChars:"+"}, |
|
1533 nsIDOMKeyEvent.DOM_VK_ADD, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1534 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadPlus, |
|
1535 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"+", unmodifiedChars:"+"}, |
|
1536 nsIDOMKeyEvent.DOM_VK_ADD, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1537 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadPlus, |
|
1538 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"+", unmodifiedChars:"+"}, |
|
1539 nsIDOMKeyEvent.DOM_VK_ADD, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1540 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadPlus, |
|
1541 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"+", unmodifiedChars:"+"}, |
|
1542 nsIDOMKeyEvent.DOM_VK_ADD, "+", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1543 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEnter, |
|
1544 modifiers:{numericKeyPadKey:1}, chars:"\u0003", unmodifiedChars:"\u0003"}, |
|
1545 nsIDOMKeyEvent.DOM_VK_RETURN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1546 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEnter, |
|
1547 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:"\u0003", unmodifiedChars:"\u0003"}, |
|
1548 nsIDOMKeyEvent.DOM_VK_RETURN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1549 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEnter, |
|
1550 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:"\u0003", unmodifiedChars:"\u0003"}, |
|
1551 nsIDOMKeyEvent.DOM_VK_RETURN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1552 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEnter, |
|
1553 modifiers:{numericKeyPadKey:1, altKey:1}, chars:"\u0003", unmodifiedChars:"\u0003"}, |
|
1554 nsIDOMKeyEvent.DOM_VK_RETURN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1555 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_KeypadEnter, |
|
1556 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:"\u0003", unmodifiedChars:"\u0003"}, |
|
1557 nsIDOMKeyEvent.DOM_VK_RETURN, "", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1558 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_JIS_KeypadComma, |
|
1559 modifiers:{numericKeyPadKey:1, shiftKey:1}, chars:",", unmodifiedChars:","}, |
|
1560 nsIDOMKeyEvent.DOM_VK_SEPARATOR, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1561 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_JIS_KeypadComma, |
|
1562 modifiers:{numericKeyPadKey:1, ctrlKey:1}, chars:",", unmodifiedChars:","}, |
|
1563 nsIDOMKeyEvent.DOM_VK_SEPARATOR, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1564 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_JIS_KeypadComma, |
|
1565 modifiers:{numericKeyPadKey:1, altKey:1}, chars:",", unmodifiedChars:","}, |
|
1566 nsIDOMKeyEvent.DOM_VK_SEPARATOR, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1567 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_JIS_KeypadComma, |
|
1568 modifiers:{numericKeyPadKey:1, metaKey:1}, chars:",", unmodifiedChars:","}, |
|
1569 nsIDOMKeyEvent.DOM_VK_SEPARATOR, ",", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
1570 |
|
1571 // French, numeric |
|
1572 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_1, |
|
1573 modifiers:{}, chars:"\u0026", unmodifiedChars:"\u0026"}, |
|
1574 nsIDOMKeyEvent.DOM_VK_1, "\u0026", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1575 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_1, |
|
1576 modifiers:{shiftKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1577 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1578 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_1, |
|
1579 modifiers:{ctrlKey:1}, chars:"1", unmodifiedChars:"\u0026"}, |
|
1580 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1581 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_1, |
|
1582 modifiers:{metaKey:1}, chars:"\u0026", unmodifiedChars:"\u0026"}, |
|
1583 nsIDOMKeyEvent.DOM_VK_1, "\u0026", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1584 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_1, |
|
1585 modifiers:{metaKey:1, shiftKey:1}, chars:"1", unmodifiedChars:"1"}, |
|
1586 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1587 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_2, |
|
1588 modifiers:{}, chars:"\u00E9", unmodifiedChars:"\u00E9"}, |
|
1589 nsIDOMKeyEvent.DOM_VK_2, "\u00E9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1590 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_2, |
|
1591 modifiers:{shiftKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1592 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1593 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_2, |
|
1594 modifiers:{ctrlKey:1}, chars:"2", unmodifiedChars:"\u00E9"}, |
|
1595 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1596 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_2, |
|
1597 modifiers:{metaKey:1}, chars:"\u00E9", unmodifiedChars:"\u00E9"}, |
|
1598 nsIDOMKeyEvent.DOM_VK_2, "\u00E9", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1599 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_2, |
|
1600 modifiers:{metaKey:1, shiftKey:1}, chars:"2", unmodifiedChars:"2"}, |
|
1601 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1602 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_3, |
|
1603 modifiers:{}, chars:"\"", unmodifiedChars:"\""}, |
|
1604 nsIDOMKeyEvent.DOM_VK_3, "\"", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1605 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_3, |
|
1606 modifiers:{shiftKey:1}, chars:"3", unmodifiedChars:"3"}, |
|
1607 nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1608 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_3, |
|
1609 modifiers:{ctrlKey:1}, chars:"3", unmodifiedChars:"\""}, |
|
1610 nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1611 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_3, |
|
1612 modifiers:{metaKey:1}, chars:"\"", unmodifiedChars:"\""}, |
|
1613 nsIDOMKeyEvent.DOM_VK_3, "\"", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1614 // Cmd+Shift+3 is a shortcut key of taking a snapshot |
|
1615 // testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_3, |
|
1616 // modifiers:{metaKey:1, shiftKey:1}, chars:"\"", unmodifiedChars:"\""}, |
|
1617 // nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1618 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_4, |
|
1619 modifiers:{}, chars:"'", unmodifiedChars:"'"}, |
|
1620 nsIDOMKeyEvent.DOM_VK_4, "'", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1621 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_4, |
|
1622 modifiers:{shiftKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1623 nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1624 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_4, |
|
1625 modifiers:{ctrlKey:1}, chars:"4", unmodifiedChars:"'"}, |
|
1626 nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1627 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_4, |
|
1628 modifiers:{metaKey:1}, chars:"'", unmodifiedChars:"'"}, |
|
1629 nsIDOMKeyEvent.DOM_VK_4, "'", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1630 // Cmd+Shift+4 is a shortcut key of taking a snapshot in specific range |
|
1631 // testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_4, |
|
1632 // modifiers:{metaKey:1, shiftKey:1}, chars:"4", unmodifiedChars:"4"}, |
|
1633 // nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1634 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_5, |
|
1635 modifiers:{}, chars:"(", unmodifiedChars:"("}, |
|
1636 nsIDOMKeyEvent.DOM_VK_5, "(", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1637 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_5, |
|
1638 modifiers:{shiftKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1639 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1640 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_5, |
|
1641 modifiers:{ctrlKey:1}, chars:"5", unmodifiedChars:"("}, |
|
1642 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1643 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_5, |
|
1644 modifiers:{metaKey:1}, chars:"(", unmodifiedChars:"("}, |
|
1645 nsIDOMKeyEvent.DOM_VK_5, "(", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1646 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_5, |
|
1647 modifiers:{metaKey:1, shiftKey:1}, chars:"5", unmodifiedChars:"5"}, |
|
1648 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1649 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_6, |
|
1650 modifiers:{}, chars:"\u00A7", unmodifiedChars:"\u00A7"}, |
|
1651 nsIDOMKeyEvent.DOM_VK_6, "\u00A7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1652 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_6, |
|
1653 modifiers:{shiftKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1654 nsIDOMKeyEvent.DOM_VK_6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1655 // TODO: |
|
1656 // testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_6, |
|
1657 // modifiers:{ctrlKey:1}, chars:"\u001D", unmodifiedChars:"\u00A7"}, |
|
1658 // nsIDOMKeyEvent.DOM_VK_6, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // Ctrl+6 sets strange char |
|
1659 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_6, |
|
1660 modifiers:{metaKey:1}, chars:"\u00A7", unmodifiedChars:"\u00A7"}, |
|
1661 nsIDOMKeyEvent.DOM_VK_6, "\u00A7", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1662 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_6, |
|
1663 modifiers:{metaKey:1, shiftKey:1}, chars:"6", unmodifiedChars:"6"}, |
|
1664 nsIDOMKeyEvent.DOM_VK_6, "6", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1665 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_7, |
|
1666 modifiers:{}, chars:"\u00E8", unmodifiedChars:"\u00E8"}, |
|
1667 nsIDOMKeyEvent.DOM_VK_7, "\u00E8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1668 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_7, |
|
1669 modifiers:{shiftKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1670 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1671 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_7, |
|
1672 modifiers:{ctrlKey:1}, chars:"7", unmodifiedChars:"\u00E8"}, |
|
1673 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1674 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_7, |
|
1675 modifiers:{metaKey:1}, chars:"\u00E8", unmodifiedChars:"\u00E8"}, |
|
1676 nsIDOMKeyEvent.DOM_VK_7, "\u00E8", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1677 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_7, |
|
1678 modifiers:{metaKey:1, shiftKey:1}, chars:"7", unmodifiedChars:"7"}, |
|
1679 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1680 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_8, |
|
1681 modifiers:{}, chars:"!", unmodifiedChars:"!"}, |
|
1682 nsIDOMKeyEvent.DOM_VK_8, "!", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1683 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_8, |
|
1684 modifiers:{shiftKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1685 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1686 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_8, |
|
1687 modifiers:{ctrlKey:1}, chars:"8", unmodifiedChars:"!"}, |
|
1688 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1689 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_8, |
|
1690 modifiers:{metaKey:1}, chars:"!", unmodifiedChars:"!"}, |
|
1691 nsIDOMKeyEvent.DOM_VK_8, "!", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1692 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_8, |
|
1693 modifiers:{metaKey:1, shiftKey:1}, chars:"8", unmodifiedChars:"8"}, |
|
1694 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1695 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_9, |
|
1696 modifiers:{}, chars:"\u00E7", unmodifiedChars:"\u00E7"}, |
|
1697 nsIDOMKeyEvent.DOM_VK_9, "\u00E7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1698 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_9, |
|
1699 modifiers:{shiftKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1700 nsIDOMKeyEvent.DOM_VK_9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1701 // TODO: |
|
1702 // testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_9, |
|
1703 // modifiers:{ctrlKey:1}, chars:"\u001C", unmodifiedChars:"\u00E7"}, |
|
1704 // nsIDOMKeyEvent.DOM_VK_9, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // Ctrl+9 sets strange char |
|
1705 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_9, |
|
1706 modifiers:{metaKey:1}, chars:"\u00E7", unmodifiedChars:"\u00E7"}, |
|
1707 nsIDOMKeyEvent.DOM_VK_9, "\u00E7", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1708 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_9, |
|
1709 modifiers:{metaKey:1, shiftKey:1}, chars:"9", unmodifiedChars:"9"}, |
|
1710 nsIDOMKeyEvent.DOM_VK_9, "9", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1711 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_0, |
|
1712 modifiers:{}, chars:"\u00E0", unmodifiedChars:"\u00E0"}, |
|
1713 nsIDOMKeyEvent.DOM_VK_0, "\u00E0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1714 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_0, |
|
1715 modifiers:{shiftKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1716 nsIDOMKeyEvent.DOM_VK_0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1717 // XXX No events fired, not sure the reason. |
|
1718 // testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_0, |
|
1719 // modifiers:{ctrlKey:1}, chars:"", unmodifiedChars:"\u00E0"}, |
|
1720 // nsIDOMKeyEvent.DOM_VK_0, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1721 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_0, |
|
1722 modifiers:{metaKey:1}, chars:"\u00E0", unmodifiedChars:"\u00E0"}, |
|
1723 nsIDOMKeyEvent.DOM_VK_0, "\u00E0", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1724 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:MAC_VK_ANSI_0, |
|
1725 modifiers:{metaKey:1, shiftKey:1}, chars:"0", unmodifiedChars:"0"}, |
|
1726 nsIDOMKeyEvent.DOM_VK_0, "0", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1727 |
|
1728 // Thai |
|
1729 // keycode should be DOM_VK_[A-Z] of the key on the latest ASCII capable keyboard layout is for alphabet |
|
1730 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_A, |
|
1731 modifiers:{}, chars:"\u0E1F", unmodifiedChars:"\u0E1F"}, |
|
1732 nsIDOMKeyEvent.DOM_VK_A, "\u0E1F", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1733 // keycode should be shifted character if unshifted character isn't an ASCII character |
|
1734 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_Quote, |
|
1735 modifiers:{}, chars:"\u0E07", unmodifiedChars:"\u0E07"}, |
|
1736 nsIDOMKeyEvent.DOM_VK_PERIOD, "\u0E07", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1737 // keycode should be zero if the character of the key on the latest ASCII capable keyboard layout isn't for alphabet |
|
1738 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_Period, |
|
1739 modifiers:{}, chars:"\u0E43", unmodifiedChars:"\u0E43"}, |
|
1740 0, "\u0E43", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1741 // keycode should be DOM_VK_[0-9] if the key on the latest ASCII capable keyboard layout is for numeric |
|
1742 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_1, |
|
1743 modifiers:{}, chars:"\u0E45", unmodifiedChars:"\u0E45"}, |
|
1744 nsIDOMKeyEvent.DOM_VK_1, "\u0E45", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1745 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_2, |
|
1746 modifiers:{}, chars:"/", unmodifiedChars:"/"}, |
|
1747 nsIDOMKeyEvent.DOM_VK_2, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1748 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_3, |
|
1749 modifiers:{}, chars:"_", unmodifiedChars:"_"}, |
|
1750 nsIDOMKeyEvent.DOM_VK_3, "_", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1751 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_4, |
|
1752 modifiers:{}, chars:"\u0E20", unmodifiedChars:"\u0E20"}, |
|
1753 nsIDOMKeyEvent.DOM_VK_4, "\u0E20", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1754 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_5, |
|
1755 modifiers:{}, chars:"\u0E16", unmodifiedChars:"\u0E16"}, |
|
1756 nsIDOMKeyEvent.DOM_VK_5, "\u0E16", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1757 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_6, |
|
1758 modifiers:{}, chars:"\u0E38", unmodifiedChars:"\u0E38"}, |
|
1759 nsIDOMKeyEvent.DOM_VK_6, "\u0E38", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1760 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_7, |
|
1761 modifiers:{}, chars:"\u0E36", unmodifiedChars:"\u0E36"}, |
|
1762 nsIDOMKeyEvent.DOM_VK_7, "\u0E36", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1763 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_8, |
|
1764 modifiers:{}, chars:"\u0E04", unmodifiedChars:"\u0E04"}, |
|
1765 nsIDOMKeyEvent.DOM_VK_8, "\u0E04", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1766 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_9, |
|
1767 modifiers:{}, chars:"\u0E15", unmodifiedChars:"\u0E15"}, |
|
1768 nsIDOMKeyEvent.DOM_VK_9, "\u0E15", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1769 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:MAC_VK_ANSI_0, |
|
1770 modifiers:{}, chars:"\u0E08", unmodifiedChars:"\u0E08"}, |
|
1771 nsIDOMKeyEvent.DOM_VK_0, "\u0E08", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1772 |
|
1773 // Dvorak-Qwerty, layout should be changed when Command key is pressed. |
|
1774 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_S, |
|
1775 modifiers:{}, chars:"o", unmodifiedChars:"o"}, |
|
1776 nsIDOMKeyEvent.DOM_VK_O, "o", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1777 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_S, |
|
1778 modifiers:{shiftKey:1}, chars:"O", unmodifiedChars:"O"}, |
|
1779 nsIDOMKeyEvent.DOM_VK_O, "O", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1780 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_S, |
|
1781 modifiers:{ctrlKey:1}, chars:"\u000F", unmodifiedChars:"o"}, |
|
1782 nsIDOMKeyEvent.DOM_VK_O, "o", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1783 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_S, |
|
1784 modifiers:{altKey:1}, chars:"\u00F8", unmodifiedChars:"o"}, |
|
1785 nsIDOMKeyEvent.DOM_VK_O, "\u00F8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1786 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_S, |
|
1787 modifiers:{metaKey:1}, chars:"s", unmodifiedChars:"o"}, |
|
1788 nsIDOMKeyEvent.DOM_VK_S, "s", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1789 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_D, |
|
1790 modifiers:{}, chars:"e", unmodifiedChars:"e"}, |
|
1791 nsIDOMKeyEvent.DOM_VK_E, "e", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1792 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_D, |
|
1793 modifiers:{shiftKey:1}, chars:"E", unmodifiedChars:"E"}, |
|
1794 nsIDOMKeyEvent.DOM_VK_E, "E", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1795 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_D, |
|
1796 modifiers:{ctrlKey:1}, chars:"\u0005", unmodifiedChars:"e"}, |
|
1797 nsIDOMKeyEvent.DOM_VK_E, "e", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1798 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_D, |
|
1799 modifiers:{altKey:1}, chars:"", unmodifiedChars:"e"}, |
|
1800 nsIDOMKeyEvent.DOM_VK_E, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // dead key |
|
1801 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_D, |
|
1802 modifiers:{metaKey:1}, chars:"d", unmodifiedChars:"e"}, |
|
1803 nsIDOMKeyEvent.DOM_VK_D, "d", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1804 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_I, |
|
1805 modifiers:{metaKey:1, altKey:1}, chars:"^", unmodifiedChars:"c"}, |
|
1806 nsIDOMKeyEvent.DOM_VK_I, "^", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1807 testKey({layout:KEYBOARD_LAYOUT_DVORAK_QWERTY, keyCode:MAC_VK_ANSI_I, |
|
1808 modifiers:{metaKey:1, altKey:1, shiftKey:1}, chars:"\u02C6", unmodifiedChars:"C"}, |
|
1809 nsIDOMKeyEvent.DOM_VK_I, "\u02C6", SHOULD_DELIVER_KEYDOWN_KEYPRESS, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1810 } else if (IS_WIN) { |
|
1811 // On Windows, you can use Spy++ or Winspector (free) to watch window messages. |
|
1812 // The keyCode is given by the wParam of the last WM_KEYDOWN message. The |
|
1813 // chars string is given by the wParam of the WM_CHAR message. unmodifiedChars |
|
1814 // is not needed on Windows. |
|
1815 |
|
1816 // Plain text input |
|
1817 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1818 modifiers:{}, chars:"a"}, |
|
1819 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1820 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_B, |
|
1821 modifiers:{}, chars:"b"}, |
|
1822 nsIDOMKeyEvent.DOM_VK_B, "b", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1823 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1824 modifiers:{shiftKey:1}, chars:"A"}, |
|
1825 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1826 |
|
1827 // Ctrl keys |
|
1828 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1829 modifiers:{ctrlKey:1}, chars:"\u0001"}, |
|
1830 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1831 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1832 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0001"}, |
|
1833 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1834 |
|
1835 // Alt keys |
|
1836 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1837 modifiers:{altKey:1}, chars:"a"}, |
|
1838 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1839 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1840 modifiers:{altKey:1, shiftKey:1}, chars:"A"}, |
|
1841 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1842 |
|
1843 // Shift-ctrl-alt generates no WM_CHAR, but we still get a keypress |
|
1844 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1845 modifiers:{altKey:1, ctrlKey:1, shiftKey:1}, chars:""}, |
|
1846 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1847 |
|
1848 // Greek plain text |
|
1849 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:WIN_VK_A, |
|
1850 modifiers:{}, chars:"\u03b1"}, |
|
1851 nsIDOMKeyEvent.DOM_VK_A, "\u03b1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1852 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:WIN_VK_A, |
|
1853 modifiers:{shiftKey:1}, chars:"\u0391"}, |
|
1854 nsIDOMKeyEvent.DOM_VK_A, "\u0391", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1855 |
|
1856 // Greek ctrl keys produce Latin charcodes |
|
1857 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:WIN_VK_A, |
|
1858 modifiers:{ctrlKey:1}, chars:"\u0001"}, |
|
1859 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1860 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:WIN_VK_A, |
|
1861 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0001"}, |
|
1862 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1863 |
|
1864 // Caps Lock key event |
|
1865 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_CAPITAL, |
|
1866 modifiers:{capsLockKey:1}, chars:""}, |
|
1867 nsIDOMKeyEvent.DOM_VK_CAPS_LOCK, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1868 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_CAPITAL, |
|
1869 modifiers:{capsLockKey:0}, chars:""}, |
|
1870 nsIDOMKeyEvent.DOM_VK_CAPS_LOCK, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1871 |
|
1872 // Shift keys |
|
1873 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_LSHIFT, |
|
1874 modifiers:{shiftKey:1}, chars:""}, |
|
1875 nsIDOMKeyEvent.DOM_VK_SHIFT, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
1876 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_RSHIFT, |
|
1877 modifiers:{shiftRightKey:1}, chars:""}, |
|
1878 nsIDOMKeyEvent.DOM_VK_SHIFT, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
1879 |
|
1880 // Ctrl keys |
|
1881 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_LCONTROL, |
|
1882 modifiers:{ctrlKey:1}, chars:""}, |
|
1883 nsIDOMKeyEvent.DOM_VK_CONTROL, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
1884 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_RCONTROL, |
|
1885 modifiers:{ctrlRightKey:1}, chars:""}, |
|
1886 nsIDOMKeyEvent.DOM_VK_CONTROL, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
1887 |
|
1888 // Alt keys |
|
1889 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_LMENU, |
|
1890 modifiers:{altKey:1}, chars:""}, |
|
1891 nsIDOMKeyEvent.DOM_VK_ALT, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
1892 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_RMENU, |
|
1893 modifiers:{altRightKey:1}, chars:""}, |
|
1894 nsIDOMKeyEvent.DOM_VK_ALT, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
1895 |
|
1896 // Win keys |
|
1897 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_LWIN, |
|
1898 modifiers:{}, chars:""}, |
|
1899 nsIDOMKeyEvent.DOM_VK_WIN, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_LEFT); |
|
1900 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_RWIN, |
|
1901 modifiers:{}, chars:""}, |
|
1902 nsIDOMKeyEvent.DOM_VK_WIN, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_RIGHT); |
|
1903 |
|
1904 // all keys on keyboard (keyCode test) |
|
1905 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_BACK, |
|
1906 modifiers:{}, chars:"\u0008"}, |
|
1907 nsIDOMKeyEvent.DOM_VK_BACK_SPACE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1908 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_TAB, |
|
1909 modifiers:{}, chars:"\t"}, |
|
1910 nsIDOMKeyEvent.DOM_VK_TAB, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1911 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_RETURN, |
|
1912 modifiers:{}, chars:"\r"}, |
|
1913 nsIDOMKeyEvent.DOM_VK_RETURN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1914 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_PAUSE, |
|
1915 modifiers:{}, chars:""}, |
|
1916 nsIDOMKeyEvent.DOM_VK_PAUSE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1917 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_KANA, |
|
1918 modifiers:{}, chars:""}, |
|
1919 nsIDOMKeyEvent.DOM_VK_KANA, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1920 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_JUNJA, |
|
1921 modifiers:{}, chars:""}, |
|
1922 nsIDOMKeyEvent.DOM_VK_JUNJA, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1923 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_FINAL, |
|
1924 modifiers:{}, chars:""}, |
|
1925 nsIDOMKeyEvent.DOM_VK_FINAL, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1926 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_KANJI, |
|
1927 modifiers:{}, chars:""}, |
|
1928 nsIDOMKeyEvent.DOM_VK_KANJI, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1929 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_ESCAPE, |
|
1930 modifiers:{}, chars:""}, |
|
1931 nsIDOMKeyEvent.DOM_VK_ESCAPE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1932 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_CONVERT, |
|
1933 modifiers:{}, chars:""}, |
|
1934 nsIDOMKeyEvent.DOM_VK_CONVERT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1935 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NONCONVERT, |
|
1936 modifiers:{}, chars:""}, |
|
1937 nsIDOMKeyEvent.DOM_VK_NONCONVERT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1938 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_ACCEPT, |
|
1939 modifiers:{}, chars:""}, |
|
1940 nsIDOMKeyEvent.DOM_VK_ACCEPT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1941 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_MODECHANGE, |
|
1942 modifiers:{}, chars:""}, |
|
1943 nsIDOMKeyEvent.DOM_VK_MODECHANGE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1944 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_SPACE, |
|
1945 modifiers:{}, chars:" "}, |
|
1946 nsIDOMKeyEvent.DOM_VK_SPACE, " ", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1947 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_SELECT, |
|
1948 modifiers:{}, chars:""}, |
|
1949 nsIDOMKeyEvent.DOM_VK_SELECT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1950 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_PRINT, |
|
1951 modifiers:{}, chars:""}, |
|
1952 nsIDOMKeyEvent.DOM_VK_PRINT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1953 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_EXECUTE, |
|
1954 modifiers:{}, chars:""}, |
|
1955 nsIDOMKeyEvent.DOM_VK_EXECUTE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1956 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_SNAPSHOT, |
|
1957 modifiers:{}, chars:""}, |
|
1958 nsIDOMKeyEvent.DOM_VK_PRINTSCREEN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1959 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_HELP, |
|
1960 modifiers:{}, chars:""}, |
|
1961 nsIDOMKeyEvent.DOM_VK_HELP, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1962 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_SLEEP, |
|
1963 modifiers:{}, chars:""}, |
|
1964 nsIDOMKeyEvent.DOM_VK_SLEEP, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1965 // XXX TODO: we cannot test Home, Up, PageUp, Left, Right, End, Down, PageDown, Ins and Del. |
|
1966 |
|
1967 // US |
|
1968 // Alphabet |
|
1969 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1970 modifiers:{}, chars:"a"}, |
|
1971 nsIDOMKeyEvent.DOM_VK_A, "a", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1972 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
1973 modifiers:{shiftKey:1}, chars:"A"}, |
|
1974 nsIDOMKeyEvent.DOM_VK_A, "A", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1975 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_B, |
|
1976 modifiers:{}, chars:"b"}, |
|
1977 nsIDOMKeyEvent.DOM_VK_B, "b", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1978 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_B, |
|
1979 modifiers:{shiftKey:1}, chars:"B"}, |
|
1980 nsIDOMKeyEvent.DOM_VK_B, "B", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1981 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_C, |
|
1982 modifiers:{}, chars:"c"}, |
|
1983 nsIDOMKeyEvent.DOM_VK_C, "c", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1984 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_C, |
|
1985 modifiers:{shiftKey:1}, chars:"C"}, |
|
1986 nsIDOMKeyEvent.DOM_VK_C, "C", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1987 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_D, |
|
1988 modifiers:{}, chars:"d"}, |
|
1989 nsIDOMKeyEvent.DOM_VK_D, "d", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1990 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_D, |
|
1991 modifiers:{shiftKey:1}, chars:"D"}, |
|
1992 nsIDOMKeyEvent.DOM_VK_D, "D", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1993 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_E, |
|
1994 modifiers:{}, chars:"e"}, |
|
1995 nsIDOMKeyEvent.DOM_VK_E, "e", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1996 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_E, |
|
1997 modifiers:{shiftKey:1}, chars:"E"}, |
|
1998 nsIDOMKeyEvent.DOM_VK_E, "E", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
1999 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_F, |
|
2000 modifiers:{}, chars:"f"}, |
|
2001 nsIDOMKeyEvent.DOM_VK_F, "f", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2002 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_F, |
|
2003 modifiers:{shiftKey:1}, chars:"F"}, |
|
2004 nsIDOMKeyEvent.DOM_VK_F, "F", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2005 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_G, |
|
2006 modifiers:{}, chars:"g"}, |
|
2007 nsIDOMKeyEvent.DOM_VK_G, "g", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2008 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_G, |
|
2009 modifiers:{shiftKey:1}, chars:"G"}, |
|
2010 nsIDOMKeyEvent.DOM_VK_G, "G", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2011 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_H, |
|
2012 modifiers:{}, chars:"h"}, |
|
2013 nsIDOMKeyEvent.DOM_VK_H, "h", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2014 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_H, |
|
2015 modifiers:{shiftKey:1}, chars:"H"}, |
|
2016 nsIDOMKeyEvent.DOM_VK_H, "H", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2017 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_I, |
|
2018 modifiers:{}, chars:"i"}, |
|
2019 nsIDOMKeyEvent.DOM_VK_I, "i", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2020 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_I, |
|
2021 modifiers:{shiftKey:1}, chars:"I"}, |
|
2022 nsIDOMKeyEvent.DOM_VK_I, "I", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2023 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_J, |
|
2024 modifiers:{}, chars:"j"}, |
|
2025 nsIDOMKeyEvent.DOM_VK_J, "j", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2026 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_J, |
|
2027 modifiers:{shiftKey:1}, chars:"J"}, |
|
2028 nsIDOMKeyEvent.DOM_VK_J, "J", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2029 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_K, |
|
2030 modifiers:{}, chars:"k"}, |
|
2031 nsIDOMKeyEvent.DOM_VK_K, "k", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2032 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_K, |
|
2033 modifiers:{shiftKey:1}, chars:"K"}, |
|
2034 nsIDOMKeyEvent.DOM_VK_K, "K", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2035 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_L, |
|
2036 modifiers:{}, chars:"l"}, |
|
2037 nsIDOMKeyEvent.DOM_VK_L, "l", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2038 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_L, |
|
2039 modifiers:{shiftKey:1}, chars:"L"}, |
|
2040 nsIDOMKeyEvent.DOM_VK_L, "L", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2041 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_M, |
|
2042 modifiers:{}, chars:"m"}, |
|
2043 nsIDOMKeyEvent.DOM_VK_M, "m", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2044 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_M, |
|
2045 modifiers:{shiftKey:1}, chars:"M"}, |
|
2046 nsIDOMKeyEvent.DOM_VK_M, "M", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2047 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_N, |
|
2048 modifiers:{}, chars:"n"}, |
|
2049 nsIDOMKeyEvent.DOM_VK_N, "n", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2050 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_N, |
|
2051 modifiers:{shiftKey:1}, chars:"N"}, |
|
2052 nsIDOMKeyEvent.DOM_VK_N, "N", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2053 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_O, |
|
2054 modifiers:{}, chars:"o"}, |
|
2055 nsIDOMKeyEvent.DOM_VK_O, "o", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2056 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_O, |
|
2057 modifiers:{shiftKey:1}, chars:"O"}, |
|
2058 nsIDOMKeyEvent.DOM_VK_O, "O", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2059 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_P, |
|
2060 modifiers:{}, chars:"p"}, |
|
2061 nsIDOMKeyEvent.DOM_VK_P, "p", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2062 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_P, |
|
2063 modifiers:{shiftKey:1}, chars:"P"}, |
|
2064 nsIDOMKeyEvent.DOM_VK_P, "P", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2065 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_Q, |
|
2066 modifiers:{}, chars:"q"}, |
|
2067 nsIDOMKeyEvent.DOM_VK_Q, "q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2068 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_Q, |
|
2069 modifiers:{shiftKey:1}, chars:"Q"}, |
|
2070 nsIDOMKeyEvent.DOM_VK_Q, "Q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2071 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_R, |
|
2072 modifiers:{}, chars:"r"}, |
|
2073 nsIDOMKeyEvent.DOM_VK_R, "r", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2074 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_R, |
|
2075 modifiers:{shiftKey:1}, chars:"R"}, |
|
2076 nsIDOMKeyEvent.DOM_VK_R, "R", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2077 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_S, |
|
2078 modifiers:{}, chars:"s"}, |
|
2079 nsIDOMKeyEvent.DOM_VK_S, "s", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2080 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_S, |
|
2081 modifiers:{shiftKey:1}, chars:"S"}, |
|
2082 nsIDOMKeyEvent.DOM_VK_S, "S", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2083 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_T, |
|
2084 modifiers:{}, chars:"t"}, |
|
2085 nsIDOMKeyEvent.DOM_VK_T, "t", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2086 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_T, |
|
2087 modifiers:{shiftKey:1}, chars:"T"}, |
|
2088 nsIDOMKeyEvent.DOM_VK_T, "T", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2089 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_U, |
|
2090 modifiers:{}, chars:"u"}, |
|
2091 nsIDOMKeyEvent.DOM_VK_U, "u", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2092 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_U, |
|
2093 modifiers:{shiftKey:1}, chars:"U"}, |
|
2094 nsIDOMKeyEvent.DOM_VK_U, "U", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2095 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_V, |
|
2096 modifiers:{}, chars:"v"}, |
|
2097 nsIDOMKeyEvent.DOM_VK_V, "v", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2098 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_V, |
|
2099 modifiers:{shiftKey:1}, chars:"V"}, |
|
2100 nsIDOMKeyEvent.DOM_VK_V, "V", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2101 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_W, |
|
2102 modifiers:{}, chars:"w"}, |
|
2103 nsIDOMKeyEvent.DOM_VK_W, "w", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2104 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_W, |
|
2105 modifiers:{shiftKey:1}, chars:"W"}, |
|
2106 nsIDOMKeyEvent.DOM_VK_W, "W", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2107 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_X, |
|
2108 modifiers:{}, chars:"x"}, |
|
2109 nsIDOMKeyEvent.DOM_VK_X, "x", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2110 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_X, |
|
2111 modifiers:{shiftKey:1}, chars:"X"}, |
|
2112 nsIDOMKeyEvent.DOM_VK_X, "X", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2113 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_Y, |
|
2114 modifiers:{}, chars:"y"}, |
|
2115 nsIDOMKeyEvent.DOM_VK_Y, "y", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2116 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_Y, |
|
2117 modifiers:{shiftKey:1}, chars:"Y"}, |
|
2118 nsIDOMKeyEvent.DOM_VK_Y, "Y", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2119 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_Z, |
|
2120 modifiers:{}, chars:"z"}, |
|
2121 nsIDOMKeyEvent.DOM_VK_Z, "z", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2122 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_Z, |
|
2123 modifiers:{shiftKey:1}, chars:"Z"}, |
|
2124 nsIDOMKeyEvent.DOM_VK_Z, "Z", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2125 |
|
2126 // Numeric |
|
2127 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_0, |
|
2128 modifiers:{}, chars:"0"}, |
|
2129 nsIDOMKeyEvent.DOM_VK_0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2130 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_0, |
|
2131 modifiers:{shiftKey:1}, chars:")"}, |
|
2132 nsIDOMKeyEvent.DOM_VK_0, ")", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2133 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_1, |
|
2134 modifiers:{}, chars:"1"}, |
|
2135 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2136 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_1, |
|
2137 modifiers:{shiftKey:1}, chars:"!"}, |
|
2138 nsIDOMKeyEvent.DOM_VK_1, "!", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2139 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_2, |
|
2140 modifiers:{}, chars:"2"}, |
|
2141 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2142 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_2, |
|
2143 modifiers:{shiftKey:1}, chars:"@"}, |
|
2144 nsIDOMKeyEvent.DOM_VK_2, "@", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2145 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_3, |
|
2146 modifiers:{}, chars:"3"}, |
|
2147 nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2148 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_3, |
|
2149 modifiers:{shiftKey:1}, chars:"#"}, |
|
2150 nsIDOMKeyEvent.DOM_VK_3, "#", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2151 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_4, |
|
2152 modifiers:{}, chars:"4"}, |
|
2153 nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2154 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_4, |
|
2155 modifiers:{shiftKey:1}, chars:"$"}, |
|
2156 nsIDOMKeyEvent.DOM_VK_4, "$", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2157 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_5, |
|
2158 modifiers:{}, chars:"5"}, |
|
2159 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2160 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_5, |
|
2161 modifiers:{shiftKey:1}, chars:"%"}, |
|
2162 nsIDOMKeyEvent.DOM_VK_5, "%", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2163 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_6, |
|
2164 modifiers:{}, chars:"6"}, |
|
2165 nsIDOMKeyEvent.DOM_VK_6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2166 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_6, |
|
2167 modifiers:{shiftKey:1}, chars:"^"}, |
|
2168 nsIDOMKeyEvent.DOM_VK_6, "^", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2169 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_7, |
|
2170 modifiers:{}, chars:"7"}, |
|
2171 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2172 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_7, |
|
2173 modifiers:{shiftKey:1}, chars:"&"}, |
|
2174 nsIDOMKeyEvent.DOM_VK_7, "&", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2175 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_8, |
|
2176 modifiers:{}, chars:"8"}, |
|
2177 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2178 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_8, |
|
2179 modifiers:{shiftKey:1}, chars:"*"}, |
|
2180 nsIDOMKeyEvent.DOM_VK_8, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2181 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_9, |
|
2182 modifiers:{}, chars:"9"}, |
|
2183 nsIDOMKeyEvent.DOM_VK_9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2184 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_9, |
|
2185 modifiers:{shiftKey:1}, chars:"("}, |
|
2186 nsIDOMKeyEvent.DOM_VK_9, "(", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2187 |
|
2188 // OEM keys |
|
2189 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_MINUS, |
|
2190 modifiers:{}, chars:"-"}, |
|
2191 nsIDOMKeyEvent.DOM_VK_HYPHEN_MINUS, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2192 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_MINUS, |
|
2193 modifiers:{shiftKey:1}, chars:"_"}, |
|
2194 nsIDOMKeyEvent.DOM_VK_HYPHEN_MINUS, "_", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2195 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_PLUS, |
|
2196 modifiers:{}, chars:"="}, |
|
2197 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2198 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_PLUS, |
|
2199 modifiers:{shiftKey:1}, chars:"+"}, |
|
2200 nsIDOMKeyEvent.DOM_VK_EQUALS, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2201 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_4, |
|
2202 modifiers:{}, chars:"["}, |
|
2203 nsIDOMKeyEvent.DOM_VK_OPEN_BRACKET, "[", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2204 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_4, |
|
2205 modifiers:{shiftKey:1}, chars:"{"}, |
|
2206 nsIDOMKeyEvent.DOM_VK_OPEN_BRACKET, "{", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2207 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_6, |
|
2208 modifiers:{}, chars:"]"}, |
|
2209 nsIDOMKeyEvent.DOM_VK_CLOSE_BRACKET, "]", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2210 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_6, |
|
2211 modifiers:{shiftKey:1}, chars:"}"}, |
|
2212 nsIDOMKeyEvent.DOM_VK_CLOSE_BRACKET, "}", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2213 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_1, |
|
2214 modifiers:{}, chars:";"}, |
|
2215 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ";", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2216 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_1, |
|
2217 modifiers:{shiftKey:1}, chars:":"}, |
|
2218 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ":", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2219 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_7, |
|
2220 modifiers:{}, chars:"'"}, |
|
2221 nsIDOMKeyEvent.DOM_VK_QUOTE, "'", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2222 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_7, |
|
2223 modifiers:{shiftKey:1}, chars:"\""}, |
|
2224 nsIDOMKeyEvent.DOM_VK_QUOTE, "\"", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2225 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_5, |
|
2226 modifiers:{}, chars:"\\"}, |
|
2227 nsIDOMKeyEvent.DOM_VK_BACK_SLASH, "\\", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2228 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_5, |
|
2229 modifiers:{shiftKey:1}, chars:"|"}, |
|
2230 nsIDOMKeyEvent.DOM_VK_BACK_SLASH, "|", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2231 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_COMMA, |
|
2232 modifiers:{}, chars:","}, |
|
2233 nsIDOMKeyEvent.DOM_VK_COMMA, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2234 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_COMMA, |
|
2235 modifiers:{shiftKey:1}, chars:"<"}, |
|
2236 nsIDOMKeyEvent.DOM_VK_COMMA, "<", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2237 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_PERIOD, |
|
2238 modifiers:{}, chars:"."}, |
|
2239 nsIDOMKeyEvent.DOM_VK_PERIOD, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2240 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_PERIOD, |
|
2241 modifiers:{shiftKey:1}, chars:">"}, |
|
2242 nsIDOMKeyEvent.DOM_VK_PERIOD, ">", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2243 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_2, |
|
2244 modifiers:{}, chars:"/"}, |
|
2245 nsIDOMKeyEvent.DOM_VK_SLASH, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2246 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_2, |
|
2247 modifiers:{shiftKey:1}, chars:"?"}, |
|
2248 nsIDOMKeyEvent.DOM_VK_SLASH, "?", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2249 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_3, |
|
2250 modifiers:{}, chars:"`"}, |
|
2251 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "`", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2252 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_3, |
|
2253 modifiers:{shiftKey:1}, chars:"~"}, |
|
2254 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "~", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2255 |
|
2256 // Numpad |
|
2257 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD0, |
|
2258 modifiers:{numLockKey:1}, chars:"0"}, |
|
2259 nsIDOMKeyEvent.DOM_VK_NUMPAD0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2260 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD1, |
|
2261 modifiers:{numLockKey:1}, chars:"1"}, |
|
2262 nsIDOMKeyEvent.DOM_VK_NUMPAD1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2263 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD2, |
|
2264 modifiers:{numLockKey:1}, chars:"2"}, |
|
2265 nsIDOMKeyEvent.DOM_VK_NUMPAD2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2266 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD3, |
|
2267 modifiers:{numLockKey:1}, chars:"3"}, |
|
2268 nsIDOMKeyEvent.DOM_VK_NUMPAD3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2269 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD4, |
|
2270 modifiers:{numLockKey:1}, chars:"4"}, |
|
2271 nsIDOMKeyEvent.DOM_VK_NUMPAD4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2272 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD5, |
|
2273 modifiers:{numLockKey:1}, chars:"5"}, |
|
2274 nsIDOMKeyEvent.DOM_VK_NUMPAD5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2275 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD6, |
|
2276 modifiers:{numLockKey:1}, chars:"6"}, |
|
2277 nsIDOMKeyEvent.DOM_VK_NUMPAD6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2278 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD7, |
|
2279 modifiers:{numLockKey:1}, chars:"7"}, |
|
2280 nsIDOMKeyEvent.DOM_VK_NUMPAD7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2281 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD8, |
|
2282 modifiers:{numLockKey:1}, chars:"8"}, |
|
2283 nsIDOMKeyEvent.DOM_VK_NUMPAD8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2284 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NUMPAD9, |
|
2285 modifiers:{numLockKey:1}, chars:"9"}, |
|
2286 nsIDOMKeyEvent.DOM_VK_NUMPAD9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2287 |
|
2288 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_MULTIPLY, |
|
2289 modifiers:{numLockKey:1}, chars:"*"}, |
|
2290 nsIDOMKeyEvent.DOM_VK_MULTIPLY, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2291 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_MULTIPLY, |
|
2292 modifiers:{numLockKey:1, shiftKey:1}, chars:"*"}, |
|
2293 nsIDOMKeyEvent.DOM_VK_MULTIPLY, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2294 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_ADD, |
|
2295 modifiers:{numLockKey:1}, chars:"+"}, |
|
2296 nsIDOMKeyEvent.DOM_VK_ADD, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2297 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_ADD, |
|
2298 modifiers:{numLockKey:1, shiftKey:1}, chars:"+"}, |
|
2299 nsIDOMKeyEvent.DOM_VK_ADD, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2300 // VK_SEPARATOR is keycode for NEC's PC-98 series whose keyboard layout was |
|
2301 // different from current PC's keyboard layout and it cannot connect to |
|
2302 // current PC. Note that even if we synthesize WM_KEYDOWN with |
|
2303 // VK_SEPARATOR, it doesn't work on Win7. |
|
2304 //testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_SEPARATOR, |
|
2305 // modifiers:{numLockKey:1}, chars:""}, |
|
2306 // nsIDOMKeyEvent.DOM_VK_SEPARATOR, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2307 //testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_SEPARATOR, |
|
2308 // modifiers:{numLockKey:1, shiftKey:1}, chars:""}, |
|
2309 // nsIDOMKeyEvent.DOM_VK_SEPARATOR, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2310 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_SUBTRACT, |
|
2311 modifiers:{numLockKey:1}, chars:"-"}, |
|
2312 nsIDOMKeyEvent.DOM_VK_SUBTRACT, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2313 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_SUBTRACT, |
|
2314 modifiers:{numLockKey:1, shiftKey:1}, chars:"-"}, |
|
2315 nsIDOMKeyEvent.DOM_VK_SUBTRACT, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2316 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_DECIMAL, |
|
2317 modifiers:{numLockKey:1}, chars:"."}, |
|
2318 nsIDOMKeyEvent.DOM_VK_DECIMAL, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2319 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_DECIMAL, |
|
2320 modifiers:{numLockKey:1, shiftKey:1}, chars:"."}, |
|
2321 nsIDOMKeyEvent.DOM_VK_DECIMAL, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2322 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_DIVIDE, |
|
2323 modifiers:{numLockKey:1}, chars:"/"}, |
|
2324 nsIDOMKeyEvent.DOM_VK_DIVIDE, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2325 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_DIVIDE, |
|
2326 modifiers:{numLockKey:1, shiftKey:1}, chars:"/"}, |
|
2327 nsIDOMKeyEvent.DOM_VK_DIVIDE, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2328 |
|
2329 // Numpad without NumLock |
|
2330 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_PRIOR, |
|
2331 modifiers:{}, chars:""}, |
|
2332 nsIDOMKeyEvent.DOM_VK_PAGE_UP, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2333 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_NEXT, |
|
2334 modifiers:{}, chars:""}, |
|
2335 nsIDOMKeyEvent.DOM_VK_PAGE_DOWN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2336 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_END, |
|
2337 modifiers:{}, chars:""}, |
|
2338 nsIDOMKeyEvent.DOM_VK_END, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2339 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_HOME, |
|
2340 modifiers:{}, chars:""}, |
|
2341 nsIDOMKeyEvent.DOM_VK_HOME, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2342 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_LEFT, |
|
2343 modifiers:{}, chars:""}, |
|
2344 nsIDOMKeyEvent.DOM_VK_LEFT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2345 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_UP, |
|
2346 modifiers:{}, chars:""}, |
|
2347 nsIDOMKeyEvent.DOM_VK_UP, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2348 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_RIGHT, |
|
2349 modifiers:{}, chars:""}, |
|
2350 nsIDOMKeyEvent.DOM_VK_RIGHT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2351 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_DOWN, |
|
2352 modifiers:{}, chars:""}, |
|
2353 nsIDOMKeyEvent.DOM_VK_DOWN, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2354 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_INSERT, |
|
2355 modifiers:{}, chars:""}, |
|
2356 nsIDOMKeyEvent.DOM_VK_INSERT, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2357 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_DELETE, |
|
2358 modifiers:{}, chars:""}, |
|
2359 nsIDOMKeyEvent.DOM_VK_DELETE, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2360 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_CLEAR, |
|
2361 modifiers:{}, chars:""}, |
|
2362 nsIDOMKeyEvent.DOM_VK_CLEAR, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2363 |
|
2364 // Even if widget receives unknown keycode, it should dispatch key events |
|
2365 // whose keycode is 0 rather than native keycode. |
|
2366 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:0x3A, |
|
2367 modifiers:{numLockKey:1}, chars:""}, |
|
2368 0, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2369 |
|
2370 // French |
|
2371 // Numeric |
|
2372 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_0, |
|
2373 modifiers:{}, chars:"\u00E0"}, |
|
2374 nsIDOMKeyEvent.DOM_VK_0, "\u00E0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2375 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_0, |
|
2376 modifiers:{shiftKey:1}, chars:"0"}, |
|
2377 nsIDOMKeyEvent.DOM_VK_0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2378 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_1, |
|
2379 modifiers:{}, chars:"&"}, |
|
2380 nsIDOMKeyEvent.DOM_VK_1, "&", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2381 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_1, |
|
2382 modifiers:{shiftKey:1}, chars:"1"}, |
|
2383 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2384 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_2, |
|
2385 modifiers:{}, chars:"\u00E9"}, |
|
2386 nsIDOMKeyEvent.DOM_VK_2, "\u00E9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2387 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_2, |
|
2388 modifiers:{shiftKey:1}, chars:"2"}, |
|
2389 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2390 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_3, |
|
2391 modifiers:{}, chars:"\""}, |
|
2392 nsIDOMKeyEvent.DOM_VK_3, "\"", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2393 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_3, |
|
2394 modifiers:{shiftKey:1}, chars:"3"}, |
|
2395 nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2396 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_4, |
|
2397 modifiers:{}, chars:"'"}, |
|
2398 nsIDOMKeyEvent.DOM_VK_4, "'", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2399 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_4, |
|
2400 modifiers:{shiftKey:1}, chars:"4"}, |
|
2401 nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2402 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_5, |
|
2403 modifiers:{}, chars:"("}, |
|
2404 nsIDOMKeyEvent.DOM_VK_5, "(", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2405 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_5, |
|
2406 modifiers:{shiftKey:1}, chars:"5"}, |
|
2407 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2408 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_6, |
|
2409 modifiers:{}, chars:"-"}, |
|
2410 nsIDOMKeyEvent.DOM_VK_6, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2411 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_6, |
|
2412 modifiers:{shiftKey:1}, chars:"6"}, |
|
2413 nsIDOMKeyEvent.DOM_VK_6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2414 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_7, |
|
2415 modifiers:{}, chars:"\u00E8"}, |
|
2416 nsIDOMKeyEvent.DOM_VK_7, "\u00E8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2417 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_7, |
|
2418 modifiers:{shiftKey:1}, chars:"7"}, |
|
2419 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2420 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_8, |
|
2421 modifiers:{}, chars:"_"}, |
|
2422 nsIDOMKeyEvent.DOM_VK_8, "_", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2423 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_8, |
|
2424 modifiers:{shiftKey:1}, chars:"8"}, |
|
2425 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2426 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_9, |
|
2427 modifiers:{}, chars:"\u00E7"}, |
|
2428 nsIDOMKeyEvent.DOM_VK_9, "\u00E7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2429 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_9, |
|
2430 modifiers:{shiftKey:1}, chars:"9"}, |
|
2431 nsIDOMKeyEvent.DOM_VK_9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2432 |
|
2433 // Numeric with ShiftLock |
|
2434 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_0, |
|
2435 modifiers:{capsLockKey:1}, chars:"0"}, |
|
2436 nsIDOMKeyEvent.DOM_VK_0, "0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2437 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_0, |
|
2438 modifiers:{capsLockKey:1, shiftKey:1}, chars:"\u00E0"}, |
|
2439 nsIDOMKeyEvent.DOM_VK_0, "\u00E0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2440 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_1, |
|
2441 modifiers:{capsLockKey:1}, chars:"1"}, |
|
2442 nsIDOMKeyEvent.DOM_VK_1, "1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2443 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_1, |
|
2444 modifiers:{capsLockKey:1, shiftKey:1}, chars:"&"}, |
|
2445 nsIDOMKeyEvent.DOM_VK_1, "&", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2446 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_2, |
|
2447 modifiers:{capsLockKey:1}, chars:"2"}, |
|
2448 nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2449 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_2, |
|
2450 modifiers:{capsLockKey:1, shiftKey:1}, chars:"\u00E9"}, |
|
2451 nsIDOMKeyEvent.DOM_VK_2, "\u00E9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2452 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_3, |
|
2453 modifiers:{capsLockKey:1}, chars:"3"}, |
|
2454 nsIDOMKeyEvent.DOM_VK_3, "3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2455 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_3, |
|
2456 modifiers:{capsLockKey:1, shiftKey:1}, chars:"\""}, |
|
2457 nsIDOMKeyEvent.DOM_VK_3, "\"", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2458 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_4, |
|
2459 modifiers:{capsLockKey:1}, chars:"4"}, |
|
2460 nsIDOMKeyEvent.DOM_VK_4, "4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2461 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_4, |
|
2462 modifiers:{capsLockKey:1, shiftKey:1}, chars:"'"}, |
|
2463 nsIDOMKeyEvent.DOM_VK_4, "'", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2464 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_5, |
|
2465 modifiers:{capsLockKey:1}, chars:"5"}, |
|
2466 nsIDOMKeyEvent.DOM_VK_5, "5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2467 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_5, |
|
2468 modifiers:{capsLockKey:1, shiftKey:1}, chars:"("}, |
|
2469 nsIDOMKeyEvent.DOM_VK_5, "(", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2470 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_6, |
|
2471 modifiers:{capsLockKey:1}, chars:"6"}, |
|
2472 nsIDOMKeyEvent.DOM_VK_6, "6", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2473 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_6, |
|
2474 modifiers:{capsLockKey:1, shiftKey:1}, chars:"-"}, |
|
2475 nsIDOMKeyEvent.DOM_VK_6, "-", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2476 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_7, |
|
2477 modifiers:{capsLockKey:1}, chars:"7"}, |
|
2478 nsIDOMKeyEvent.DOM_VK_7, "7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2479 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_7, |
|
2480 modifiers:{capsLockKey:1, shiftKey:1}, chars:"\u00E8"}, |
|
2481 nsIDOMKeyEvent.DOM_VK_7, "\u00E8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2482 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_8, |
|
2483 modifiers:{capsLockKey:1}, chars:"8"}, |
|
2484 nsIDOMKeyEvent.DOM_VK_8, "8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2485 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_8, |
|
2486 modifiers:{capsLockKey:1, shiftKey:1}, chars:"_"}, |
|
2487 nsIDOMKeyEvent.DOM_VK_8, "_", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2488 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_9, |
|
2489 modifiers:{capsLockKey:1}, chars:"9"}, |
|
2490 nsIDOMKeyEvent.DOM_VK_9, "9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2491 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_9, |
|
2492 modifiers:{capsLockKey:1, shiftKey:1}, chars:"\u00E7"}, |
|
2493 nsIDOMKeyEvent.DOM_VK_9, "\u00E7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2494 |
|
2495 // OEM keys |
|
2496 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_7, |
|
2497 modifiers:{}, chars:"\u00B2"}, |
|
2498 0, "\u00B2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2499 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_7, |
|
2500 modifiers:{shiftKey:1}, chars:""}, |
|
2501 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2502 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_4, |
|
2503 modifiers:{}, chars:")"}, |
|
2504 nsIDOMKeyEvent.DOM_VK_CLOSE_PAREN, ")", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2505 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_4, |
|
2506 modifiers:{shiftKey:1}, chars:"\u00B0"}, |
|
2507 nsIDOMKeyEvent.DOM_VK_CLOSE_PAREN, "\u00B0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2508 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PLUS, |
|
2509 modifiers:{}, chars:"="}, |
|
2510 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2511 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PLUS, |
|
2512 modifiers:{shiftKey:1}, chars:"+"}, |
|
2513 nsIDOMKeyEvent.DOM_VK_EQUALS, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2514 //testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2515 // modifiers:{}, chars:""}, |
|
2516 // nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // Dead-key |
|
2517 //testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2518 // modifiers:{shiftKey:1}, chars:""}, |
|
2519 // nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // Dead-key |
|
2520 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_1, |
|
2521 modifiers:{}, chars:"$"}, |
|
2522 nsIDOMKeyEvent.DOM_VK_DOLLAR, "$", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2523 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_1, |
|
2524 modifiers:{shiftKey:1}, chars:"\u00A3"}, |
|
2525 nsIDOMKeyEvent.DOM_VK_DOLLAR, "\u00A3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2526 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_3, |
|
2527 modifiers:{}, chars:"\u00F9"}, |
|
2528 nsIDOMKeyEvent.DOM_VK_PERCENT, "\u00F9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2529 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_3, |
|
2530 modifiers:{shiftKey:1}, chars:"%"}, |
|
2531 nsIDOMKeyEvent.DOM_VK_PERCENT, "%", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2532 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_5, |
|
2533 modifiers:{}, chars:"*"}, |
|
2534 nsIDOMKeyEvent.DOM_VK_ASTERISK, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2535 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_5, |
|
2536 modifiers:{shiftKey:1}, chars:"\u00B5"}, |
|
2537 nsIDOMKeyEvent.DOM_VK_ASTERISK, "\u00B5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2538 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_102, |
|
2539 modifiers:{}, chars:"<"}, |
|
2540 nsIDOMKeyEvent.DOM_VK_LESS_THAN, "<", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2541 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_102, |
|
2542 modifiers:{shiftKey:1}, chars:">"}, |
|
2543 nsIDOMKeyEvent.DOM_VK_LESS_THAN, ">", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2544 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_COMMA, |
|
2545 modifiers:{}, chars:","}, |
|
2546 nsIDOMKeyEvent.DOM_VK_COMMA, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2547 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_COMMA, |
|
2548 modifiers:{shiftKey:1}, chars:"?"}, |
|
2549 nsIDOMKeyEvent.DOM_VK_COMMA, "?", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2550 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PERIOD, |
|
2551 modifiers:{}, chars:";"}, |
|
2552 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ";", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2553 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PERIOD, |
|
2554 modifiers:{shiftKey:1}, chars:"."}, |
|
2555 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2556 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_2, |
|
2557 modifiers:{}, chars:":"}, |
|
2558 nsIDOMKeyEvent.DOM_VK_COLON, ":", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2559 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_2, |
|
2560 modifiers:{shiftKey:1}, chars:"/"}, |
|
2561 nsIDOMKeyEvent.DOM_VK_COLON, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2562 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_8, |
|
2563 modifiers:{}, chars:"!"}, |
|
2564 nsIDOMKeyEvent.DOM_VK_EXCLAMATION, "!", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2565 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_8, |
|
2566 modifiers:{shiftKey:1}, chars:"\u00A7"}, |
|
2567 nsIDOMKeyEvent.DOM_VK_EXCLAMATION, "\u00A7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2568 |
|
2569 // OEM keys with ShiftLock |
|
2570 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_7, |
|
2571 modifiers:{capsLockKey:1}, chars:"\u00B2"}, |
|
2572 0, "\u00B2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2573 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_7, |
|
2574 modifiers:{capsLockKey:1, shiftKey:1}, chars:""}, |
|
2575 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2576 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_4, |
|
2577 modifiers:{capsLockKey:1}, chars:"\u00B0"}, |
|
2578 nsIDOMKeyEvent.DOM_VK_CLOSE_PAREN, "\u00B0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2579 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_4, |
|
2580 modifiers:{capsLockKey:1, shiftKey:1}, chars:")"}, |
|
2581 nsIDOMKeyEvent.DOM_VK_CLOSE_PAREN, ")", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2582 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PLUS, |
|
2583 modifiers:{capsLockKey:1}, chars:"+"}, |
|
2584 nsIDOMKeyEvent.DOM_VK_EQUALS, "+", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2585 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PLUS, |
|
2586 modifiers:{capsLockKey:1, shiftKey:1}, chars:"="}, |
|
2587 nsIDOMKeyEvent.DOM_VK_EQUALS, "=", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2588 //testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2589 // modifiers:{capsLockKey:1}, chars:""}, |
|
2590 // 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // Dead-key |
|
2591 //testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2592 // modifiers:{capsLockKey:1, shiftKey:1}, chars:""}, |
|
2593 // 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // Dead-key |
|
2594 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_1, |
|
2595 modifiers:{capsLockKey:1}, chars:"\u00A3"}, |
|
2596 nsIDOMKeyEvent.DOM_VK_DOLLAR, "\u00A3", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2597 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_1, |
|
2598 modifiers:{capsLockKey:1, shiftKey:1}, chars:"$"}, |
|
2599 nsIDOMKeyEvent.DOM_VK_DOLLAR, "$", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2600 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_3, |
|
2601 modifiers:{capsLockKey:1}, chars:"%"}, |
|
2602 nsIDOMKeyEvent.DOM_VK_PERCENT, "%", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2603 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_3, |
|
2604 modifiers:{capsLockKey:1, shiftKey:1}, chars:"\u00F9"}, |
|
2605 nsIDOMKeyEvent.DOM_VK_PERCENT, "\u00F9", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2606 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_5, |
|
2607 modifiers:{capsLockKey:1}, chars:"\u00B5"}, |
|
2608 nsIDOMKeyEvent.DOM_VK_ASTERISK, "\u00B5", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2609 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_5, |
|
2610 modifiers:{capsLockKey:1, shiftKey:1}, chars:"*"}, |
|
2611 nsIDOMKeyEvent.DOM_VK_ASTERISK, "*", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2612 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_102, |
|
2613 modifiers:{capsLockKey:1}, chars:"<"}, |
|
2614 nsIDOMKeyEvent.DOM_VK_LESS_THAN, "<", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2615 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_102, |
|
2616 modifiers:{capsLockKey:1, shiftKey:1}, chars:">"}, |
|
2617 nsIDOMKeyEvent.DOM_VK_LESS_THAN, ">", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2618 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_COMMA, |
|
2619 modifiers:{capsLockKey:1}, chars:"?"}, |
|
2620 nsIDOMKeyEvent.DOM_VK_COMMA, "?", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2621 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_COMMA, |
|
2622 modifiers:{capsLockKey:1, shiftKey:1}, chars:","}, |
|
2623 nsIDOMKeyEvent.DOM_VK_COMMA, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2624 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PERIOD, |
|
2625 modifiers:{capsLockKey:1}, chars:"."}, |
|
2626 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2627 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PERIOD, |
|
2628 modifiers:{capsLockKey:1, shiftKey:1}, chars:";"}, |
|
2629 nsIDOMKeyEvent.DOM_VK_SEMICOLON, ";", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2630 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_2, |
|
2631 modifiers:{capsLockKey:1}, chars:"/"}, |
|
2632 nsIDOMKeyEvent.DOM_VK_COLON, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2633 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_2, |
|
2634 modifiers:{capsLockKey:1, shiftKey:1}, chars:":"}, |
|
2635 nsIDOMKeyEvent.DOM_VK_COLON, ":", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2636 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_8, |
|
2637 modifiers:{capsLockKey:1}, chars:"\u00A7"}, |
|
2638 nsIDOMKeyEvent.DOM_VK_EXCLAMATION, "\u00A7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2639 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_8, |
|
2640 modifiers:{capsLockKey:1, shiftKey:1}, chars:"!"}, |
|
2641 nsIDOMKeyEvent.DOM_VK_EXCLAMATION, "!", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2642 |
|
2643 // AltGr |
|
2644 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_0, |
|
2645 modifiers:{altGrKey:1}, chars:"@"}, |
|
2646 nsIDOMKeyEvent.DOM_VK_0, "@", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2647 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_1, |
|
2648 modifiers:{altGrKey:1}, chars:""}, |
|
2649 nsIDOMKeyEvent.DOM_VK_1, "&", SHOULD_DELIVER_ALL_BUT_NOT_CAUSE_INPUT, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2650 //testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_2, |
|
2651 // modifiers:{altGrKey:1}, chars:""}, |
|
2652 // nsIDOMKeyEvent.DOM_VK_2, "2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // Dead-key |
|
2653 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_3, |
|
2654 modifiers:{altGrKey:1}, chars:"#"}, |
|
2655 nsIDOMKeyEvent.DOM_VK_3, "#", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2656 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_4, |
|
2657 modifiers:{altGrKey:1}, chars:"{"}, |
|
2658 nsIDOMKeyEvent.DOM_VK_4, "{", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2659 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_5, |
|
2660 modifiers:{altGrKey:1}, chars:"["}, |
|
2661 nsIDOMKeyEvent.DOM_VK_5, "[", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2662 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_6, |
|
2663 modifiers:{altGrKey:1}, chars:"|"}, |
|
2664 nsIDOMKeyEvent.DOM_VK_6, "|", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2665 //testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_7, |
|
2666 // modifiers:{altGrKey:1}, chars:""}, |
|
2667 // nsIDOMKeyEvent.DOM_VK_7, "", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); // Dead-key |
|
2668 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_8, |
|
2669 modifiers:{altGrKey:1}, chars:"\\"}, |
|
2670 nsIDOMKeyEvent.DOM_VK_8, "\\", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2671 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_9, |
|
2672 modifiers:{altGrKey:1}, chars:"^"}, |
|
2673 nsIDOMKeyEvent.DOM_VK_9, "^", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2674 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_4, |
|
2675 modifiers:{altGrKey:1}, chars:"]"}, |
|
2676 nsIDOMKeyEvent.DOM_VK_CLOSE_PAREN, "]", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2677 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_PLUS, |
|
2678 modifiers:{altGrKey:1}, chars:"}"}, |
|
2679 nsIDOMKeyEvent.DOM_VK_EQUALS, "}", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2680 |
|
2681 // German |
|
2682 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:WIN_VK_OEM_2, |
|
2683 modifiers:{}, chars:"#"}, |
|
2684 nsIDOMKeyEvent.DOM_VK_HASH, "#", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2685 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:WIN_VK_OEM_2, |
|
2686 modifiers:{shiftKey:1}, chars:"'"}, |
|
2687 nsIDOMKeyEvent.DOM_VK_HASH, "'", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2688 |
|
2689 // Norwegian |
|
2690 testKey({layout:KEYBOARD_LAYOUT_NORWEGIAN, keyCode:WIN_VK_OEM_5, |
|
2691 modifiers:{}, chars:"|"}, |
|
2692 nsIDOMKeyEvent.DOM_VK_PIPE, "|", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2693 testKey({layout:KEYBOARD_LAYOUT_NORWEGIAN, keyCode:WIN_VK_OEM_5, |
|
2694 modifiers:{shiftKey:1}, chars:"\u00A7"}, |
|
2695 nsIDOMKeyEvent.DOM_VK_PIPE, "\u00A7", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2696 |
|
2697 // Brazilian ABNT |
|
2698 testKey({layout:KEYBOARD_LAYOUT_BRAZILIAN_ABNT, keyCode:WIN_VK_ABNT_C1, |
|
2699 modifiers:{}, chars:"/"}, |
|
2700 nsIDOMKeyEvent.DOM_VK_SLASH, "/", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2701 testKey({layout:KEYBOARD_LAYOUT_BRAZILIAN_ABNT, keyCode:WIN_VK_ABNT_C1, |
|
2702 modifiers:{shiftKey:1}, chars:"?"}, |
|
2703 nsIDOMKeyEvent.DOM_VK_SLASH, "?", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2704 testKey({layout:KEYBOARD_LAYOUT_BRAZILIAN_ABNT, keyCode:WIN_VK_ABNT_C2, |
|
2705 modifiers:{numLockKey:1}, chars:"."}, |
|
2706 nsIDOMKeyEvent.DOM_VK_SEPARATOR, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2707 testKey({layout:KEYBOARD_LAYOUT_BRAZILIAN_ABNT, keyCode:WIN_VK_DECIMAL, |
|
2708 modifiers:{numLockKey:1}, chars:","}, |
|
2709 nsIDOMKeyEvent.DOM_VK_DECIMAL, ",", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2710 |
|
2711 // Mac JIS keyboard |
|
2712 // The separator key on JIS keyboard for Mac doesn't cause any character even with Japanese keyboard layout. |
|
2713 testKey({layout:KEYBOARD_LAYOUT_JAPANESE, keyCode:WIN_VK_ABNT_C2, |
|
2714 modifiers:{numLockKey:1}, chars:""}, |
|
2715 nsIDOMKeyEvent.DOM_VK_SEPARATOR, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2716 testKey({layout:KEYBOARD_LAYOUT_JAPANESE, keyCode:WIN_VK_DECIMAL, |
|
2717 modifiers:{numLockKey:1}, chars:"."}, |
|
2718 nsIDOMKeyEvent.DOM_VK_DECIMAL, ".", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_NUMPAD); |
|
2719 |
|
2720 // Dead keys on any layouts |
|
2721 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2722 modifiers:{}, chars:""}, |
|
2723 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2724 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2725 modifiers:{}, chars:"^^"}, |
|
2726 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "^^", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2727 |
|
2728 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2729 modifiers:{}, chars:""}, |
|
2730 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2731 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_A, |
|
2732 modifiers:{}, chars:"\u00E2"}, |
|
2733 nsIDOMKeyEvent.DOM_VK_A, "\u00E2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2734 |
|
2735 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2736 modifiers:{}, chars:""}, |
|
2737 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2738 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_A, |
|
2739 modifiers:{shiftKey:1}, chars:"\u00C2"}, |
|
2740 nsIDOMKeyEvent.DOM_VK_A, "\u00C2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2741 |
|
2742 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2743 modifiers:{}, chars:""}, |
|
2744 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2745 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_Q, |
|
2746 modifiers:{}, chars:"^q"}, |
|
2747 nsIDOMKeyEvent.DOM_VK_Q, "^q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2748 |
|
2749 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2750 modifiers:{shiftKey:1}, chars:""}, |
|
2751 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2752 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2753 modifiers:{shiftKey:1}, chars:"\u00A8\u00A8"}, |
|
2754 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "\u00A8\u00A8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2755 |
|
2756 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2757 modifiers:{shiftKey:1}, chars:""}, |
|
2758 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2759 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_A, |
|
2760 modifiers:{shiftKey:1}, chars:"\u00C4"}, |
|
2761 nsIDOMKeyEvent.DOM_VK_A, "\u00C4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2762 |
|
2763 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2764 modifiers:{shiftKey:1}, chars:""}, |
|
2765 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2766 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_A, |
|
2767 modifiers:{}, chars:"\u00E4"}, |
|
2768 nsIDOMKeyEvent.DOM_VK_A, "\u00E4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2769 |
|
2770 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_OEM_6, |
|
2771 modifiers:{shiftKey:1}, chars:""}, |
|
2772 nsIDOMKeyEvent.DOM_VK_CIRCUMFLEX, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2773 testKey({layout:KEYBOARD_LAYOUT_FRENCH, keyCode:WIN_VK_Q, |
|
2774 modifiers:{shiftKey:1}, chars:"\u00A8Q"}, |
|
2775 nsIDOMKeyEvent.DOM_VK_Q, "\u00A8Q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2776 |
|
2777 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2778 modifiers:{}, chars:""}, |
|
2779 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2780 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2781 modifiers:{}, chars:"``"}, |
|
2782 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "``", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2783 |
|
2784 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2785 modifiers:{}, chars:""}, |
|
2786 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2787 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_A, |
|
2788 modifiers:{}, chars:"\u00E0"}, |
|
2789 nsIDOMKeyEvent.DOM_VK_A, "\u00E0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2790 |
|
2791 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2792 modifiers:{}, chars:""}, |
|
2793 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2794 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_A, |
|
2795 modifiers:{shiftKey:1}, chars:"\u00C0"}, |
|
2796 nsIDOMKeyEvent.DOM_VK_A, "\u00C0", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2797 |
|
2798 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2799 modifiers:{}, chars:""}, |
|
2800 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2801 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_Q, |
|
2802 modifiers:{}, chars:"`q"}, |
|
2803 nsIDOMKeyEvent.DOM_VK_Q, "`q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2804 |
|
2805 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2806 modifiers:{shiftKey:1}, chars:""}, |
|
2807 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2808 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2809 modifiers:{shiftKey:1}, chars:"^^"}, |
|
2810 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "^^", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2811 |
|
2812 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2813 modifiers:{shiftKey:1}, chars:""}, |
|
2814 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2815 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_A, |
|
2816 modifiers:{shiftKey:1}, chars:"\u00C2"}, |
|
2817 nsIDOMKeyEvent.DOM_VK_A, "\u00C2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2818 |
|
2819 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2820 modifiers:{shiftKey:1}, chars:""}, |
|
2821 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2822 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_A, |
|
2823 modifiers:{}, chars:"\u00E2"}, |
|
2824 nsIDOMKeyEvent.DOM_VK_A, "\u00E2", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2825 |
|
2826 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_1, |
|
2827 modifiers:{shiftKey:1}, chars:""}, |
|
2828 nsIDOMKeyEvent.DOM_VK_BACK_QUOTE, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2829 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_Q, |
|
2830 modifiers:{shiftKey:1}, chars:"^Q"}, |
|
2831 nsIDOMKeyEvent.DOM_VK_Q, "^Q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2832 |
|
2833 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2834 modifiers:{}, chars:""}, |
|
2835 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2836 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2837 modifiers:{}, chars:"\u00B4\u00B4"}, |
|
2838 0, "\u00B4\u00B4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2839 |
|
2840 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2841 modifiers:{}, chars:""}, |
|
2842 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2843 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_A, |
|
2844 modifiers:{}, chars:"\u00E1"}, |
|
2845 nsIDOMKeyEvent.DOM_VK_A, "\u00E1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2846 |
|
2847 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2848 modifiers:{}, chars:""}, |
|
2849 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2850 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_A, |
|
2851 modifiers:{shiftKey:1}, chars:"\u00C1"}, |
|
2852 nsIDOMKeyEvent.DOM_VK_A, "\u00C1", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2853 |
|
2854 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2855 modifiers:{}, chars:""}, |
|
2856 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2857 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_Q, |
|
2858 modifiers:{}, chars:"\u00B4q"}, |
|
2859 nsIDOMKeyEvent.DOM_VK_Q, "\u00B4q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2860 |
|
2861 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2862 modifiers:{shiftKey:1}, chars:""}, |
|
2863 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2864 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2865 modifiers:{shiftKey:1}, chars:"\u00A8\u00A8"}, |
|
2866 0, "\u00A8\u00A8", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2867 |
|
2868 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2869 modifiers:{shiftKey:1}, chars:""}, |
|
2870 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2871 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_A, |
|
2872 modifiers:{shiftKey:1}, chars:"\u00C4"}, |
|
2873 nsIDOMKeyEvent.DOM_VK_A, "\u00C4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2874 |
|
2875 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2876 modifiers:{shiftKey:1}, chars:""}, |
|
2877 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2878 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_A, |
|
2879 modifiers:{}, chars:"\u00E4"}, |
|
2880 nsIDOMKeyEvent.DOM_VK_A, "\u00E4", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2881 |
|
2882 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_OEM_7, |
|
2883 modifiers:{shiftKey:1}, chars:""}, |
|
2884 0, "", SHOULD_DELIVER_KEYDOWN_KEYUP, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2885 testKey({layout:KEYBOARD_LAYOUT_SPANISH, keyCode:WIN_VK_Q, |
|
2886 modifiers:{shiftKey:1}, chars:"\u00A8Q"}, |
|
2887 nsIDOMKeyEvent.DOM_VK_Q, "\u00A8Q", SHOULD_DELIVER_ALL, KeyboardEvent.DOM_KEY_LOCATION_STANDARD); |
|
2888 } |
|
2889 |
|
2890 document.removeEventListener("keydown", onKeyEvent, false); |
|
2891 document.removeEventListener("keypress", onKeyEvent, false); |
|
2892 document.removeEventListener("keyup", onKeyEvent, false); |
|
2893 } |
|
2894 |
|
2895 // Test the activation (or not) of an HTML accesskey |
|
2896 function runAccessKeyTests() |
|
2897 { |
|
2898 var button = document.getElementById("button"); |
|
2899 var activationCount; |
|
2900 |
|
2901 function onClick(e) |
|
2902 { |
|
2903 ++activationCount; |
|
2904 } |
|
2905 |
|
2906 // The first parameter is the complete input event. The second and third parameters are |
|
2907 // what to test against. |
|
2908 function testKey(aEvent, aAccessKey, aShouldActivate) |
|
2909 { |
|
2910 activationCount = 0; |
|
2911 button.setAttribute("accesskey", aAccessKey); |
|
2912 |
|
2913 synthesizeKey(aEvent, "button"); |
|
2914 |
|
2915 var name = eventToString(aEvent); |
|
2916 |
|
2917 is(activationCount, aShouldActivate ? 1 : 0, name + ", activating '" + aAccessKey + "'"); |
|
2918 } |
|
2919 |
|
2920 button.addEventListener("click", onClick, false); |
|
2921 |
|
2922 // These tests have to be per-plaform. |
|
2923 if (IS_MAC) { |
|
2924 // Basic sanity checks |
|
2925 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
2926 modifiers:{}, chars:"a", unmodifiedChars:"a"}, |
|
2927 "a", false); |
|
2928 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
2929 modifiers:{ctrlKey:1}, chars:"\u0001", unmodifiedChars:"a"}, |
|
2930 "a", false); |
|
2931 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
2932 modifiers:{ctrlKey:1}, chars:"\u0001", unmodifiedChars:"a"}, |
|
2933 "A", false); |
|
2934 |
|
2935 // Shift-ctrl does not activate accesskeys |
|
2936 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
2937 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0001", unmodifiedChars:"A"}, |
|
2938 "a", false); |
|
2939 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
2940 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0001", unmodifiedChars:"A"}, |
|
2941 "A", false); |
|
2942 // Alt-ctrl activate accesskeys |
|
2943 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
2944 modifiers:{ctrlKey:1, altKey:1}, chars:"\u0001", unmodifiedChars:"a"}, |
|
2945 "a", true); |
|
2946 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_A, |
|
2947 modifiers:{ctrlKey:1, altKey:1}, chars:"\u0001", unmodifiedChars:"a"}, |
|
2948 "A", true); |
|
2949 |
|
2950 // Greek layout can activate a Latin accesskey |
|
2951 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
2952 modifiers:{ctrlKey:1, altKey:1}, chars:"\u0001", unmodifiedChars:"\u03b1"}, |
|
2953 "a", true); |
|
2954 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
2955 modifiers:{ctrlKey:1, altKey:1}, chars:"\u0001", unmodifiedChars:"\u03b1"}, |
|
2956 "A", true); |
|
2957 // ... and a Greek accesskey! |
|
2958 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
2959 modifiers:{ctrlKey:1, altKey:1}, chars:"\u0001", unmodifiedChars:"\u03b1"}, |
|
2960 "\u03b1", true); |
|
2961 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:MAC_VK_ANSI_A, |
|
2962 modifiers:{ctrlKey:1, altKey:1}, chars:"\u0001", unmodifiedChars:"\u03b1"}, |
|
2963 "\u0391", true); |
|
2964 |
|
2965 // bug 359638 |
|
2966 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Period, |
|
2967 modifiers:{ctrlKey:1, altKey:1}, chars:".", unmodifiedChars:"."}, |
|
2968 ".", true); |
|
2969 |
|
2970 // German (KCHR/KeyTranslate case) |
|
2971 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_A, |
|
2972 modifiers:{ctrlKey:1, altKey:1}, chars:"a", unmodifiedChars:"a"}, |
|
2973 "a", true); |
|
2974 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_A, |
|
2975 modifiers:{ctrlKey:1, altKey:1}, chars:"a", unmodifiedChars:"a"}, |
|
2976 "A", true); |
|
2977 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_LeftBracket, |
|
2978 modifiers:{ctrlKey:1, altKey:1}, chars:"\u00fc", unmodifiedChars:"\u00fc"}, |
|
2979 "\u00fc", true); |
|
2980 testKey({layout:KEYBOARD_LAYOUT_GERMAN, keyCode:MAC_VK_ANSI_LeftBracket, |
|
2981 modifiers:{ctrlKey:1, altKey:1}, chars:"\u00fc", unmodifiedChars:"\u00fc"}, |
|
2982 "\u00dc", true); |
|
2983 } |
|
2984 else if (IS_WIN) { |
|
2985 // Basic sanity checks |
|
2986 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
2987 modifiers:{}, chars:"a"}, |
|
2988 "a", false); |
|
2989 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
2990 modifiers:{shiftKey:1, altKey:1}, chars:"A"}, |
|
2991 "a", true); |
|
2992 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
2993 modifiers:{shiftKey:1, altKey:1}, chars:"A"}, |
|
2994 "A", true); |
|
2995 |
|
2996 // shift-alt-ctrl does not activate accesskeys |
|
2997 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
2998 modifiers:{ctrlKey:1, shiftKey:1, altKey:1}, chars:""}, |
|
2999 "a", false); |
|
3000 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
3001 modifiers:{ctrlKey:1, shiftKey:1, altKey:1}, chars:""}, |
|
3002 "A", false); |
|
3003 |
|
3004 // Greek layout can activate a Latin accesskey |
|
3005 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:WIN_VK_A, |
|
3006 modifiers:{shiftKey:1, altKey:1}, chars:"A"}, |
|
3007 "a", true); |
|
3008 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:WIN_VK_A, |
|
3009 modifiers:{shiftKey:1, altKey:1}, chars:"A"}, |
|
3010 "A", true); |
|
3011 // ... and a Greek accesskey! |
|
3012 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:WIN_VK_A, |
|
3013 modifiers:{shiftKey:1, altKey:1}, chars:"A"}, |
|
3014 "\u03b1", true); |
|
3015 testKey({layout:KEYBOARD_LAYOUT_GREEK, keyCode:WIN_VK_A, |
|
3016 modifiers:{shiftKey:1, altKey:1}, chars:"A"}, |
|
3017 "\u0391", true); |
|
3018 |
|
3019 // bug 359638 |
|
3020 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_PERIOD, |
|
3021 modifiers:{shiftKey:1, altKey:1}, chars:".", unmodifiedChars:"."}, |
|
3022 ".", true); |
|
3023 } |
|
3024 |
|
3025 button.removeEventListener("click", onClick, false); |
|
3026 } |
|
3027 |
|
3028 function runXULKeyTests() |
|
3029 { |
|
3030 function testKey(aEvent, aElem, aShouldActivate) |
|
3031 { |
|
3032 var elem = document.getElementById(aElem); |
|
3033 elem.activeCount = 0; |
|
3034 |
|
3035 synthesizeKey(aEvent, "button"); |
|
3036 |
|
3037 var name = eventToString(aEvent); |
|
3038 |
|
3039 is(elem.activeCount, aShouldActivate ? 1 : 0, |
|
3040 name + " activating " + aElem); |
|
3041 } |
|
3042 |
|
3043 if (IS_MAC) { |
|
3044 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
3045 modifiers:{metaKey:1}, chars:";", unmodifiedChars:";"}, |
|
3046 "unshiftedKey", true); |
|
3047 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
3048 modifiers:{metaKey:1}, chars:";", unmodifiedChars:";"}, |
|
3049 "shiftedKey", false); |
|
3050 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
3051 modifiers:{metaKey:1, shiftKey:1}, chars:";", unmodifiedChars:":"}, |
|
3052 "shiftedKey", true); |
|
3053 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_Semicolon, |
|
3054 modifiers:{metaKey:1, shiftKey:1}, chars:";", unmodifiedChars:":"}, |
|
3055 "unshiftedKey", false); |
|
3056 } |
|
3057 else if (IS_WIN) { |
|
3058 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_1, |
|
3059 modifiers:{ctrlKey:1}, chars:";"}, |
|
3060 "unshiftedKey", true); |
|
3061 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_1, |
|
3062 modifiers:{ctrlKey:1}, chars:";"}, |
|
3063 "shiftedKey", false); |
|
3064 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_1, |
|
3065 modifiers:{ctrlKey:1, shiftKey:1}, chars:";"}, |
|
3066 "shiftedKey", true); |
|
3067 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_OEM_1, |
|
3068 modifiers:{ctrlKey:1, shiftKey:1}, chars:";"}, |
|
3069 "unshiftedKey", false); |
|
3070 } |
|
3071 |
|
3072 keyElems = ["commandOptionF"]; |
|
3073 |
|
3074 // 429160 |
|
3075 if (IS_MAC) { |
|
3076 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:MAC_VK_ANSI_F, |
|
3077 modifiers:{metaKey:1, altKey:1}, chars:"\u0192", unmodifiedChars:"f"}, |
|
3078 "commandOptionF", true); |
|
3079 } |
|
3080 else if (IS_WIN) { |
|
3081 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_F, |
|
3082 modifiers:{ctrlKey:1, altKey:1}, chars:"\u0006"}, |
|
3083 "commandOptionF", true); |
|
3084 } |
|
3085 |
|
3086 // 432112 |
|
3087 if (IS_MAC) { |
|
3088 testKey({layout:KEYBOARD_LAYOUT_SWEDISH, keyCode:MAC_VK_ANSI_Minus, |
|
3089 modifiers:{metaKey:1, shiftKey:1}, chars:"+", unmodifiedChars:"?"}, |
|
3090 "question", true); |
|
3091 } |
|
3092 else if (IS_WIN) { |
|
3093 testKey({layout:KEYBOARD_LAYOUT_SWEDISH, keyCode:WIN_VK_OEM_PLUS, |
|
3094 modifiers:{ctrlKey:1, shiftKey:1}, chars:""}, |
|
3095 "question", true); |
|
3096 testKey({layout:KEYBOARD_LAYOUT_SWEDISH, keyCode:WIN_VK_OEM_PLUS, |
|
3097 modifiers:{ctrlKey:1}, chars:""}, |
|
3098 "question", false); |
|
3099 } |
|
3100 |
|
3101 // bug 433192 |
|
3102 if (IS_WIN) { |
|
3103 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_X, |
|
3104 modifiers:{ctrlKey:1}, chars:"\u0018"}, |
|
3105 "unshiftedX", true); |
|
3106 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_X, |
|
3107 modifiers:{ctrlKey:1}, chars:"\u0018"}, |
|
3108 "shiftedX", false); |
|
3109 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_X, |
|
3110 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0018"}, |
|
3111 "unshiftedX", false); |
|
3112 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_X, |
|
3113 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0018"}, |
|
3114 "shiftedX", true); |
|
3115 testKey({layout:KEYBOARD_LAYOUT_ARABIC, keyCode:WIN_VK_X, |
|
3116 modifiers:{ctrlKey:1}, chars:"\u0018"}, |
|
3117 "unshiftedX", true); |
|
3118 testKey({layout:KEYBOARD_LAYOUT_ARABIC, keyCode:WIN_VK_X, |
|
3119 modifiers:{ctrlKey:1}, chars:"\u0018"}, |
|
3120 "shiftedX", false); |
|
3121 testKey({layout:KEYBOARD_LAYOUT_ARABIC, keyCode:WIN_VK_X, |
|
3122 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0018"}, |
|
3123 "unshiftedX", false); |
|
3124 testKey({layout:KEYBOARD_LAYOUT_ARABIC, keyCode:WIN_VK_X, |
|
3125 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0018"}, |
|
3126 "shiftedX", true); |
|
3127 testKey({layout:KEYBOARD_LAYOUT_HEBREW, keyCode:WIN_VK_X, |
|
3128 modifiers:{ctrlKey:1}, chars:"\u0018"}, |
|
3129 "unshiftedX", true); |
|
3130 testKey({layout:KEYBOARD_LAYOUT_HEBREW, keyCode:WIN_VK_X, |
|
3131 modifiers:{ctrlKey:1}, chars:"\u0018"}, |
|
3132 "shiftedX", false); |
|
3133 testKey({layout:KEYBOARD_LAYOUT_HEBREW, keyCode:WIN_VK_X, |
|
3134 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0018"}, |
|
3135 "unshiftedX", false); |
|
3136 testKey({layout:KEYBOARD_LAYOUT_HEBREW, keyCode:WIN_VK_X, |
|
3137 modifiers:{ctrlKey:1, shiftKey:1}, chars:"\u0018"}, |
|
3138 "shiftedX", true); |
|
3139 testKey({layout:KEYBOARD_LAYOUT_JAPANESE, keyCode:WIN_VK_OEM_PLUS, |
|
3140 modifiers:{ctrlKey:1}, chars:""}, |
|
3141 "unshiftedPlus", false); |
|
3142 testKey({layout:KEYBOARD_LAYOUT_JAPANESE, keyCode:WIN_VK_OEM_PLUS, |
|
3143 modifiers:{ctrlKey:1, shiftKey:1}, chars:""}, |
|
3144 "unshiftedPlus", true); |
|
3145 } |
|
3146 |
|
3147 // bug 759346 |
|
3148 if (IS_WIN) { |
|
3149 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:WIN_VK_1, |
|
3150 modifiers:{ctrlKey:1}, chars:""}, |
|
3151 "unshiftedPlus", false); |
|
3152 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:WIN_VK_1, |
|
3153 modifiers:{ctrlKey:1, shiftKey:1}, chars:""}, |
|
3154 "unshiftedPlus", true); |
|
3155 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:WIN_VK_OEM_PLUS, |
|
3156 modifiers:{ctrlKey:1}, chars:""}, |
|
3157 "unshiftedPlus", true); |
|
3158 testKey({layout:KEYBOARD_LAYOUT_THAI, keyCode:WIN_VK_OEM_PLUS, |
|
3159 modifiers:{ctrlKey:1, shiftKey:1}, chars:""}, |
|
3160 "unshiftedPlus", false); |
|
3161 } |
|
3162 } |
|
3163 |
|
3164 function runTextInputTests() |
|
3165 { |
|
3166 var textbox = document.getElementById("textbox"); |
|
3167 |
|
3168 function testKey(aEvent, aExpectText) { |
|
3169 textbox.value = ""; |
|
3170 textbox.focus(); |
|
3171 |
|
3172 synthesizeKey(aEvent, "textbox"); |
|
3173 |
|
3174 var name = eventToString(aEvent); |
|
3175 |
|
3176 is(textbox.value, aExpectText, name + " does not input correct text."); |
|
3177 } |
|
3178 |
|
3179 if (IS_WIN) { |
|
3180 // Basic sanity checks |
|
3181 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
3182 modifiers:{}, chars:"a"}, |
|
3183 "a"); |
|
3184 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
3185 modifiers:{shiftKey:1}, chars:"A"}, |
|
3186 "A"); |
|
3187 // When Ctrl+Alt are pressed, any text should not be inputted. |
|
3188 testKey({layout:KEYBOARD_LAYOUT_EN_US, keyCode:WIN_VK_A, |
|
3189 modifiers:{ctrlKey:1, altKey:1}, chars:""}, |
|
3190 ""); |
|
3191 |
|
3192 // Lithuanian AltGr should be consumed at 9/0 keys pressed |
|
3193 testKey({layout:KEYBOARD_LAYOUT_LITHUANIAN, keyCode:WIN_VK_8, |
|
3194 modifiers:{}, chars:"\u016B"}, |
|
3195 "\u016B"); |
|
3196 testKey({layout:KEYBOARD_LAYOUT_LITHUANIAN, keyCode:WIN_VK_9, |
|
3197 modifiers:{}, chars:"9"}, |
|
3198 "9"); |
|
3199 testKey({layout:KEYBOARD_LAYOUT_LITHUANIAN, keyCode:WIN_VK_0, |
|
3200 modifiers:{}, chars:"0"}, |
|
3201 "0"); |
|
3202 testKey({layout:KEYBOARD_LAYOUT_LITHUANIAN, keyCode:WIN_VK_8, |
|
3203 modifiers:{ctrlKey:1, altKey:1}, chars:"8"}, |
|
3204 "8"); |
|
3205 testKey({layout:KEYBOARD_LAYOUT_LITHUANIAN, keyCode:WIN_VK_9, |
|
3206 modifiers:{ctrlKey:1, altKey:1}, chars:"9"}, |
|
3207 "9"); |
|
3208 testKey({layout:KEYBOARD_LAYOUT_LITHUANIAN, keyCode:WIN_VK_0, |
|
3209 modifiers:{ctrlKey:1, altKey:1}, chars:"0"}, |
|
3210 "0"); |
|
3211 } |
|
3212 else |
|
3213 todo(false, "runTextInputTests() checks Windows only"); |
|
3214 |
|
3215 // XXX We need to move focus for canceling to search the autocomplete |
|
3216 // result. If we don't do here, Fx will crash at end of this tests. |
|
3217 document.getElementById("button").focus(); |
|
3218 } |
|
3219 |
|
3220 function runTest() |
|
3221 { |
|
3222 if (!IS_MAC && !IS_WIN) { |
|
3223 todo(false, "This test is supported on MacOSX and Windows only. (Bug 431503)"); |
|
3224 return; |
|
3225 } |
|
3226 |
|
3227 SimpleTest.waitForExplicitFinish(); |
|
3228 |
|
3229 clearInfobars(); |
|
3230 |
|
3231 runKeyEventTests(); |
|
3232 runAccessKeyTests(); |
|
3233 runXULKeyTests(); |
|
3234 runTextInputTests(); |
|
3235 |
|
3236 SimpleTest.finish(); |
|
3237 } |
|
3238 |
|
3239 ]]> |
|
3240 </script> |
|
3241 |
|
3242 </window> |