aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorUsagi Ito <usagi@WonderRabbitProject.net>2014-04-16 11:58:39 +0900
committerUsagi Ito <usagi@WonderRabbitProject.net>2014-04-16 21:09:18 +0900
commit2ad10704eb9102b4f7781528b16c508f3e5c3410 (patch)
treebbe11f851ec1ecc2797c85adb35f7df9ad800dba /src
parent6960d2296299e96d43e694806f5d35799ef8d39c (diff)
fix SDL_GetKeyboardState not based on scanCode bug
Diffstat (limited to 'src')
-rw-r--r--src/library_sdl.js5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/library_sdl.js b/src/library_sdl.js
index cadc3aee..0704dbab 100644
--- a/src/library_sdl.js
+++ b/src/library_sdl.js
@@ -539,8 +539,11 @@ var LibrarySDL = {
} else {
code = SDL.keyCodes[event.keyCode] || event.keyCode;
}
+
+ var scan = code & ~(1 << 10);
+ scan = SDL.scanCodes[scan] || scan;
- {{{ makeSetValue('SDL.keyboardState', 'code', 'down', 'i8') }}};
+ {{{ makeSetValue('SDL.keyboardState', 'scan', 'down', 'i8') }}};
// TODO: lmeta, rmeta, numlock, capslock, KMOD_MODE, KMOD_RESERVED
SDL.modState = ({{{ makeGetValue('SDL.keyboardState', '1248', 'i8') }}} ? 0x0040 | 0x0080 : 0) | // KMOD_LCTRL & KMOD_RCTRL
({{{ makeGetValue('SDL.keyboardState', '1249', 'i8') }}} ? 0x0001 | 0x0002 : 0) | // KMOD_LSHIFT & KMOD_RSHIFT