configure_input_player: Implement input exclusivity and persistence

With this, the "Input Devices" combobox should accurately reflect the input device being used and disallows inputs from other input devices unless the input device is set to "Any".
This commit is contained in:
Morph committed 2020-11-15 23:33:19 -05:00
1 parent 9d4edd4e88
commit 75eaab2e0f
4 files changed
+205 -138

No files matched your search

+3 -3
View File
@@ -78,7 +78,7 @@ struct InputSubsystem::Impl {
[[nodiscard]] std::vector<Common::ParamPackage> GetInputDevices() const {
std::vector<Common::ParamPackage> devices = {
Common::ParamPackage{{"display", "Any"}, {"class", "any"}},
Common::ParamPackage{{"display", "Keyboard/Mouse"}, {"class", "key"}},
Common::ParamPackage{{"display", "Keyboard/Mouse"}, {"class", "keyboard"}},
};
#ifdef HAVE_SDL2
auto sdl_devices = sdl->GetInputDevices();
@@ -96,7 +96,7 @@ struct InputSubsystem::Impl {
if (!params.Has("class") || params.Get("class", "") == "any") {
return {};
}
if (params.Get("class", "") == "key") {
if (params.Get("class", "") == "keyboard") {
// TODO consider returning the SDL key codes for the default keybindings
return {};
}
@@ -116,7 +116,7 @@ struct InputSubsystem::Impl {
if (!params.Has("class") || params.Get("class", "") == "any") {
return {};
}
if (params.Get("class", "") == "key") {
if (params.Get("class", "") == "keyboard") {
// TODO consider returning the SDL key codes for the default keybindings
return {};
}