-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDTSudokuBridgeKeyboardJavascript.js
More file actions
125 lines (108 loc) · 2.23 KB
/
DTSudokuBridgeKeyboardJavascript.js
File metadata and controls
125 lines (108 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
DTSudokuBridgeKeyboardJavascript = ((function () {
"use strict";
var keysBeingPressed = [];
var mapKeyToCanonicalKey = function (key) {
if (key === "A")
return "a";
if (key === "B")
return "b";
if (key === "C")
return "c";
if (key === "D")
return "d";
if (key === "E")
return "e";
if (key === "F")
return "f";
if (key === "G")
return "g";
if (key === "H")
return "h";
if (key === "I")
return "i";
if (key === "J")
return "j";
if (key === "K")
return "k";
if (key === "L")
return "l";
if (key === "M")
return "m";
if (key === "N")
return "n";
if (key === "O")
return "o";
if (key === "P")
return "p";
if (key === "Q")
return "q";
if (key === "R")
return "r";
if (key === "S")
return "s";
if (key === "T")
return "t";
if (key === "U")
return "u";
if (key === "V")
return "v";
if (key === "W")
return "w";
if (key === "X")
return "x";
if (key === "Y")
return "y";
if (key === "Z")
return "z";
if (key === "!")
return "1";
if (key === "@")
return "2";
if (key === "#")
return "3";
if (key === "$")
return "4";
if (key === "%")
return "5";
if (key === "^")
return "6";
if (key === "&")
return "7";
if (key === "*")
return "8";
if (key === "(")
return "9";
if (key === ")")
return "0";
return key;
};
var keyDownHandler = function (e) {
var key = mapKeyToCanonicalKey(e.key);
for (var i = 0; i < keysBeingPressed.length; i++) {
if (keysBeingPressed[i] === key)
return;
}
keysBeingPressed.push(key);
};
var keyUpHandler = function (e) {
var key = mapKeyToCanonicalKey(e.key);
var newArray = [];
for (var i = 0; i < keysBeingPressed.length; i++) {
if (keysBeingPressed[i] !== key)
newArray.push(keysBeingPressed[i]);
}
keysBeingPressed = newArray;
};
document.addEventListener("keydown", function (e) { keyDownHandler(e); }, false);
document.addEventListener("keyup", function (e) { keyUpHandler(e); }, false);
var isKeyPressed = function (k) {
for (var i = 0; i < keysBeingPressed.length; i++) {
if (keysBeingPressed[i] === k)
return true;
}
return false;
};
return {
isKeyPressed: isKeyPressed
};
})());