early-access version 2728

This commit is contained in:
pineappleEA
2022-05-17 10:14:37 +02:00
parent b6d4502249
commit dab6a0fe35
8 changed files with 23 additions and 43 deletions

View File

@@ -631,11 +631,14 @@ void EmulatedController::SetButton(const Common::Input::CallbackStatus& callback
lock.unlock();
// Reconnect controller if input is detected
if (!is_connected) {
TryReconnectController(index);
if (npad_id_type == NpadIdType::Player1 && npad_type != NpadStyleIndex::Handheld) {
Connect();
}
if (npad_id_type == NpadIdType::Handheld && npad_type == NpadStyleIndex::Handheld) {
Connect();
}
}
TriggerOnChange(ControllerTriggerType::Button, true);
}
@@ -987,33 +990,6 @@ bool EmulatedController::IsControllerSupported(bool use_temporary_value) const {
return false;
}
}
void EmulatedController::TryReconnectController(std::size_t button_index) {
if (button_index >= button_params.size()) {
return;
}
const auto engine = button_params[button_index].Get("engine", "");
bool reconnect_controller = false;
// TAS is not allowed to turn on controllers
if (engine == "tas") {
return;
}
// Only connect the controller if button config is custom
if (engine != "keyboard") {
reconnect_controller = true;
}
if (npad_id_type == NpadIdType::Player1 && npad_type != NpadStyleIndex::Handheld) {
reconnect_controller = true;
}
if (npad_id_type == NpadIdType::Handheld && npad_type == NpadStyleIndex::Handheld) {
reconnect_controller = true;
}
if (reconnect_controller) {
Connect();
}
}
void EmulatedController::Connect(bool use_temporary_value) {
if (!IsControllerSupported(use_temporary_value)) {

View File

@@ -166,12 +166,6 @@ public:
*/
void SetSupportedNpadStyleTag(NpadStyleTag supported_styles);
/**
* Tries to turn on the controller if a button is pressed
* @param button_index index to verify if controller should be connected
*/
void TryReconnectController(std::size_t button_index);
/**
* Sets the connected status to true
* @param use_temporary_value If true tmp_npad_type will be used