Remove KeyboardDevice which was essentially useless
Refactor InputDevice to simplify it
This commit is contained in:
parent
1acaec2494
commit
0b5458f759
13 changed files with 127 additions and 182 deletions
|
@ -1874,8 +1874,6 @@ set(WindowsFiles
|
|||
Windows/InputBox.h
|
||||
Windows/InputDevice.cpp
|
||||
Windows/InputDevice.h
|
||||
Windows/KeyboardDevice.cpp
|
||||
Windows/KeyboardDevice.h
|
||||
Windows/W32Util/DialogManager.cpp
|
||||
Windows/W32Util/DialogManager.h
|
||||
Windows/W32Util/Misc.cpp
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
UWPHost::UWPHost() {
|
||||
|
||||
// add first XInput device to respond
|
||||
input.push_back(std::shared_ptr<InputDevice>(new XinputDevice()));
|
||||
input.push_back(std::make_unique<XinputDevice>());
|
||||
}
|
||||
|
||||
UWPHost::~UWPHost() {
|
||||
|
@ -86,14 +86,10 @@ void UWPHost::SetDebugMode(bool mode) {
|
|||
}
|
||||
|
||||
void UWPHost::PollControllers() {
|
||||
bool doPad = true;
|
||||
for (auto iter = this->input.begin(); iter != this->input.end(); iter++)
|
||||
for (const auto& device : this->input)
|
||||
{
|
||||
auto device = *iter;
|
||||
if (!doPad && device->IsPad())
|
||||
continue;
|
||||
if (device->UpdateState() == InputDevice::UPDATESTATE_SKIP_PAD)
|
||||
doPad = false;
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -45,5 +45,5 @@ private:
|
|||
void SetConsolePosition();
|
||||
void UpdateConsolePosition();
|
||||
|
||||
std::list<std::shared_ptr<InputDevice>> input;
|
||||
std::list<std::unique_ptr<InputDevice>> input;
|
||||
};
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "InputDevice.h"
|
||||
#include "dinput.h"
|
||||
|
||||
class DinputDevice :
|
||||
class DinputDevice final :
|
||||
public InputDevice
|
||||
{
|
||||
public:
|
||||
|
@ -32,8 +32,7 @@ public:
|
|||
//getDevices(), enumerates all devices if not done yet
|
||||
DinputDevice(int devnum);
|
||||
~DinputDevice();
|
||||
virtual int UpdateState();
|
||||
virtual bool IsPad() { return true; }
|
||||
virtual int UpdateState() override;
|
||||
static size_t getNumPads();
|
||||
static void CheckDevices() {
|
||||
needsCheck_ = true;
|
||||
|
|
|
@ -26,7 +26,6 @@ class InputDevice {
|
|||
public:
|
||||
enum { UPDATESTATE_SKIP_PAD = 0x1234};
|
||||
virtual int UpdateState() = 0;
|
||||
virtual bool IsPad() = 0;
|
||||
|
||||
static void BeginPolling();
|
||||
static void StopPolling();
|
||||
|
|
|
@ -1,126 +0,0 @@
|
|||
#include "base/NativeApp.h"
|
||||
#include "input/input_state.h"
|
||||
#include "input/keycodes.h"
|
||||
#include "util/const_map.h"
|
||||
#include "KeyMap.h"
|
||||
#include "KeyboardDevice.h"
|
||||
#include "../Common/CommonTypes.h"
|
||||
#include "../Common/CommonWindows.h"
|
||||
|
||||
|
||||
// TODO: More keys need to be added, but this is more than
|
||||
// a fair start.
|
||||
std::map<int, int> windowsTransTable = InitConstMap<int, int>
|
||||
('A', NKCODE_A)
|
||||
('B', NKCODE_B)
|
||||
('C', NKCODE_C)
|
||||
('D', NKCODE_D)
|
||||
('E', NKCODE_E)
|
||||
('F', NKCODE_F)
|
||||
('G', NKCODE_G)
|
||||
('H', NKCODE_H)
|
||||
('I', NKCODE_I)
|
||||
('J', NKCODE_J)
|
||||
('K', NKCODE_K)
|
||||
('L', NKCODE_L)
|
||||
('M', NKCODE_M)
|
||||
('N', NKCODE_N)
|
||||
('O', NKCODE_O)
|
||||
('P', NKCODE_P)
|
||||
('Q', NKCODE_Q)
|
||||
('R', NKCODE_R)
|
||||
('S', NKCODE_S)
|
||||
('T', NKCODE_T)
|
||||
('U', NKCODE_U)
|
||||
('V', NKCODE_V)
|
||||
('W', NKCODE_W)
|
||||
('X', NKCODE_X)
|
||||
('Y', NKCODE_Y)
|
||||
('Z', NKCODE_Z)
|
||||
('0', NKCODE_0)
|
||||
('1', NKCODE_1)
|
||||
('2', NKCODE_2)
|
||||
('3', NKCODE_3)
|
||||
('4', NKCODE_4)
|
||||
('5', NKCODE_5)
|
||||
('6', NKCODE_6)
|
||||
('7', NKCODE_7)
|
||||
('8', NKCODE_8)
|
||||
('9', NKCODE_9)
|
||||
(VK_OEM_PERIOD, NKCODE_PERIOD)
|
||||
(VK_OEM_COMMA, NKCODE_COMMA)
|
||||
(VK_NUMPAD0, NKCODE_NUMPAD_0)
|
||||
(VK_NUMPAD1, NKCODE_NUMPAD_1)
|
||||
(VK_NUMPAD2, NKCODE_NUMPAD_2)
|
||||
(VK_NUMPAD3, NKCODE_NUMPAD_3)
|
||||
(VK_NUMPAD4, NKCODE_NUMPAD_4)
|
||||
(VK_NUMPAD5, NKCODE_NUMPAD_5)
|
||||
(VK_NUMPAD6, NKCODE_NUMPAD_6)
|
||||
(VK_NUMPAD7, NKCODE_NUMPAD_7)
|
||||
(VK_NUMPAD8, NKCODE_NUMPAD_8)
|
||||
(VK_NUMPAD9, NKCODE_NUMPAD_9)
|
||||
(VK_DECIMAL, NKCODE_NUMPAD_DOT)
|
||||
(VK_DIVIDE, NKCODE_NUMPAD_DIVIDE)
|
||||
(VK_MULTIPLY, NKCODE_NUMPAD_MULTIPLY)
|
||||
(VK_SUBTRACT, NKCODE_NUMPAD_SUBTRACT)
|
||||
(VK_ADD, NKCODE_NUMPAD_ADD)
|
||||
(VK_SEPARATOR, NKCODE_NUMPAD_COMMA)
|
||||
(VK_OEM_MINUS, NKCODE_MINUS)
|
||||
(VK_OEM_PLUS, NKCODE_PLUS)
|
||||
(VK_LCONTROL, NKCODE_CTRL_LEFT)
|
||||
(VK_RCONTROL, NKCODE_CTRL_RIGHT)
|
||||
(VK_LSHIFT, NKCODE_SHIFT_LEFT)
|
||||
(VK_RSHIFT, NKCODE_SHIFT_RIGHT)
|
||||
(VK_LMENU, NKCODE_ALT_LEFT)
|
||||
(VK_RMENU, NKCODE_ALT_RIGHT)
|
||||
(VK_BACK, NKCODE_DEL) // yes! http://stackoverflow.com/questions/4886858/android-edittext-deletebackspace-key-event
|
||||
(VK_SPACE, NKCODE_SPACE)
|
||||
(VK_ESCAPE, NKCODE_ESCAPE)
|
||||
(VK_UP, NKCODE_DPAD_UP)
|
||||
(VK_INSERT, NKCODE_INSERT)
|
||||
(VK_HOME, NKCODE_MOVE_HOME)
|
||||
(VK_PRIOR, NKCODE_PAGE_UP)
|
||||
(VK_NEXT, NKCODE_PAGE_DOWN)
|
||||
(VK_DELETE, NKCODE_FORWARD_DEL)
|
||||
(VK_END, NKCODE_MOVE_END)
|
||||
(VK_TAB, NKCODE_TAB)
|
||||
(VK_DOWN, NKCODE_DPAD_DOWN)
|
||||
(VK_LEFT, NKCODE_DPAD_LEFT)
|
||||
(VK_RIGHT, NKCODE_DPAD_RIGHT)
|
||||
(VK_CAPITAL, NKCODE_CAPS_LOCK)
|
||||
(VK_CLEAR, NKCODE_CLEAR)
|
||||
(VK_SNAPSHOT, NKCODE_SYSRQ)
|
||||
(VK_SCROLL, NKCODE_SCROLL_LOCK)
|
||||
(VK_OEM_1, NKCODE_SEMICOLON)
|
||||
(VK_OEM_2, NKCODE_SLASH)
|
||||
(VK_OEM_3, NKCODE_GRAVE)
|
||||
(VK_OEM_4, NKCODE_LEFT_BRACKET)
|
||||
(VK_OEM_5, NKCODE_BACKSLASH)
|
||||
(VK_OEM_6, NKCODE_RIGHT_BRACKET)
|
||||
(VK_OEM_7, NKCODE_APOSTROPHE)
|
||||
(VK_RETURN, NKCODE_ENTER)
|
||||
(VK_APPS, NKCODE_MENU) // Context menu key, let's call this "menu".
|
||||
(VK_PAUSE, NKCODE_BREAK)
|
||||
(VK_F1, NKCODE_F1)
|
||||
(VK_F2, NKCODE_F2)
|
||||
(VK_F3, NKCODE_F3)
|
||||
(VK_F4, NKCODE_F4)
|
||||
(VK_F5, NKCODE_F5)
|
||||
(VK_F6, NKCODE_F6)
|
||||
(VK_F7, NKCODE_F7)
|
||||
(VK_F8, NKCODE_F8)
|
||||
(VK_F9, NKCODE_F9)
|
||||
(VK_F10, NKCODE_F10)
|
||||
(VK_F11, NKCODE_F11)
|
||||
(VK_F12, NKCODE_F12)
|
||||
(VK_OEM_102, NKCODE_EXT_PIPE)
|
||||
(VK_LBUTTON, NKCODE_EXT_MOUSEBUTTON_1)
|
||||
(VK_RBUTTON, NKCODE_EXT_MOUSEBUTTON_2)
|
||||
(VK_MBUTTON, NKCODE_EXT_MOUSEBUTTON_3)
|
||||
(VK_XBUTTON1, NKCODE_EXT_MOUSEBUTTON_4)
|
||||
(VK_XBUTTON2, NKCODE_EXT_MOUSEBUTTON_5);
|
||||
|
||||
int KeyboardDevice::UpdateState() {
|
||||
// Nothing to do, all done in WM_INPUT
|
||||
return 0;
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include <map>
|
||||
#include "InputDevice.h"
|
||||
|
||||
extern std::map<int, int> windowsTransTable;
|
||||
|
||||
class KeyboardDevice : public InputDevice {
|
||||
public:
|
||||
virtual int UpdateState();
|
||||
virtual bool IsPad() { return false; }
|
||||
|
||||
private:
|
||||
};
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
|
@ -740,7 +740,6 @@
|
|||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="InputDevice.cpp" />
|
||||
<ClCompile Include="KeyboardDevice.cpp" />
|
||||
<ClCompile Include="MainWindowMenu.cpp" />
|
||||
<ClCompile Include="RawInput.cpp" />
|
||||
<ClCompile Include="TouchInputHandler.cpp" />
|
||||
|
@ -926,7 +925,6 @@
|
|||
</ClInclude>
|
||||
<ClInclude Include="GPU\WindowsGraphicsContext.h" />
|
||||
<ClInclude Include="InputDevice.h" />
|
||||
<ClInclude Include="KeyboardDevice.h" />
|
||||
<ClInclude Include="MainWindowMenu.h" />
|
||||
<ClInclude Include="RawInput.h" />
|
||||
<ClInclude Include="TouchInputHandler.h" />
|
||||
|
|
|
@ -82,9 +82,6 @@
|
|||
<ClCompile Include="XinputDevice.cpp">
|
||||
<Filter>Windows\Input</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="KeyboardDevice.cpp">
|
||||
<Filter>Windows\Input</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="InputDevice.cpp">
|
||||
<Filter>Windows\Input</Filter>
|
||||
</ClCompile>
|
||||
|
@ -246,9 +243,6 @@
|
|||
<ClInclude Include="XinputDevice.h">
|
||||
<Filter>Windows\Input</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="KeyboardDevice.h">
|
||||
<Filter>Windows\Input</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="..\android\jni\ArmEmitterTest.h">
|
||||
<Filter>Other Platforms</Filter>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include "input/input_state.h"
|
||||
#include "Common/Log.h"
|
||||
#include "Windows/RawInput.h"
|
||||
#include "Windows/KeyboardDevice.h"
|
||||
#include "Windows/MainWindow.h"
|
||||
#include "Windows/WindowsHost.h"
|
||||
#include "Common/CommonFuncs.h"
|
||||
|
@ -65,6 +64,119 @@ namespace WindowsRawInput {
|
|||
static float mouseX = 0.0f;
|
||||
static float mouseY = 0.0f;
|
||||
|
||||
// TODO: More keys need to be added, but this is more than
|
||||
// a fair start.
|
||||
static std::map<int, int> windowsTransTable = {
|
||||
{ 'A', NKCODE_A },
|
||||
{ 'B', NKCODE_B },
|
||||
{ 'C', NKCODE_C },
|
||||
{ 'D', NKCODE_D },
|
||||
{ 'E', NKCODE_E },
|
||||
{ 'F', NKCODE_F },
|
||||
{ 'G', NKCODE_G },
|
||||
{ 'H', NKCODE_H },
|
||||
{ 'I', NKCODE_I },
|
||||
{ 'J', NKCODE_J },
|
||||
{ 'K', NKCODE_K },
|
||||
{ 'L', NKCODE_L },
|
||||
{ 'M', NKCODE_M },
|
||||
{ 'N', NKCODE_N },
|
||||
{ 'O', NKCODE_O },
|
||||
{ 'P', NKCODE_P },
|
||||
{ 'Q', NKCODE_Q },
|
||||
{ 'R', NKCODE_R },
|
||||
{ 'S', NKCODE_S },
|
||||
{ 'T', NKCODE_T },
|
||||
{ 'U', NKCODE_U },
|
||||
{ 'V', NKCODE_V },
|
||||
{ 'W', NKCODE_W },
|
||||
{ 'X', NKCODE_X },
|
||||
{ 'Y', NKCODE_Y },
|
||||
{ 'Z', NKCODE_Z },
|
||||
{ '0', NKCODE_0 },
|
||||
{ '1', NKCODE_1 },
|
||||
{ '2', NKCODE_2 },
|
||||
{ '3', NKCODE_3 },
|
||||
{ '4', NKCODE_4 },
|
||||
{ '5', NKCODE_5 },
|
||||
{ '6', NKCODE_6 },
|
||||
{ '7', NKCODE_7 },
|
||||
{ '8', NKCODE_8 },
|
||||
{ '9', NKCODE_9 },
|
||||
{ VK_OEM_PERIOD, NKCODE_PERIOD },
|
||||
{ VK_OEM_COMMA, NKCODE_COMMA },
|
||||
{ VK_NUMPAD0, NKCODE_NUMPAD_0 },
|
||||
{ VK_NUMPAD1, NKCODE_NUMPAD_1 },
|
||||
{ VK_NUMPAD2, NKCODE_NUMPAD_2 },
|
||||
{ VK_NUMPAD3, NKCODE_NUMPAD_3 },
|
||||
{ VK_NUMPAD4, NKCODE_NUMPAD_4 },
|
||||
{ VK_NUMPAD5, NKCODE_NUMPAD_5 },
|
||||
{ VK_NUMPAD6, NKCODE_NUMPAD_6 },
|
||||
{ VK_NUMPAD7, NKCODE_NUMPAD_7 },
|
||||
{ VK_NUMPAD8, NKCODE_NUMPAD_8 },
|
||||
{ VK_NUMPAD9, NKCODE_NUMPAD_9 },
|
||||
{ VK_DECIMAL, NKCODE_NUMPAD_DOT },
|
||||
{ VK_DIVIDE, NKCODE_NUMPAD_DIVIDE },
|
||||
{ VK_MULTIPLY, NKCODE_NUMPAD_MULTIPLY },
|
||||
{ VK_SUBTRACT, NKCODE_NUMPAD_SUBTRACT },
|
||||
{ VK_ADD, NKCODE_NUMPAD_ADD },
|
||||
{ VK_SEPARATOR, NKCODE_NUMPAD_COMMA },
|
||||
{ VK_OEM_MINUS, NKCODE_MINUS },
|
||||
{ VK_OEM_PLUS, NKCODE_PLUS },
|
||||
{ VK_LCONTROL, NKCODE_CTRL_LEFT },
|
||||
{ VK_RCONTROL, NKCODE_CTRL_RIGHT },
|
||||
{ VK_LSHIFT, NKCODE_SHIFT_LEFT },
|
||||
{ VK_RSHIFT, NKCODE_SHIFT_RIGHT },
|
||||
{ VK_LMENU, NKCODE_ALT_LEFT },
|
||||
{ VK_RMENU, NKCODE_ALT_RIGHT },
|
||||
{ VK_BACK, NKCODE_DEL }, // yes! http://stackoverflow.com/questions/4886858/android-edittext-deletebackspace-key-event
|
||||
{ VK_SPACE, NKCODE_SPACE },
|
||||
{ VK_ESCAPE, NKCODE_ESCAPE },
|
||||
{ VK_UP, NKCODE_DPAD_UP },
|
||||
{ VK_INSERT, NKCODE_INSERT },
|
||||
{ VK_HOME, NKCODE_MOVE_HOME },
|
||||
{ VK_PRIOR, NKCODE_PAGE_UP },
|
||||
{ VK_NEXT, NKCODE_PAGE_DOWN },
|
||||
{ VK_DELETE, NKCODE_FORWARD_DEL },
|
||||
{ VK_END, NKCODE_MOVE_END },
|
||||
{ VK_TAB, NKCODE_TAB },
|
||||
{ VK_DOWN, NKCODE_DPAD_DOWN },
|
||||
{ VK_LEFT, NKCODE_DPAD_LEFT },
|
||||
{ VK_RIGHT, NKCODE_DPAD_RIGHT },
|
||||
{ VK_CAPITAL, NKCODE_CAPS_LOCK },
|
||||
{ VK_CLEAR, NKCODE_CLEAR },
|
||||
{ VK_SNAPSHOT, NKCODE_SYSRQ },
|
||||
{ VK_SCROLL, NKCODE_SCROLL_LOCK },
|
||||
{ VK_OEM_1, NKCODE_SEMICOLON },
|
||||
{ VK_OEM_2, NKCODE_SLASH },
|
||||
{ VK_OEM_3, NKCODE_GRAVE },
|
||||
{ VK_OEM_4, NKCODE_LEFT_BRACKET },
|
||||
{ VK_OEM_5, NKCODE_BACKSLASH },
|
||||
{ VK_OEM_6, NKCODE_RIGHT_BRACKET },
|
||||
{ VK_OEM_7, NKCODE_APOSTROPHE },
|
||||
{ VK_RETURN, NKCODE_ENTER },
|
||||
{ VK_APPS, NKCODE_MENU }, // Context menu key, let's call this "menu".
|
||||
{ VK_PAUSE, NKCODE_BREAK },
|
||||
{ VK_F1, NKCODE_F1 },
|
||||
{ VK_F2, NKCODE_F2 },
|
||||
{ VK_F3, NKCODE_F3 },
|
||||
{ VK_F4, NKCODE_F4 },
|
||||
{ VK_F5, NKCODE_F5 },
|
||||
{ VK_F6, NKCODE_F6 },
|
||||
{ VK_F7, NKCODE_F7 },
|
||||
{ VK_F8, NKCODE_F8 },
|
||||
{ VK_F9, NKCODE_F9 },
|
||||
{ VK_F10, NKCODE_F10 },
|
||||
{ VK_F11, NKCODE_F11 },
|
||||
{ VK_F12, NKCODE_F12 },
|
||||
{ VK_OEM_102, NKCODE_EXT_PIPE },
|
||||
{ VK_LBUTTON, NKCODE_EXT_MOUSEBUTTON_1 },
|
||||
{ VK_RBUTTON, NKCODE_EXT_MOUSEBUTTON_2 },
|
||||
{ VK_MBUTTON, NKCODE_EXT_MOUSEBUTTON_3 },
|
||||
{ VK_XBUTTON1, NKCODE_EXT_MOUSEBUTTON_4 },
|
||||
{ VK_XBUTTON2, NKCODE_EXT_MOUSEBUTTON_5 },
|
||||
};
|
||||
|
||||
void Init() {
|
||||
RAWINPUTDEVICE dev[3];
|
||||
memset(dev, 0, sizeof(dev));
|
||||
|
|
|
@ -66,7 +66,6 @@
|
|||
#include "Windows/DinputDevice.h"
|
||||
#endif
|
||||
#include "Windows/XinputDevice.h"
|
||||
#include "Windows/KeyboardDevice.h"
|
||||
|
||||
#include "Windows/main.h"
|
||||
#include "UI/OnScreenDisplay.h"
|
||||
|
@ -89,17 +88,14 @@ WindowsHost::WindowsHost(HINSTANCE hInstance, HWND mainWindow, HWND displayWindo
|
|||
g_mouseDeltaY = 0;
|
||||
|
||||
//add first XInput device to respond
|
||||
input.push_back(std::shared_ptr<InputDevice>(new XinputDevice()));
|
||||
input.push_back(std::make_unique<XinputDevice>());
|
||||
#ifndef _M_ARM
|
||||
//find all connected DInput devices of class GamePad
|
||||
numDinputDevices_ = DinputDevice::getNumPads();
|
||||
for (size_t i = 0; i < numDinputDevices_; i++) {
|
||||
input.push_back(std::shared_ptr<InputDevice>(new DinputDevice(static_cast<int>(i))));
|
||||
input.push_back(std::make_unique<DinputDevice>(static_cast<int>(i)));
|
||||
}
|
||||
#endif
|
||||
keyboard = std::shared_ptr<KeyboardDevice>(new KeyboardDevice());
|
||||
input.push_back(keyboard);
|
||||
|
||||
SetConsolePosition();
|
||||
}
|
||||
|
||||
|
@ -221,7 +217,7 @@ void WindowsHost::PollControllers() {
|
|||
if (newCount > numDinputDevices_) {
|
||||
INFO_LOG(SYSTEM, "New controller device detected");
|
||||
for (size_t i = numDinputDevices_; i < newCount; i++) {
|
||||
input.push_back(std::shared_ptr<InputDevice>(new DinputDevice(static_cast<int>(i))));
|
||||
input.push_back(std::make_unique<DinputDevice>(static_cast<int>(i)));
|
||||
}
|
||||
numDinputDevices_ = newCount;
|
||||
}
|
||||
|
@ -229,12 +225,9 @@ void WindowsHost::PollControllers() {
|
|||
checkCounter = 0;
|
||||
}
|
||||
|
||||
bool doPad = true;
|
||||
for (const auto &device : input) {
|
||||
if (!doPad && device->IsPad())
|
||||
continue;
|
||||
if (device->UpdateState() == InputDevice::UPDATESTATE_SKIP_PAD)
|
||||
doPad = false;
|
||||
break;
|
||||
}
|
||||
|
||||
// Disabled by default, needs a workaround to map to psp keys.
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
|
||||
#include "../Core/Host.h"
|
||||
#include "InputDevice.h"
|
||||
#include "KeyboardDevice.h"
|
||||
#include "Common/CommonWindows.h"
|
||||
#include <list>
|
||||
#include <memory>
|
||||
|
@ -63,8 +62,6 @@ public:
|
|||
void NotifyUserMessage(const std::string &message, float duration = 1.0f, u32 color = 0x00FFFFFF, const char *id = nullptr) override;
|
||||
void SendUIMessage(const std::string &message, const std::string &value) override;
|
||||
|
||||
std::shared_ptr<KeyboardDevice> keyboard;
|
||||
|
||||
GraphicsContext *GetGraphicsContext() { return gfx_; }
|
||||
|
||||
private:
|
||||
|
@ -77,5 +74,5 @@ private:
|
|||
GraphicsContext *gfx_ = nullptr;
|
||||
size_t numDinputDevices_ = 0;
|
||||
|
||||
std::list<std::shared_ptr<InputDevice>> input;
|
||||
std::list<std::unique_ptr<InputDevice>> input;
|
||||
};
|
||||
|
|
|
@ -4,12 +4,11 @@
|
|||
#include "Xinput.h"
|
||||
|
||||
|
||||
class XinputDevice : public InputDevice {
|
||||
class XinputDevice final : public InputDevice {
|
||||
public:
|
||||
XinputDevice();
|
||||
~XinputDevice();
|
||||
virtual int UpdateState();
|
||||
virtual bool IsPad() { return true; }
|
||||
virtual int UpdateState() override;
|
||||
|
||||
private:
|
||||
void UpdatePad(int pad, const XINPUT_STATE &state);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue