|
1 | 1 | <!DOCTYPE html>
|
2 | 2 | <!-- Simple keyboard state handler, Vincent Scheib. -->
|
3 | 3 | <!-- Adapted from http://www.cryer.co.uk/resources/javascript/script20_respond_to_keypress.htm -->
|
4 |
| -<html><body> |
| 4 | +<html><body> |
5 | 5 | <table border="1" cellspacing="0">
|
6 | 6 | <tbody><tr>
|
7 | 7 | <th>KeyDown</th>
|
|
15 | 15 | </tr>
|
16 | 16 | </tbody></table>
|
17 | 17 | <pre id="keyStateDisplay">No key events captured yet.</pre>
|
| 18 | +<div id="keyLog"></div> |
18 | 19 | <script type="text/javascript">
|
19 | 20 | var keyStateDict = {};
|
20 |
| -function displayKeyState() |
| 21 | +function displayKeyState() |
21 | 22 | {
|
22 | 23 | var s = document.getElementById("keyStateDisplay");
|
23 | 24 | var ss = JSON.stringify(keyStateDict);
|
24 | 25 | var re = new RegExp("[,{}] *", "g");
|
25 | 26 | ss = ss.replace(re, "\n");
|
26 | 27 | s.innerHTML = ss;
|
27 | 28 | }
|
| 29 | +function updateKeyState(event, description) |
| 30 | +{ |
| 31 | + keyStateDict[GetCodeFor(event)] = description; |
| 32 | + displayKeyState(); |
| 33 | +} |
28 | 34 | function GetCodeFor(e)
|
29 | 35 | {
|
30 | 36 | if ((e.charCode) && (e.keyCode==0))
|
|
52 | 58 | if (e.shiftKey) result += " shift";
|
53 | 59 | if (e.ctrlKey) result += " ctrl";
|
54 | 60 | if (e.altKey) result += " alt";
|
55 |
| - |
| 61 | + |
56 | 62 | return result;
|
57 | 63 | }
|
58 | 64 | function MonitorKeyDown(e)
|
|
61 | 67 | var cell = document.getElementById("td-keydown");
|
62 | 68 | d = GetDescriptionFor(e);
|
63 | 69 | cell.innerHTML = d;
|
64 |
| - keyStateDict[GetCodeFor(e)] = d + " == DOWN"; |
65 |
| - displayKeyState(); |
| 70 | + updateKeyState(e, d + " == DOWN"); |
66 | 71 | return false;
|
67 | 72 | }
|
68 | 73 | function MonitorKeyUp(e)
|
|
71 | 76 | var cell = document.getElementById("td-keyup");
|
72 | 77 | d = GetDescriptionFor(e);
|
73 | 78 | cell.innerHTML = d;
|
74 |
| - keyStateDict[GetCodeFor(e)] = d + " == up"; |
75 |
| - displayKeyState(); |
| 79 | + updateKeyState(e, d + " == up"); |
76 | 80 | return false;
|
77 | 81 | }
|
78 | 82 | function MonitorKeyPress(e)
|
|
0 commit comments