diff options
Diffstat (limited to 'src/input_common/udp')
-rw-r--r-- | src/input_common/udp/client.cpp | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/src/input_common/udp/client.cpp b/src/input_common/udp/client.cpp index e0c796040..2b6a68d4b 100644 --- a/src/input_common/udp/client.cpp +++ b/src/input_common/udp/client.cpp @@ -138,7 +138,7 @@ Client::Client() { Settings::values.udp_input_port, pad, 24872); // Set motion parameters // SetGyroThreshold value should be dependent on GyroscopeZeroDriftMode - // Real HW values are unkown, 0.0001 is an aproximate to Standard + // Real HW values are unknown, 0.0001 is an approximate to Standard clients[client].motion.SetGyroThreshold(0.0001f); } } @@ -153,8 +153,7 @@ std::vector<Common::ParamPackage> Client::GetInputDevices() const { if (!DeviceConnected(client)) { continue; } - std::string name = fmt::format("UDP Controller{} {} {}", clients[client].active, - clients[client].active == 1, client); + std::string name = fmt::format("UDP Controller {}", client); devices.emplace_back(Common::ParamPackage{ {"class", "cemuhookudp"}, {"display", std::move(name)}, @@ -215,7 +214,7 @@ void Client::OnPadData(Response::PadData data) { Common::Vec3f raw_gyroscope = {data.gyro.pitch, data.gyro.roll, -data.gyro.yaw}; clients[client].motion.SetAcceleration({data.accel.x, -data.accel.z, data.accel.y}); // Gyroscope values are not it the correct scale from better joy. - // By dividing by 312 allow us to make one full turn = 1 turn + // Dividing by 312 allows us to make one full turn = 1 turn // This must be a configurable valued called sensitivity clients[client].motion.SetGyroscope(raw_gyroscope / 312.0f); clients[client].motion.UpdateRotation(time_difference); @@ -275,23 +274,21 @@ void Client::Reset() { void Client::UpdateYuzuSettings(std::size_t client, const Common::Vec3<float>& acc, const Common::Vec3<float>& gyro, bool touch) { - if (configuring) { - UDPPadStatus pad; - if (touch) { - pad.touch = PadTouch::Click; + UDPPadStatus pad; + if (touch) { + pad.touch = PadTouch::Click; + pad_queue[client].Push(pad); + } + for (size_t i = 0; i < 3; ++i) { + if (gyro[i] > 6.0f || gyro[i] < -6.0f) { + pad.motion = static_cast<PadMotion>(i); + pad.motion_value = gyro[i]; pad_queue[client].Push(pad); } - for (size_t i = 0; i < 3; ++i) { - if (gyro[i] > 6.0f || gyro[i] < -6.0f) { - pad.motion = static_cast<PadMotion>(i); - pad.motion_value = gyro[i]; - pad_queue[client].Push(pad); - } - if (acc[i] > 2.0f || acc[i] < -2.0f) { - pad.motion = static_cast<PadMotion>(i + 3); - pad.motion_value = acc[i]; - pad_queue[client].Push(pad); - } + if (acc[i] > 2.0f || acc[i] < -2.0f) { + pad.motion = static_cast<PadMotion>(i + 3); + pad.motion_value = acc[i]; + pad_queue[client].Push(pad); } } } |