void Parametertuner::handleJoystickInput(const sensor_msgs::JoyConstPtr& joy) { if (!m_useJoystick) return; int buttonUp = 4; int buttonDown = 6; int buttonLeft = 5; int buttonRight = 7; if (m_buttonUp && !joy->buttons[buttonUp]) moveSelectionRequested(UP); m_buttonUp = joy->buttons[buttonUp]; if (m_buttonDown && !joy->buttons[buttonDown]) moveSelectionRequested(DOWN); m_buttonDown = joy->buttons[buttonDown]; if (m_buttonDec && !joy->buttons[buttonLeft]) ValueChangeRequested(LEFT); m_buttonDec = joy->buttons[buttonLeft]; if (m_buttonInc && !joy->buttons[buttonRight]) ValueChangeRequested(RIGHT); m_buttonInc = joy->buttons[buttonRight]; }
void Parametertuner::handleJoystickInput(const sensor_msgs::JoyConstPtr& joy) { if(!m_useJoystick) return; if(joy->buttons.size() < 8) return; int buttonUp = 4; int buttonDown = 5; int buttonLeft = 6; int buttonRight = 7; bool collapse = false; bool pressedUpLeft = joy->buttons[buttonUp] && joy->buttons[buttonLeft]; if(m_buttonUpLeft && !pressedUpLeft) { expansionRequested(COLLAPSE); collapse = true; } m_buttonUpLeft = pressedUpLeft; if(m_buttonUp && !joy->buttons[buttonUp] && !collapse) moveSelectionRequested(UP); m_buttonUp = joy->buttons[buttonUp]; if(m_buttonDown && !joy->buttons[buttonDown]) moveSelectionRequested(DOWN); m_buttonDown = joy->buttons[buttonDown]; if(m_buttonDec && !joy->buttons[buttonLeft] && !collapse) valueChangeRequested(LEFT); m_buttonDec = joy->buttons[buttonLeft]; if(m_buttonInc && !joy->buttons[buttonRight]) valueChangeRequested(RIGHT); m_buttonInc = joy->buttons[buttonRight]; }