21 #include <JoystickAxis.h> 22 #include <SFML/Window.hpp> 25 #include <JoystickTranslation.h> 26 #include <JoystickTranslator.h> 33 return ControlStatus::JOYSTICK;
38 this->separation = separation;
42 this->axisPos = axisPos;
43 this->axisNeg = axisNeg;
49 return getStatusSeparated();
51 return getStatusNormal();
57 for(
unsigned int i = 0; i < sf::Joystick::Count; i++)
58 if(sf::Joystick::isConnected(i)) {
59 float val = jt->getTranslation(i)->getAxisValue(axisPos);
60 if(separation == NEGATIVE && val < 0.0f)
62 else if(!(separation == POSITIVE && val > 0.0f))
64 buttonsPressed.addButton(ControlStatus::activatorFromJoystickNumber(i),
removeDeadZone(val));
66 return buttonsPressed;
72 for(
unsigned int i = 0; i < sf::Joystick::Count; i++)
73 if(sf::Joystick::isConnected(i)) {
74 float val = jt->getTranslation(i)->getAxisValue(axisPos);
79 val -= (jt->getTranslation(i)->getAxisValue(axisNeg) + 100)/2;
81 buttonsPressed.addButton(ControlStatus::activatorFromJoystickNumber(i),
removeDeadZone(val));
83 return buttonsPressed;
88 if(std::abs(val) <= 15.0f)
90 val += val < 0.0f ? 15.0f : -15.0f;
91 return val*(100.0f/85.0f);
The class that contains information about a function at the state of creation.
ControlStatus::Activator getActivator()
static float removeDeadZone(float val)
JoystickAxis(IJoystickTranslation::Axis axis, bool dual)