diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-03-21 17:25:32 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-03-21 17:25:32 -0700 |
commit | 8b3c98426ac75d0b4ad21d3f8a22082773577997 (patch) | |
tree | fbf1ab2c00feb9983ea6dac16d1ff6f82f8217a5 /src/library_sdl.js | |
parent | 4132f1e42a0c4bb40afc7aca2f0d2e0671477efa (diff) |
support for SDL_GetKeyboardState
Diffstat (limited to 'src/library_sdl.js')
-rw-r--r-- | src/library_sdl.js | 11 |
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 }, |