aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library_sdl.js6
-rw-r--r--tests/sdl_key.c1
2 files changed, 6 insertions, 1 deletions
diff --git a/src/library_sdl.js b/src/library_sdl.js
index d27ae1b2..efcb377a 100644
--- a/src/library_sdl.js
+++ b/src/library_sdl.js
@@ -102,6 +102,9 @@ var LibrarySDL = {
37: 1104, // left arrow
39: 1103, // right arrow
+ 33: 1099, // pagedup
+ 34: 1102, // pagedown
+
17: 305, // control (right, or left)
18: 308, // alt
109: 45, // minus
@@ -338,6 +341,7 @@ var LibrarySDL = {
switch(event.type) {
case 'keydown': case 'keyup': {
var down = event.type === 'keydown';
+ //Module.print('Received key event: ' + event.keyCode);
var key = SDL.keyCodes[event.keyCode] || event.keyCode;
if (key >= 65 && key <= 90) {
key = String.fromCharCode(key).toLowerCase().charCodeAt(0);
@@ -348,7 +352,7 @@ var LibrarySDL = {
{{{ makeSetValue('ptr', 'SDL.structs.KeyboardEvent.state', 'down ? 1 : 0', 'i8') }}}
{{{ makeSetValue('ptr', 'SDL.structs.KeyboardEvent.repeat', '0', 'i8') }}} // TODO
- {{{ makeSetValue('ptr', 'SDL.structs.KeyboardEvent.keysym + SDL.structs.keysym.scancode', 'scan', 'i8') }}}
+ {{{ makeSetValue('ptr', 'SDL.structs.KeyboardEvent.keysym + SDL.structs.keysym.scancode', 'scan', 'i32') }}}
{{{ makeSetValue('ptr', 'SDL.structs.KeyboardEvent.keysym + SDL.structs.keysym.sym', 'key', 'i32') }}}
{{{ makeSetValue('ptr', 'SDL.structs.KeyboardEvent.keysym + SDL.structs.keysym.mod', '0', 'i32') }}}
//{{{ makeSetValue('ptr', 'SDL.structs.KeyboardEvent.keysym + SDL.structs.keysym.unicode', 'key', 'i32') }}}
diff --git a/tests/sdl_key.c b/tests/sdl_key.c
index 6a5ad694..f82f8e72 100644
--- a/tests/sdl_key.c
+++ b/tests/sdl_key.c
@@ -23,6 +23,7 @@ void one() {
if (event.key.keysym.scancode == SDL_SCANCODE_B) {
printf("b scancode\n"); result *= 17; break;
}
+ printf("unknown key: sym %d scancode %d\n", event.key.keysym.sym, event.key.keysym.scancode);
REPORT_RESULT();
emscripten_run_script("throw 'done'");
}