InputCommon: Add Windows.Gaming.Input to ControllerInterface.

This commit is contained in:
Jordan Woyak
2022-04-03 19:03:35 -05:00
parent a4445fa1b0
commit 076a262b9e
5 changed files with 718 additions and 0 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,12 @@
// Copyright 2020 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
namespace ciface::WGInput
{
void Init();
void DeInit();
void PopulateDevices();
} // namespace ciface::WGInput
@@ -16,6 +16,7 @@
#include "Common/ScopeGuard.h"
#include "Common/Thread.h"
#include "InputCommon/ControllerInterface/DInput/DInput.h"
#include "InputCommon/ControllerInterface/WGInput/WGInput.h"
#include "InputCommon/ControllerInterface/XInput/XInput.h"
constexpr UINT WM_DOLPHIN_STOP = WM_USER;
@@ -42,6 +43,7 @@ static LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARA
g_controller_interface.PlatformPopulateDevices([] {
ciface::DInput::PopulateDevices(s_hwnd);
ciface::XInput::PopulateDevices();
ciface::WGInput::PopulateDevices();
});
}
}
@@ -53,6 +55,7 @@ void ciface::Win32::Init(void* hwnd)
{
s_hwnd = static_cast<HWND>(hwnd);
XInput::Init();
WGInput::Init();
std::promise<HWND> message_window_promise;
@@ -147,6 +150,7 @@ void ciface::Win32::PopulateDevices(void* hwnd)
s_first_populate_devices_asked.Set();
ciface::DInput::PopulateDevices(s_hwnd);
ciface::XInput::PopulateDevices();
ciface::WGInput::PopulateDevices();
}
else
{
@@ -179,4 +183,5 @@ void ciface::Win32::DeInit()
s_hwnd = nullptr;
XInput::DeInit();
WGInput::DeInit();
}