1
0
mirror of https://github.com/minetest/minetest.git synced 2025-06-30 23:20:22 +02:00

Game/Input refactor [1/X]: make RealInputHandler handle joystick inputs with standard input

Joystick input is a RealInputHandler only usage, make it intelligent and handle the joystick with keyboard direct.
This permits to remove many getters in game which should be owned by RealInputHandler
This commit is contained in:
Loic Blot
2018-01-06 11:34:03 +01:00
committed by Loïc Blot
parent 9649e47214
commit 362323cdc2
2 changed files with 64 additions and 61 deletions

View File

@ -259,18 +259,53 @@ public:
}
}
virtual bool getLeftState() { return m_receiver->left_active; }
virtual bool getRightState() { return m_receiver->right_active; }
virtual bool getLeftState()
{
return m_receiver->left_active || joystick.isKeyDown(KeyType::MOUSE_L);
}
virtual bool getRightState()
{
return m_receiver->right_active || joystick.isKeyDown(KeyType::MOUSE_R);
}
virtual bool getLeftClicked() { return m_receiver->leftclicked; }
virtual bool getRightClicked() { return m_receiver->rightclicked; }
virtual void resetLeftClicked() { m_receiver->leftclicked = false; }
virtual void resetRightClicked() { m_receiver->rightclicked = false; }
virtual bool getLeftClicked()
{
return m_receiver->leftclicked || joystick.getWasKeyDown(KeyType::MOUSE_L);
}
virtual bool getRightClicked()
{
return m_receiver->rightclicked || joystick.getWasKeyDown(KeyType::MOUSE_R);
}
virtual bool getLeftReleased() { return m_receiver->leftreleased; }
virtual bool getRightReleased() { return m_receiver->rightreleased; }
virtual void resetLeftReleased() { m_receiver->leftreleased = false; }
virtual void resetRightReleased() { m_receiver->rightreleased = false; }
virtual void resetLeftClicked()
{
m_receiver->leftclicked = false;
joystick.clearWasKeyDown(KeyType::MOUSE_L);
}
virtual void resetRightClicked() {
m_receiver->rightclicked = false;
joystick.clearWasKeyDown(KeyType::MOUSE_R);
}
virtual bool getLeftReleased()
{
return m_receiver->leftreleased || joystick.wasKeyReleased(KeyType::MOUSE_L);
}
virtual bool getRightReleased()
{
return m_receiver->rightreleased || joystick.wasKeyReleased(KeyType::MOUSE_R);
}
virtual void resetLeftReleased()
{
m_receiver->leftreleased = false;
joystick.clearWasKeyReleased(KeyType::MOUSE_L);
}
virtual void resetRightReleased()
{
m_receiver->rightreleased = false;
joystick.clearWasKeyReleased(KeyType::MOUSE_R);
}
virtual s32 getMouseWheel() { return m_receiver->getMouseWheel(); }