Merge pull request #3916 from phire/totallyAwesomeBranch
analytics: Collect less data about controllers.
This commit is contained in:
commit
1746be3b2a
|
@ -247,12 +247,10 @@ void DolphinAnalytics::MakePerGameBuilder()
|
|||
builder.AddData("movie", Movie::IsMovieActive());
|
||||
|
||||
// Controller information
|
||||
// We grab enough to tell what percentage of our users are playing with keyboard/mouse, some kind of gamepad
|
||||
// or the official gamecube adapter.
|
||||
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);
|
||||
builder.AddData("has-controller", Pad::GetConfig()->IsControllerControlledByGamepadDevice(0) || GCAdapter::IsDetected());
|
||||
|
||||
m_per_game_builder = builder;
|
||||
}
|
||||
|
|
|
@ -117,3 +117,17 @@ bool InputConfig::ControllersNeedToBeCreated() const
|
|||
{
|
||||
return m_controllers.empty();
|
||||
}
|
||||
|
||||
bool InputConfig::IsControllerControlledByGamepadDevice(int index) const
|
||||
{
|
||||
if (static_cast<size_t>(index) >= m_controllers.size())
|
||||
return false;
|
||||
|
||||
const auto& controller = m_controllers.at(index).get()->default_device;
|
||||
|
||||
// Filter out anything which obviously not a gamepad
|
||||
return !((controller.source == "Keyboard") // OSX Keyboard/Mouse
|
||||
|| (controller.source == "XInput2") // Linux and BSD Keyboard/Mouse
|
||||
|| (controller.source == "Android" && controller.name == "Touchscreen") // Android Touchscreen
|
||||
|| (controller.source == "DInput" && controller.name == "Keyboard Mouse")); // Windows Keyboard/Mouse
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ public:
|
|||
ControllerEmu* GetController(int index);
|
||||
void ClearControllers();
|
||||
bool ControllersNeedToBeCreated() const;
|
||||
bool IsControllerControlledByGamepadDevice(int index) const;
|
||||
|
||||
std::string GetGUIName() const { return m_gui_name; }
|
||||
std::string GetProfileName() const { return m_profile_name; }
|
||||
|
|
Loading…
Reference in New Issue