KeyHandling¶
One day computers will be controlled with the power of our minds. Until that point in time, the main way of interacting with the computer is via the keyboard and mouse.
Keyhandling differs between browsers, therefore Gamma provides some convenience
methods that the game developer can use to create keybindings that work across
different browsers. This is provided by the gma.keyHandler
object.
How to use it¶
The gma.keyHandler.register
function allows you to register a
function to be called, when a particular button is pressed.
Note
You need to register against a keycode – like ‘65’, rather than ‘a’ – so a list of common keycodes is listed at the end of this page.
When the button is pressed (or released), the function will be called with the event object that is generated by the keypress. This event object can used to determine whether the key was pressed or released.
gma.keyHandler.register(65, function(event) {
if (event.type==="keyup") {
alert('You pressed a');
}
});
The keyHandler also has gma.keyHandler.reset
and
gma.keyHandler.numEvents
functions. The gma.keyHandler.reset
function can be used to remove all previously registered bindings and the
gma.keyHandler.numEvents
method will give you the number of bindings
registered for a particular key.
// This will say 0 because nothing is registered for code 70 yet
alert(gma.keyHandler.numEvents(70));
// Set a binding for the 'e' button
gma.keyHandler.register(70, function(event) { alert('You pressed e');});
// Now it will say 1 because we just registered one
alert(gma.keyHandler.numEvents(70));
// Remove all currently registered bindings
gma.keyHandler.reset()
// And it will say 0 again, because we removed all the bindings
alert(gma.keyHandler.numEvents(70));
KeyCodes¶
Cursor Keys¶
Key |
Code |
---|---|
Cursor Left |
37 |
Cursor Down |
40 |
Cursor Right |
39 |
Cursor Up |
38 |
KeyPad¶
Key |
Code |
---|---|
0 -> 9 |
96 -> 105 |
. |
110 |
Enter |
13 |
/ |
111 |
* |
106 |
- |
109 |
+ |
107 |
Modifiers¶
Key |
Code |
---|---|
Shift |
16 |
Ctrl |
17 |
Alt |
18 |
Special Keys¶
Key |
Code |
---|---|
BackSpace |
8 |
Tab |
9 |
Enter |
13 |
Caps Lock |
20 |
Esc |
27 |
SpaceBar |
32 |
Delete |
46 |
Page Up |
33 |
Page Down |
34 |
End |
35 |
Home |
36 |
Insert |
45 |
Windows Key |
92 |
F1 -> F12 |
112 -> 123 |
Formatting¶
Key |
Code |
---|---|
` and ~ |
192 |
- and _ |
189 |
= and + |
187 |
\ and | |
220 |
Numbers and Letters¶
Key |
Code |
---|---|
0 -> 9 |
48 -> 57 |
a -> z |
65 -> 90 |