mirror of
https://github.com/yawut/SDL.git
synced 2026-08-22 16:55:29 -05:00
Only modifier key state is noted when X11 window opens
This commit is contained in:
@@ -833,6 +833,30 @@ static int X11_CreateWindow(_THIS, SDL_Surface *screen,
|
||||
/* Update the internal keyboard state */
|
||||
X11_SetKeyboardState(SDL_Display, NULL);
|
||||
|
||||
/* When the window is first mapped, ignore non-modifier keys */
|
||||
{
|
||||
Uint8 *keys = SDL_GetKeyState(NULL);
|
||||
for ( i = 0; i < SDLK_LAST; ++i ) {
|
||||
switch (i) {
|
||||
case SDLK_NUMLOCK:
|
||||
case SDLK_CAPSLOCK:
|
||||
case SDLK_LCTRL:
|
||||
case SDLK_RCTRL:
|
||||
case SDLK_LSHIFT:
|
||||
case SDLK_RSHIFT:
|
||||
case SDLK_LALT:
|
||||
case SDLK_RALT:
|
||||
case SDLK_LMETA:
|
||||
case SDLK_RMETA:
|
||||
case SDLK_MODE:
|
||||
break;
|
||||
default:
|
||||
keys[i] = SDL_RELEASED;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Map them both and go fullscreen, if requested */
|
||||
if ( ! SDL_windowid ) {
|
||||
XMapWindow(SDL_Display, SDL_Window);
|
||||
|
||||
Reference in New Issue
Block a user