diff --git a/emcc.c b/emcc.c index 77e7ded..33f7608 100644 --- a/emcc.c +++ b/emcc.c @@ -262,7 +262,7 @@ void mousemove(int x, int y, int buttons) /* * Keyboard handler called from JS. */ -void key(int keycode, int charcode, const char *key, const char *chr, +void key(int keycode, const char *key, const char *chr, bool shift, bool ctrl) { int keyevent = -1; diff --git a/emccpre.js b/emccpre.js index 96a9af8..2a71875 100644 --- a/emccpre.js +++ b/emccpre.js @@ -311,10 +311,10 @@ function initPuzzle() { // the puzzle - so users of this puzzle collection in other media // can indulge their instinct to press ^R for redo, for example, // without accidentally reloading the page. - key = Module.cwrap('key', 'void', ['number', 'number', 'string', + key = Module.cwrap('key', 'void', ['number', 'string', 'string', 'number', 'number']); onscreen_canvas.onkeydown = function(event) { - key(event.keyCode, event.charCode, event.key, event.char, + key(event.keyCode, event.key, event.char, event.shiftKey ? 1 : 0, event.ctrlKey ? 1 : 0); event.preventDefault(); };