diff --git a/Windows/KeyboardDevice.cpp b/Windows/KeyboardDevice.cpp index 34edf576c2..2eae3a9e37 100644 --- a/Windows/KeyboardDevice.cpp +++ b/Windows/KeyboardDevice.cpp @@ -144,27 +144,7 @@ int KeyboardDevice::UpdateState(InputState &input_state) { } } } - - for (size_t i = 0; i < downKeys.size(); i++) { - KeyInput key; - key.deviceId = DEVICE_ID_KEYBOARD; - key.flags = KEY_DOWN; - key.keyCode = windowsTransTable[downKeys[i]]; - if (key.keyCode) - NativeKey(key); - } - downKeys.clear(); - - for (size_t i = 0; i < upKeys.size(); i++) { - KeyInput key; - key.deviceId = DEVICE_ID_KEYBOARD; - key.flags = KEY_UP; - key.keyCode = windowsTransTable[upKeys[i]]; - if (key.keyCode) - NativeKey(key); - } - upKeys.clear(); - + return 0; } diff --git a/Windows/KeyboardDevice.h b/Windows/KeyboardDevice.h index 5b03152c53..831351457b 100644 --- a/Windows/KeyboardDevice.h +++ b/Windows/KeyboardDevice.h @@ -9,14 +9,5 @@ public: virtual int UpdateState(InputState &input_state); virtual bool IsPad() { return false; } - virtual void KeyDown(int keycode) { - downKeys.push_back(keycode); - } - virtual void KeyUp(int keycode) { - upKeys.push_back(keycode); - } - private: - std::vector downKeys; - std::vector upKeys; }; diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index 52af4cfec3..12749bfb8f 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -3,6 +3,8 @@ #include #include +#include + #include "base/NativeApp.h" #include "Globals.h" @@ -46,6 +48,7 @@ #define ENABLE_TOUCH 0 +extern std::map windowsTransTable; BOOL g_bFullScreen = FALSE; static RECT g_normalRC = {0}; extern bool g_TakeScreenshot; @@ -800,19 +803,23 @@ namespace MainWindow case WM_KEYDOWN: { - // Ugly - WindowsHost *whost = static_cast(host); - int vkey = wParam; - whost->keyboard->KeyDown(vkey); + KeyInput key; + key.deviceId = DEVICE_ID_KEYBOARD; + key.flags = KEY_DOWN; + key.keyCode = windowsTransTable[(int)wParam]; + if (key.keyCode) + NativeKey(key); } return 0; case WM_KEYUP: { - // Ugly - WindowsHost *whost = static_cast(host); - int vkey = wParam; - whost->keyboard->KeyUp(vkey); + KeyInput key; + key.deviceId = DEVICE_ID_KEYBOARD; + key.flags = KEY_UP; + key.keyCode = windowsTransTable[(int)wParam]; + if (key.keyCode) + NativeKey(key); } return 0;