diff --git a/src/video/win32/SDL_win32events.c b/src/video/win32/SDL_win32events.c index 452cc56f8a53d5207c1fa66fc602a0bbe4b01307..4fb929d358d94b6e6f97a076dd75b915cd377eb0 100755 --- a/src/video/win32/SDL_win32events.c +++ b/src/video/win32/SDL_win32events.c @@ -83,10 +83,14 @@ RemapVKEY(WPARAM wParam, LPARAM lParam) except they don't have the extended bit (0x1000000) set. */ if (!(lParam & 0x1000000)) { - for (i = 0; i < SDL_arraysize(keypad_scancodes); ++i) { - if (scancode == keypad_scancodes[i]) { - wParam = VK_NUMPAD0 + i; - break; + if (wParam == VK_DELETE) { + wParam = VK_DECIMAL; + } else { + for (i = 0; i < SDL_arraysize(keypad_scancodes); ++i) { + if (scancode == keypad_scancodes[i]) { + wParam = VK_NUMPAD0 + i; + break; + } } } } diff --git a/src/video/win32/SDL_win32keyboard.c b/src/video/win32/SDL_win32keyboard.c index fb4e0ff41b55aa8829867f34a3226fe6b2099099..5a7523b02a0af034646762b6e45983143b98b36f 100644 --- a/src/video/win32/SDL_win32keyboard.c +++ b/src/video/win32/SDL_win32keyboard.c @@ -101,8 +101,7 @@ WIN_UpdateKeymap() /* Make sure this scancode is a valid character scancode */ scancode = win32_scancode_table[i]; - if (scancode == SDL_SCANCODE_UNKNOWN || - (keymap[scancode] & SDLK_SCANCODE_MASK)) { + if (scancode == SDL_SCANCODE_UNKNOWN || keymap[scancode] >= 127) { continue; }