Stop printing arrow keys etc , and print repeated keys faster

This commit is contained in:
alzeih
2010-06-18 16:04:30 +12:00
parent 981a6b65a7
commit 5922a6c446

View File

@@ -74,7 +74,7 @@ namespace OpenRA.GlRenderer
Sdl.SDL_WM_SetCaption("OpenRA", "OpenRA");
Sdl.SDL_ShowCursor(0);
Sdl.SDL_EnableUNICODE(1);
Sdl.SDL_EnableKeyRepeat(Sdl.SDL_DEFAULT_REPEAT_INTERVAL, Sdl.SDL_DEFAULT_REPEAT_DELAY);
Sdl.SDL_EnableKeyRepeat(Sdl.SDL_DEFAULT_REPEAT_INTERVAL, Sdl.SDL_DEFAULT_REPEAT_DELAY/10);
CheckGlError();
@@ -195,6 +195,7 @@ namespace OpenRA.GlRenderer
case Sdl.SDL_KEYDOWN:
{
bool handled = true;
switch (e.key.keysym.sym)
{
case Sdl.SDLK_UP: Game.HandleArrowKeyScroll("up", true); break;
@@ -205,10 +206,13 @@ namespace OpenRA.GlRenderer
case Sdl.SDLK_F13:
string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + Path.DirectorySeparatorChar + DateTime.UtcNow.ToString("OpenRA-yyyy-MM-ddThhmmssZ")+".bmp";
Sdl.SDL_SaveBMP(surf,path);
break;
break;
default:
handled = false;
break;
}
if (e.key.keysym.unicode != 0)
if (e.key.keysym.unicode != 0 && !handled)
Game.HandleKeyPress(new KeyPressEventArgs((char)e.key.keysym.unicode), mods);
else if (mods != 0)