Browse Source

Key repeat gets seconds too

Bart van Strien 13 years ago
parent
commit
1503533ee6
2 changed files with 8 additions and 5 deletions
  1. 2 2
      src/modules/keyboard/sdl/Keyboard.cpp
  2. 6 3
      src/modules/keyboard/wrap_Keyboard.cpp

+ 2 - 2
src/modules/keyboard/sdl/Keyboard.cpp

@@ -57,14 +57,14 @@ namespace sdl
 
 	int Keyboard::getKeyRepeatDelay() const
 	{
-		int delay, interval = 0;
+		int delay, interval;
 		SDL_GetKeyRepeat(&delay, &interval);
 		return delay;
 	}
 
 	int Keyboard::getKeyRepeatInterval() const
 	{
-		int delay, interval = 0;
+		int delay, interval;
 		SDL_GetKeyRepeat(&delay, &interval);
 		return interval;
 	}

+ 6 - 3
src/modules/keyboard/wrap_Keyboard.cpp

@@ -58,14 +58,17 @@ namespace keyboard
 			return 0;
 		}
 
-		instance->setKeyRepeat(luaL_optint(L, 1, Keyboard::DEFAULT), luaL_optint(L, 2, Keyboard::DEFAULT));
+		lua_Number delay = luaL_optnumber(L, 1, Keyboard::DEFAULT) * 1000 + 0.5;
+		lua_Number interval = luaL_optnumber(L, 2, Keyboard::DEFAULT) * 1000 + 0.5;
+
+		instance->setKeyRepeat((int) delay, (int) interval);
 		return 0;
 	}
 
 	int w_getKeyRepeat(lua_State * L)
 	{
-		lua_pushnumber(L, instance->getKeyRepeatDelay());
-		lua_pushnumber(L, instance->getKeyRepeatInterval());
+		lua_pushnumber(L, (lua_Number) instance->getKeyRepeatDelay() * 0.001);
+		lua_pushnumber(L, (lua_Number) instance->getKeyRepeatInterval() * 0.001);
 		return 2;
 	}