Update touch inputs

This commit is contained in:
2023-10-20 16:19:21 +02:00
parent c950e6ae86
commit 5aded782e7
2 changed files with 10 additions and 29 deletions

View File

@@ -40,8 +40,8 @@ namespace OpenVulkano
vec *= m_boostFactor; vec *= m_boostFactor;
} }
m_yaw -= input->GetAxis(m_actionLookSide) * timeScale / 2.0; m_yaw -= input->GetAxis(m_actionLookSide) * timeScale / 2.0f;
m_pitch -= input->GetAxis(m_actionLookUp) * timeScale / 2.0; m_pitch -= input->GetAxis(m_actionLookUp) * timeScale / 2.0f;
m_pitch = std::min(1.4f, std::max(-1.4f, m_pitch)); m_pitch = std::min(1.4f, std::max(-1.4f, m_pitch));
const Math::QuaternionF rot(Math::Vector3f(m_pitch, m_yaw, 0)); const Math::QuaternionF rot(Math::Vector3f(m_pitch, m_yaw, 0));
@@ -55,10 +55,10 @@ namespace OpenVulkano
{ {
m_actionForward->BindKey(Input::InputKey::Controller::AXIS_LEFT_Y); m_actionForward->BindKey(Input::InputKey::Controller::AXIS_LEFT_Y);
m_actionForward->BindAxisButtons(Input::InputKey::Keyboard::KEY_W, Input::InputKey::Keyboard::KEY_S); m_actionForward->BindAxisButtons(Input::InputKey::Keyboard::KEY_W, Input::InputKey::Keyboard::KEY_S);
m_actionForward->BindKey(Input::InputKey::Touch::AXIS_PAN_TWO_FINGERS_Y, -0.01f); m_actionForward->BindKey(Input::InputKey::Touch::AXIS_PAN_TWO_FINGERS_Y, -0.0025f);
m_actionSide->BindKey(Input::InputKey::Controller::AXIS_LEFT_X); m_actionSide->BindKey(Input::InputKey::Controller::AXIS_LEFT_X);
m_actionSide->BindAxisButtons(Input::InputKey::Keyboard::KEY_D, Input::InputKey::Keyboard::KEY_A); m_actionSide->BindAxisButtons(Input::InputKey::Keyboard::KEY_D, Input::InputKey::Keyboard::KEY_A);
m_actionSide->BindKey(Input::InputKey::Touch::AXIS_PAN_TWO_FINGERS_X, 0.01f); m_actionSide->BindKey(Input::InputKey::Touch::AXIS_PAN_TWO_FINGERS_X, 0.0025f);
m_actionLookUp->BindKey(Input::InputKey::Controller::AXIS_RIGHT_Y); m_actionLookUp->BindKey(Input::InputKey::Controller::AXIS_RIGHT_Y);
m_actionLookUp->BindAxisButtons(Input::InputKey::Keyboard::KEY_DOWN, Input::InputKey::Keyboard::KEY_UP); m_actionLookUp->BindAxisButtons(Input::InputKey::Keyboard::KEY_DOWN, Input::InputKey::Keyboard::KEY_UP);
m_actionLookUp->BindKey(Input::InputKey::Touch::AXIS_PAN_Y, 0.10f); m_actionLookUp->BindKey(Input::InputKey::Touch::AXIS_PAN_Y, 0.10f);

View File

@@ -55,16 +55,8 @@ namespace OpenVulkano::Input
m_initialDistance = distance; m_initialDistance = distance;
if (m_initialDistance > 0) m_pinchInfo.scale = 0;
{
m_pinchInfo.scale = m_initialDistance;
m_pinchInfo.position = CalculateCenter(); m_pinchInfo.position = CalculateCenter();
}
else
{
m_pinchInfo.scale = 0.0f;
m_pinchInfo.position = m_pendingTouches.front().currentPosition;
}
OnPinchStarted.NotifyAll(this, m_pinchInfo); OnPinchStarted.NotifyAll(this, m_pinchInfo);
@@ -202,21 +194,10 @@ namespace OpenVulkano::Input
{ {
float newDistance = CalculateDistance(); float newDistance = CalculateDistance();
if (m_lastDistance == 0) if (m_lastDistance == 0) m_lastDistance = newDistance;
{
m_lastDistance = newDistance;
}
if (m_initialDistance > 0)
{
m_pinchInfo.scale = (newDistance - m_initialDistance); m_pinchInfo.scale = (newDistance - m_initialDistance);
m_pinchInfo.position = CalculateCenter(); m_pinchInfo.position = CalculateCenter();
}
else
{
m_pinchInfo.scale = 0.0f;
m_pinchInfo.position = m_pendingTouches.front().currentPosition;
}
OnPinchMoved.NotifyAll(this, m_pinchInfo); OnPinchMoved.NotifyAll(this, m_pinchInfo);