diff --git a/Source/Core/Core/Analytics.cpp b/Source/Core/Core/Analytics.cpp index 5339b21d22..4a9f1f72f3 100644 --- a/Source/Core/Core/Analytics.cpp +++ b/Source/Core/Core/Analytics.cpp @@ -20,6 +20,10 @@ #include "Core/ConfigManager.h" #include "Core/Movie.h" #include "Core/NetPlayProto.h" +#include "Core/HW/GCPad.h" +#include "InputCommon/ControllerEmu.h" +#include "InputCommon/GCAdapter.h" +#include "InputCommon/InputConfig.h" #include "VideoCommon/VideoBackendBase.h" #include "VideoCommon/VideoConfig.h" @@ -242,5 +246,13 @@ void DolphinAnalytics::MakePerGameBuilder() builder.AddData("netplay", NetPlay::IsNetPlayRunning()); builder.AddData("movie", Movie::IsMovieActive()); + // Controller information + builder.AddData("gcadapter-detected", GCAdapter::IsDetected()); + + // For privacy reasons, limit this to type of the first controller. + // The ControllersNeedToBeCreated() check is enough to ensure GetController(0) won't return nullptr or throw exceptions. + if (!Pad::GetConfig()->ControllersNeedToBeCreated()) + builder.AddData("controller-type", Pad::GetConfig()->GetController(0)->default_device.name); + m_per_game_builder = builder; }