mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
Add ControllerInterface::Win32 to wrap XInput and DInput
This commit is contained in:
@ -8,11 +8,8 @@
|
||||
|
||||
#include "Common/Logging/Log.h"
|
||||
|
||||
#ifdef CIFACE_USE_XINPUT
|
||||
#include "InputCommon/ControllerInterface/XInput/XInput.h"
|
||||
#endif
|
||||
#ifdef CIFACE_USE_DINPUT
|
||||
#include "InputCommon/ControllerInterface/DInput/DInput.h"
|
||||
#ifdef CIFACE_USE_WIN32
|
||||
#include "InputCommon/ControllerInterface/Win32/Win32.h"
|
||||
#endif
|
||||
#ifdef CIFACE_USE_XLIB
|
||||
#include "InputCommon/ControllerInterface/Xlib/XInput2.h"
|
||||
@ -48,11 +45,8 @@ void ControllerInterface::Initialize(const WindowSystemInfo& wsi)
|
||||
|
||||
m_is_populating_devices = true;
|
||||
|
||||
#ifdef CIFACE_USE_DINPUT
|
||||
// nothing needed
|
||||
#endif
|
||||
#ifdef CIFACE_USE_XINPUT
|
||||
ciface::XInput::Init();
|
||||
#ifdef CIFACE_USE_WIN32
|
||||
ciface::Win32::Init();
|
||||
#endif
|
||||
#ifdef CIFACE_USE_XLIB
|
||||
// nothing needed
|
||||
@ -99,12 +93,8 @@ void ControllerInterface::RefreshDevices()
|
||||
|
||||
m_is_populating_devices = true;
|
||||
|
||||
#ifdef CIFACE_USE_DINPUT
|
||||
if (m_wsi.type == WindowSystemType::Windows)
|
||||
ciface::DInput::PopulateDevices(reinterpret_cast<HWND>(m_wsi.render_surface));
|
||||
#endif
|
||||
#ifdef CIFACE_USE_XINPUT
|
||||
ciface::XInput::PopulateDevices();
|
||||
#ifdef CIFACE_USE_WIN32
|
||||
ciface::Win32::PopulateDevices(m_wsi.render_surface);
|
||||
#endif
|
||||
#ifdef CIFACE_USE_XLIB
|
||||
if (m_wsi.type == WindowSystemType::X11)
|
||||
@ -160,14 +150,11 @@ void ControllerInterface::Shutdown()
|
||||
// BEFORE we shutdown the backends.
|
||||
InvokeDevicesChangedCallbacks();
|
||||
|
||||
#ifdef CIFACE_USE_XINPUT
|
||||
ciface::XInput::DeInit();
|
||||
#endif
|
||||
#ifdef CIFACE_USE_DINPUT
|
||||
// nothing needed
|
||||
#ifdef CIFACE_USE_WIN32
|
||||
ciface::Win32::DeInit();
|
||||
#endif
|
||||
#ifdef CIFACE_USE_XLIB
|
||||
// nothing needed
|
||||
// nothing needed
|
||||
#endif
|
||||
#ifdef CIFACE_USE_OSX
|
||||
ciface::OSX::DeInit();
|
||||
|
@ -15,8 +15,7 @@
|
||||
|
||||
// enable disable sources
|
||||
#ifdef _WIN32
|
||||
#define CIFACE_USE_XINPUT
|
||||
#define CIFACE_USE_DINPUT
|
||||
#define CIFACE_USE_WIN32
|
||||
#endif
|
||||
#if defined(HAVE_X11) && HAVE_X11
|
||||
#define CIFACE_USE_XLIB
|
||||
|
26
Source/Core/InputCommon/ControllerInterface/Win32/Win32.cpp
Normal file
26
Source/Core/InputCommon/ControllerInterface/Win32/Win32.cpp
Normal file
@ -0,0 +1,26 @@
|
||||
// Copyright 2017 Dolphin Emulator Project
|
||||
// Licensed under GPLv2+
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include "InputCommon/ControllerInterface/Win32/Win32.h"
|
||||
|
||||
#include "InputCommon/ControllerInterface/DInput/DInput.h"
|
||||
#include "InputCommon/ControllerInterface/XInput/XInput.h"
|
||||
|
||||
void ciface::Win32::Init()
|
||||
{
|
||||
// DInput::Init();
|
||||
XInput::Init();
|
||||
}
|
||||
|
||||
void ciface::Win32::PopulateDevices(void* hwnd)
|
||||
{
|
||||
DInput::PopulateDevices(static_cast<HWND>(hwnd));
|
||||
XInput::PopulateDevices();
|
||||
}
|
||||
|
||||
void ciface::Win32::DeInit()
|
||||
{
|
||||
// DInput::DeInit();
|
||||
XInput::DeInit();
|
||||
}
|
15
Source/Core/InputCommon/ControllerInterface/Win32/Win32.h
Normal file
15
Source/Core/InputCommon/ControllerInterface/Win32/Win32.h
Normal file
@ -0,0 +1,15 @@
|
||||
// Copyright 2017 Dolphin Emulator Project
|
||||
// Licensed under GPLv2+
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace ciface
|
||||
{
|
||||
namespace Win32
|
||||
{
|
||||
void Init();
|
||||
void PopulateDevices(void* hwnd);
|
||||
void DeInit();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user