hid_core: Use dedicated "port" for android's input overlay
This commit is contained in:
parent
dc2c302a84
commit
18494b0ad6
2 changed files with 11 additions and 1 deletions
|
@ -176,16 +176,19 @@ void EmulatedController::LoadDevices() {
|
||||||
camera_params[1] = Common::ParamPackage{"engine:camera,camera:1"};
|
camera_params[1] = Common::ParamPackage{"engine:camera,camera:1"};
|
||||||
ring_params[1] = Common::ParamPackage{"engine:joycon,axis_x:100,axis_y:101"};
|
ring_params[1] = Common::ParamPackage{"engine:joycon,axis_x:100,axis_y:101"};
|
||||||
nfc_params[0] = Common::ParamPackage{"engine:virtual_amiibo,nfc:1"};
|
nfc_params[0] = Common::ParamPackage{"engine:virtual_amiibo,nfc:1"};
|
||||||
|
android_params = Common::ParamPackage{"engine:android,port:100"};
|
||||||
}
|
}
|
||||||
|
|
||||||
output_params[LeftIndex] = left_joycon;
|
output_params[LeftIndex] = left_joycon;
|
||||||
output_params[RightIndex] = right_joycon;
|
output_params[RightIndex] = right_joycon;
|
||||||
output_params[2] = camera_params[1];
|
output_params[2] = camera_params[1];
|
||||||
output_params[3] = nfc_params[0];
|
output_params[3] = nfc_params[0];
|
||||||
|
output_params[4] = android_params;
|
||||||
output_params[LeftIndex].Set("output", true);
|
output_params[LeftIndex].Set("output", true);
|
||||||
output_params[RightIndex].Set("output", true);
|
output_params[RightIndex].Set("output", true);
|
||||||
output_params[2].Set("output", true);
|
output_params[2].Set("output", true);
|
||||||
output_params[3].Set("output", true);
|
output_params[3].Set("output", true);
|
||||||
|
output_params[4].Set("output", true);
|
||||||
|
|
||||||
LoadTASParams();
|
LoadTASParams();
|
||||||
LoadVirtualGamepadParams();
|
LoadVirtualGamepadParams();
|
||||||
|
@ -1277,6 +1280,12 @@ bool EmulatedController::SetVibration(DeviceIndex device_index, const VibrationV
|
||||||
.high_frequency = vibration.high_frequency,
|
.high_frequency = vibration.high_frequency,
|
||||||
.type = type,
|
.type = type,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Send vibrations to Android's input overlay
|
||||||
|
if (npad_id_type == NpadIdType::Handheld || npad_id_type == NpadIdType::Player1) {
|
||||||
|
output_devices[4]->SetVibration(status);
|
||||||
|
}
|
||||||
|
|
||||||
return output_devices[index]->SetVibration(status) == Common::Input::DriverResult::Success;
|
return output_devices[index]->SetVibration(status) == Common::Input::DriverResult::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
namespace Core::HID {
|
namespace Core::HID {
|
||||||
const std::size_t max_emulated_controllers = 2;
|
const std::size_t max_emulated_controllers = 2;
|
||||||
const std::size_t output_devices_size = 4;
|
const std::size_t output_devices_size = 5;
|
||||||
struct ControllerMotionInfo {
|
struct ControllerMotionInfo {
|
||||||
Common::Input::MotionStatus raw_status{};
|
Common::Input::MotionStatus raw_status{};
|
||||||
MotionInput emulated{};
|
MotionInput emulated{};
|
||||||
|
@ -597,6 +597,7 @@ private:
|
||||||
CameraParams camera_params;
|
CameraParams camera_params;
|
||||||
RingAnalogParams ring_params;
|
RingAnalogParams ring_params;
|
||||||
NfcParams nfc_params;
|
NfcParams nfc_params;
|
||||||
|
Common::ParamPackage android_params;
|
||||||
OutputParams output_params;
|
OutputParams output_params;
|
||||||
|
|
||||||
ButtonDevices button_devices;
|
ButtonDevices button_devices;
|
||||||
|
|
Loading…
Reference in a new issue