Merge pull request #10203 from german77/calibration

core: hid: Allow to calibrate gyro sensor
This commit is contained in:
liamwhite
2023-05-09 09:47:29 -04:00
committed by GitHub
6 changed files with 53 additions and 11 deletions

View File

@ -479,6 +479,9 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
param.Set("threshold", new_threshold / 1000.0f);
emulated_controller->SetMotionParam(motion_id, param);
});
context_menu.addAction(tr("Calibrate sensor"), [&] {
emulated_controller->StartMotionCalibration();
});
}
context_menu.exec(motion_map[motion_id]->mapToGlobal(menu_location));
});

View File

@ -582,9 +582,9 @@ void PlayerControlPreview::DrawDualController(QPainter& p, const QPointF center)
using namespace Settings::NativeMotion;
p.setPen(colors.outline);
p.setBrush(colors.transparent);
Draw3dCube(p, center + QPointF(-180, -5),
Draw3dCube(p, center + QPointF(-180, 90),
motion_values[Settings::NativeMotion::MotionLeft].euler, 20.0f);
Draw3dCube(p, center + QPointF(180, -5),
Draw3dCube(p, center + QPointF(180, 90),
motion_values[Settings::NativeMotion::MotionRight].euler, 20.0f);
}
@ -2926,14 +2926,14 @@ void PlayerControlPreview::DrawArrow(QPainter& p, const QPointF center, const Di
void PlayerControlPreview::Draw3dCube(QPainter& p, QPointF center, const Common::Vec3f& euler,
float size) {
std::array<Common::Vec3f, 8> cube{
Common::Vec3f{-1, -1, -1},
{-1, 1, -1},
{1, 1, -1},
{1, -1, -1},
{-1, -1, 1},
{-1, 1, 1},
{1, 1, 1},
{1, -1, 1},
Common::Vec3f{-0.7f, -1, -0.5f},
{-0.7f, 1, -0.5f},
{0.7f, 1, -0.5f},
{0.7f, -1, -0.5f},
{-0.7f, -1, 0.5f},
{-0.7f, 1, 0.5f},
{0.7f, 1, 0.5f},
{0.7f, -1, 0.5f},
};
for (Common::Vec3f& point : cube) {