summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp18
-rw-r--r--src/yuzu/configuration/configure_vibration.cpp2
2 files changed, 18 insertions, 2 deletions
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp
index f65a7fe73..72640f5e7 100644
--- a/src/yuzu/configuration/configure_input_player.cpp
+++ b/src/yuzu/configuration/configure_input_player.cpp
@@ -694,6 +694,8 @@ void ConfigureInputPlayer::UpdateInputDeviceCombobox() {
694 const auto current_guid = button_param->Get("guid", ""); 694 const auto current_guid = button_param->Get("guid", "");
695 const auto current_port = button_param->Get("port", ""); 695 const auto current_port = button_param->Get("port", "");
696 696
697 const bool is_keyboard_mouse = current_engine == "keyboard" || current_engine == "mouse";
698
697 UpdateInputDevices(); 699 UpdateInputDevices();
698 700
699 if (buttons_empty) { 701 if (buttons_empty) {
@@ -702,13 +704,22 @@ void ConfigureInputPlayer::UpdateInputDeviceCombobox() {
702 704
703 const bool all_one_device = 705 const bool all_one_device =
704 std::all_of(buttons_param.begin(), buttons_param.end(), 706 std::all_of(buttons_param.begin(), buttons_param.end(),
705 [current_engine, current_guid, current_port](const Common::ParamPackage param) { 707 [current_engine, current_guid, current_port,
708 is_keyboard_mouse](const Common::ParamPackage param) {
709 if (is_keyboard_mouse) {
710 return !param.Has("engine") || param.Get("engine", "") == "keyboard" ||
711 param.Get("engine", "") == "mouse";
712 }
706 return !param.Has("engine") || (param.Get("engine", "") == current_engine && 713 return !param.Has("engine") || (param.Get("engine", "") == current_engine &&
707 param.Get("guid", "") == current_guid && 714 param.Get("guid", "") == current_guid &&
708 param.Get("port", "") == current_port); 715 param.Get("port", "") == current_port);
709 }); 716 });
710 717
711 if (all_one_device) { 718 if (all_one_device) {
719 if (is_keyboard_mouse) {
720 ui->comboDevices->setCurrentIndex(1);
721 return;
722 }
712 const auto devices_it = std::find_if( 723 const auto devices_it = std::find_if(
713 input_devices.begin(), input_devices.end(), 724 input_devices.begin(), input_devices.end(),
714 [current_engine, current_guid, current_port](const Common::ParamPackage param) { 725 [current_engine, current_guid, current_port](const Common::ParamPackage param) {
@@ -1073,6 +1084,11 @@ bool ConfigureInputPlayer::IsInputAcceptable(const Common::ParamPackage& params)
1073 return true; 1084 return true;
1074 } 1085 }
1075 1086
1087 // Keyboard/Mouse
1088 if (ui->comboDevices->currentIndex() == 1) {
1089 return params.Get("engine", "") == "keyboard" || params.Get("engine", "") == "mouse";
1090 }
1091
1076 const auto current_input_device = input_devices[ui->comboDevices->currentIndex()]; 1092 const auto current_input_device = input_devices[ui->comboDevices->currentIndex()];
1077 return params.Get("engine", "") == current_input_device.Get("class", "") && 1093 return params.Get("engine", "") == current_input_device.Get("class", "") &&
1078 params.Get("guid", "") == current_input_device.Get("guid", "") && 1094 params.Get("guid", "") == current_input_device.Get("guid", "") &&
diff --git a/src/yuzu/configuration/configure_vibration.cpp b/src/yuzu/configuration/configure_vibration.cpp
index 714db5b80..7dcb2c5b9 100644
--- a/src/yuzu/configuration/configure_vibration.cpp
+++ b/src/yuzu/configuration/configure_vibration.cpp
@@ -99,7 +99,7 @@ void ConfigureVibration::SetVibrationDevices(std::size_t player_index) {
99 const auto guid = param.Get("guid", ""); 99 const auto guid = param.Get("guid", "");
100 const auto port = param.Get("port", ""); 100 const auto port = param.Get("port", "");
101 101
102 if (engine.empty() || engine == "keyboard") { 102 if (engine.empty() || engine == "keyboard" || engine == "mouse") {
103 continue; 103 continue;
104 } 104 }
105 105