aboutsummaryrefslogtreecommitdiff
path: root/src/library_sdl.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-03-21 17:25:32 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-03-21 17:25:32 -0700
commit8b3c98426ac75d0b4ad21d3f8a22082773577997 (patch)
treefbf1ab2c00feb9983ea6dac16d1ff6f82f8217a5 /src/library_sdl.js
parent4132f1e42a0c4bb40afc7aca2f0d2e0671477efa (diff)
support for SDL_GetKeyboardState
Diffstat (limited to 'src/library_sdl.js')
-rw-r--r--src/library_sdl.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/library_sdl.js b/src/library_sdl.js
index d2563a0d..e78de6fa 100644
--- a/src/library_sdl.js
+++ b/src/library_sdl.js
@@ -89,7 +89,9 @@ mergeInto(LibraryManager.library, {
musics: [null],
fonts: [null],
- keyCodes: {
+ keyboardState: null,
+
+ keyCodes: { // DOM code ==> SDL code
38: 273, // up arrow
40: 274, // down arrow
37: 276, // left arrow
@@ -217,6 +219,7 @@ mergeInto(LibraryManager.library, {
case 'keydown': case 'keyup':
//print('zz receive Event: ' + event.keyCode);
SDL.events.push(event);
+ {{{ makeSetValue('SDL.keyboardState', 'SDL.keyCodes[event.keyCode] || event.keyCode', 'event.type == "keydown"', 'i8') }}};
}
//event.preventDefault();
return false;
@@ -260,6 +263,8 @@ mergeInto(LibraryManager.library, {
['keydown', 'keyup', 'keypress'].forEach(function(event) {
addEventListener(event, SDL.receiveEvent, true);
});
+ SDL.keyboardState = _malloc(0x10000);
+ _memset(SDL.keyboardState, 0, 0x10000);
return 0; // success
},
@@ -392,6 +397,10 @@ mergeInto(LibraryManager.library, {
// TODO
},
+ SDL_GetKeyboardState: function() {
+ return SDL.keyboardState;
+ },
+
SDL_ShowCursor: function(toggle) {
// TODO
},