Index: src/video/windib/SDL_dibevents.c =================================================================== --- src/video/windib/SDL_dibevents.c (revision 4067) +++ src/video/windib/SDL_dibevents.c (working copy) @@ -494,7 +494,7 @@ Uint16 wchars[2]; GetKeyboardState(keystate); - if (SDL_ToUnicode((UINT)vkey, scancode, keystate, wchars, sizeof(wchars)/sizeof(wchars[0]), 0) == 1) + if (SDL_ToUnicode((UINT)vkey, scancode, keystate, wchars, sizeof(wchars)/sizeof(wchars[0]), 0) > 0) { keysym->unicode = wchars[0]; } Index: src/video/windx5/SDL_dx5events.c =================================================================== --- src/video/windx5/SDL_dx5events.c (revision 4067) +++ src/video/windx5/SDL_dx5events.c (working copy) @@ -840,7 +840,7 @@ keysym->unicode = vkey; #else GetKeyboardState(keystate); - if (SDL_ToUnicode(vkey, scancode, keystate, wchars, sizeof(wchars)/sizeof(wchars[0]), 0) == 1) + if (SDL_ToUnicode(vkey, scancode, keystate, wchars, sizeof(wchars)/sizeof(wchars[0]), 0) > 0) { keysym->unicode = wchars[0]; }