<html>
<body>
<p>This page is especially useful to test <a href="http://bugs.webkit.org/show_bug.cgi?id=5678">the shift-Tab issue</a>. Should see a code of 9.</p>
<form name="f">
Type here: <input id="field" type="text" />
</form>
<script language="javascript" type="text/javascript">
<!--
function logEvent(event) {
    myDebugLog("--");
    if (event.charCode)
        myDebugLog("event.charCode: " + event.charCode);
    if (event.which)
        myDebugLog("event.which: " + event.which);
    if (event.keyCode)
        myDebugLog("event.keyCode: " + event.keyCode);
    myDebugLog("shiftKey: " + event.shiftKey);
    return false;
}

function myDebugLog(msg) {
    var m = document.createElement("div");
    m.appendChild(document.createTextNode(msg));
    document.getElementById("debug-log").appendChild(m);
}
document.f.field.onkeypress = logEvent;
// -->
</script>

<div id="debug-log">
Key press values:
</div>
</body>
</html>