| <html> |
| <head> |
| <script> |
| |
| function keyLocationToText(location) |
| { |
| switch (location) { |
| case KeyboardEvent.DOM_KEY_LOCATION_STANDARD: |
| return "DOM_KEY_LOCATION_STANDARD"; |
| case KeyboardEvent.DOM_KEY_LOCATION_LEFT: |
| return "DOM_KEY_LOCATION_LEFT"; |
| case KeyboardEvent.DOM_KEY_LOCATION_RIGHT: |
| return "DOM_KEY_LOCATION_RIGHT"; |
| case KeyboardEvent.DOM_KEY_LOCATION_NUMPAD: |
| return "DOM_KEY_LOCATION_NUMPAD"; |
| case KeyboardEvent.DOM_KEY_LOCATION_MOBILE: |
| return "DOM_KEY_LOCATION_MOBILE"; |
| case KeyboardEvent.DOM_KEY_LOCATION_JOYSTICK: |
| return "DOM_KEY_LOCATION_JOYSTICK"; |
| default: |
| return "" + location |
| } |
| } |
| |
| function keyevent(event) { |
| var p = document.createElement("p"); |
| p.appendChild(document.createTextNode(event.type + " - key: " + event.keyIdentifier + "@" + keyLocationToText(event.location) + " (keyCode/charCode: " + event.keyCode + "/" + event.charCode + ")" + " modifiers: " + event.ctrlKey + "," + event.altKey + "," + event.shiftKey + "," + event.metaKey)); |
| document.getElementById("result").appendChild(p); |
| } |
| |
| function init() { |
| var input = document.getElementById("testinput"); |
| input.addEventListener("keydown", keyevent, true); |
| input.addEventListener("keypress", keyevent, true); |
| input.addEventListener("keyup", keyevent, true); |
| |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| input.focus(); |
| if (window.eventSender) { |
| eventSender.keyDown("\t"); |
| eventSender.keyDown("\t", new Array("shiftKey")); |
| } |
| } |
| </script> |
| </head> |
| <body onload="init()"> |
| <form> |
| <input type="text" size="50" id="testinput" /> |
| <input type="text" size="50" /> |
| </form> |
| |
| <p>This tests that DOMKeyboardEvents are created correctly in the JavaScript API.</p> |
| |
| <div id="result"></div> |
| </body> |
| </html> |