Large diffs are not rendered by default.

@@ -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
@@ -323,7 +323,7 @@ std::string Device::GetSource() const
// Always add these at the end, given their hotplug nature
int Device::GetSortPriority() const
{
return -3;
return -4;
}

void Device::RunTasks()
@@ -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();
}
@@ -31,7 +31,7 @@ class Device final : public Core::Device
std::string GetName() const override;
std::string GetSource() const override;
std::optional<int> GetPreferredId() const override;
int GetSortPriority() const override { return -1; }
int GetSortPriority() const override { return -2; }

void UpdateInput() override;