void JoyControlStick::joyEvent(bool ignoresets) { safezone = !inDeadZone(); if (safezone && !isActive) { isActive = true; emit active(axisX->getCurrentRawValue(), axisY->getCurrentRawValue()); createDeskEvent(ignoresets); } else if (!safezone && isActive) { isActive = false; currentDirection = StickCentered; emit released(axisX->getCurrentRawValue(), axisY->getCurrentRawValue()); createDeskEvent(ignoresets); } else if (isActive) { createDeskEvent(ignoresets); } emit moved(axisX->getCurrentRawValue(), axisY->getCurrentRawValue()); }
void JoyAxis::joyEvent(int value, bool ignoresets) { setCurrentRawValue(value); //currentRawValue = value; bool safezone = !inDeadZone(currentRawValue); currentThrottledValue = calculateThrottledValue(value); if (this->stick) { if (safezone && !isActive) { isActive = eventActive = true; emit active(value); } else if (!safezone && isActive) { isActive = eventActive = false; emit released(value); } stick->joyEvent(ignoresets); } else { InputDevice *device = parentSet->getInputDevice(); if (!device->isGameController() && !device->hasCalibrationThrottle(index)) { performCalibration(currentRawValue); safezone = !inDeadZone(currentRawValue); currentThrottledValue = calculateThrottledValue(value); } if (safezone && !isActive) { isActive = eventActive = true; emit active(value); createDeskEvent(ignoresets); } else if (!safezone && isActive) { isActive = eventActive = false; emit released(value); createDeskEvent(ignoresets); } else if (isActive) { createDeskEvent(ignoresets); } } emit moved(currentRawValue); }