19#ifndef JOYCONTROLSTICK_H
20#define JOYCONTROLSTICK_H
71 void getCalibration(
double *offsetX,
double *gainX,
double *offsetY,
double *gainY)
const;
72 void setCalibration(
double offsetX,
double gainX,
double offsetY,
double gainY);
Represents single axis of of joystick (or other input)
Definition joyaxis.h:41
Represents stick of a joystick.
Definition joycontrolstick.h:38
void setIndex(int index)
Definition joycontrolstick.cpp:741
int index
Definition joycontrolstick.h:284
JoyButton::JoyMouseCurve getButtonsPresetMouseCurve()
Definition joycontrolstick.cpp:2013
double calculateBearing()
Calculate the bearing (in degrees) corresponding to the current position of the X and Y axes of a sti...
Definition joycontrolstick.cpp:335
int getMaxZone()
Definition joycontrolstick.cpp:832
double calculateXDistanceFromDeadZone(bool interpolate=false)
Get distance of the X axis past the assigned dead zone.
Definition joycontrolstick.cpp:562
static const JoyMode DEFAULTMODE
Definition joycontrolstick.h:189
void performButtonPress(JoyControlStickButton *eventbutton, JoyControlStickButton *&activebutton, bool ignoresets)
Activate a stick direction button.
Definition joycontrolstick.cpp:2236
void determineFourWayCardinalEvent(JoyControlStickButton *&eventbutton1, JoyControlStickButton *&eventbutton2)
Determine which cardinal stick direction button should be active when using a four way cardinal stick...
Definition joycontrolstick.cpp:2378
int getCircleXCoordinate()
Definition joycontrolstick.cpp:1682
void stickDelayChanged(int value)
double calculateEightWayDiagonalDistanceFromDeadZone()
Definition joycontrolstick.cpp:3623
void setButtonsMinAccelerationThreshold(double value)
Definition joycontrolstick.cpp:2972
double getButtonsMinAccelerationThreshold()
Definition joycontrolstick.cpp:2985
int calculateCircleXValue(int axisXValue, int axisYValue)
Definition joycontrolstick.cpp:1704
void setButtonsSpringWidth(int value)
Definition joycontrolstick.cpp:2040
virtual QString getPartialName(bool forceFullFormat=false, bool displayNames=false)
Definition joycontrolstick.cpp:798
void createDeskEvent(bool ignoresets=false)
Find the position of the two stick axes, deactivate no longer used stick direction button and then ac...
Definition joycontrolstick.cpp:207
double calculateYAxisDistance(int axisYValue)
Definition joycontrolstick.cpp:3610
int getDiagonalRange()
Get the assigned diagonal range value.
Definition joycontrolstick.cpp:198
int maxZone
Definition joycontrolstick.h:283
int getButtonsSpringDeadCircleMultiplier()
Definition joycontrolstick.cpp:3116
int m_modifier_zone
Definition joycontrolstick.h:280
void stickDirectionChangeEvent()
Slot called when directionDelayTimer has timed out. The method will call createDeskEvent.
Definition joycontrolstick.cpp:2769
void queueJoyEvent(bool ignoresets)
Definition joycontrolstick.cpp:2823
void populateStickBtns()
Definition joycontrolstick.cpp:159
void setButtonsStartAccelerationMultiplier(double value)
Definition joycontrolstick.cpp:2928
int deadZone
Definition joycontrolstick.h:279
JoyControlStick::JoyStickDirections determineFourWayCardinalDirection()
Find the current stick direction based on a Four Way Cardinal mode stick.
Definition joycontrolstick.cpp:2516
int getDeadZone()
Get the assigned dead zone value.
Definition joycontrolstick.cpp:192
double getButtonsExtraAccelerationMultiplier()
Definition joycontrolstick.cpp:2897
JoyAxis * getAxisX()
Definition joycontrolstick.cpp:1822
void releaseButtonEvents()
Definition joycontrolstick.cpp:1870
QHash< JoyStickDirections, JoyControlStickButton * > * getButtons()
Definition joycontrolstick.cpp:1820
void determineStandardModeEvent(JoyControlStickButton *&eventbutton1, JoyControlStickButton *&eventbutton2)
Determine which stick direction buttons should be active for a standard mode stick.
Definition joycontrolstick.cpp:2260
int getIndex()
Definition joycontrolstick.cpp:743
bool inDeadZone()
Check the current stick position to see if it lies in the assigned dead zone.
Definition joycontrolstick.cpp:144
void setModifierZone(int value)
Sets the modifier zone of the stick to the given value.
Definition joycontrolstick.cpp:898
JoyControlStickButton * activeButton3
Definition joycontrolstick.h:298
void setButtonsAccelerationExtraDuration(double value)
Definition joycontrolstick.cpp:3060
void getCalibration(double *offsetX, double *gainX, double *offsetY, double *gainY) const
Reads the calibration values of both stick axes.
Definition joycontrolstick.cpp:946
void setButtonsSpringDeadCircleMultiplier(int value)
Definition joycontrolstick.cpp:3103
void setModifierZoneInverted(bool value)
Inverts the direction of the modifier zone of the stick.
Definition joycontrolstick.cpp:914
JoyMode currentMode
Definition joycontrolstick.h:301
void performButtonRelease(JoyControlStickButton *&eventbutton, bool ignoresets)
Stick direction button to release.
Definition joycontrolstick.cpp:2248
void setButtonsExtraAccelerationStatus(bool enabled)
Definition joycontrolstick.cpp:2845
void active(int xaxis, int yaxis)
JoyControlStick::JoyStickDirections determineEightWayModeDirection()
Find the current stick direction based on a Eight Way mode stick.
Definition joycontrolstick.cpp:2501
double getSpringDeadCircleY()
Definition joycontrolstick.cpp:3796
void setButtonsExtraAccelCurve(JoyButton::JoyExtraAccelerationCurve curve)
Definition joycontrolstick.cpp:3838
void setButtonsMaxAccelerationThreshold(double value)
Definition joycontrolstick.cpp:3016
void setCircleAdjust(double circle)
Set the percentage of the outer square that should be ignored when performing the final axis calculat...
Definition joycontrolstick.cpp:2748
QString getStickName()
Definition joycontrolstick.cpp:2190
SetJoystick * getParentSet()
Get pointer to the set that a stick belongs to.
Definition joycontrolstick.cpp:2218
double circle
Definition joycontrolstick.h:287
void joyEvent(bool ignoresets=false)
Take the input value for the two axes that make up a stick and activate the proper event based on the...
Definition joycontrolstick.cpp:72
bool m_modifier_zone_inverted
Definition joycontrolstick.h:281
double calculateXAxisDistance(int axisXValue)
Definition joycontrolstick.cpp:3595
virtual void writeConfig(QXmlStreamWriter *xml)
Write the status of the properties of a stick and direction buttons to an XML stream.
Definition joycontrolstick.cpp:1081
bool hasPendingEvent()
Definition joycontrolstick.cpp:2830
bool safezone
Definition joycontrolstick.h:290
bool getModifierZoneInverted() const
Checks if the modifier zone of this stick is inverted.
Definition joycontrolstick.cpp:843
double getAbsoluteRawDistance()
Get the raw radial distance of the stick. Values will be between 0 - 32,767.
Definition joycontrolstick.cpp:691
bool isActive
Definition joycontrolstick.h:289
int originset
Definition joycontrolstick.h:278
double calculateYDistanceFromDeadZone(bool interpolate=false)
Get distance of the Y axis past the assigned dead zone.
Definition joycontrolstick.cpp:432
double calculateYDiagonalDeadZone(int axisXValue, int axisYValue)
Definition joycontrolstick.cpp:3707
void maxZoneChanged(int value)
int calculateCircleYValue(int axisXValue, int axisYValue)
Definition joycontrolstick.cpp:1727
~JoyControlStick()
Definition joycontrolstick.cpp:59
JoyControlStickButton * activeButton1
Definition joycontrolstick.h:296
void modifierZoneChanged(int value)
int getRealJoyIndex()
Definition joycontrolstick.cpp:745
void copyAssignments(JoyControlStick *destStick)
Copy slots from all stick buttons and properties from a stick onto another.
Definition joycontrolstick.cpp:2704
double getButtonsMaxAccelerationThreshold()
Definition joycontrolstick.cpp:3029
double calculateDirectionalDistance()
Used to calculate the distance value that should be used for keyboard events and distance slots.
Definition joycontrolstick.cpp:1619
JoyMode
Definition joycontrolstick.h:46
@ StandardMode
Definition joycontrolstick.h:47
@ FourWayDiagonal
Definition joycontrolstick.h:50
@ EightWayMode
Definition joycontrolstick.h:48
@ FourWayCardinal
Definition joycontrolstick.h:49
bool hasSameButtonsMouseMode()
Definition joycontrolstick.cpp:1918
void setButtonsSensitivity(double value)
Definition joycontrolstick.cpp:2118
void setDeadZone(int value)
Definition joycontrolstick.cpp:870
void setButtonsEasingDuration(double value)
Definition joycontrolstick.cpp:2783
JoyStickDirections getCurrentDirection()
Get the value for the currently active stick direction.
Definition joycontrolstick.cpp:1668
void replaceXAxis(JoyAxis *axis)
Definition joycontrolstick.cpp:1826
double getNormalizedAbsoluteDistance()
Definition joycontrolstick.cpp:707
int getStickDelay()
Definition joycontrolstick.cpp:2781
void establishPropertyUpdatedConnection()
Definition joycontrolstick.cpp:2624
QList< int > getFourWayCardinalZoneAngles()
Definition joycontrolstick.cpp:1782
virtual QString getDefaultStickName()
Definition joycontrolstick.cpp:830
QHash< JoyStickDirections, JoyControlStickButton * > buttons
Definition joycontrolstick.h:308
void setJoyMode(JoyMode mode)
Definition joycontrolstick.cpp:1861
QHash< JoyStickDirections, JoyControlStickButton * > getApplicableButtons()
Definition joycontrolstick.cpp:2157
JoyStickDirections currentDirection
Definition joycontrolstick.h:300
void resetCalibration()
Resets the calibration of both stick axes back to uncalibrated state.
Definition joycontrolstick.cpp:933
double getButtonsEasingDuration()
Definition joycontrolstick.cpp:2794
JoyControlStickModifierButton * getModifierButton()
Definition joycontrolstick.cpp:2821
void replaceAxes(JoyAxis *axisX, JoyAxis *axisY)
Definition joycontrolstick.cpp:1846
bool pendingStickEvent
Definition joycontrolstick.h:291
JoyControlStick::JoyStickDirections determineFourWayDiagonalDirection()
Find the current stick direction based on a Four Way Diagonal mode stick.
Definition joycontrolstick.cpp:2555
double calculateMouseDirectionalDistance(JoyControlStickButton *button)
Used to calculate the distance value that should be used for mouse movement.
Definition joycontrolstick.cpp:1192
int getModifierZone() const
Returns the modifier zone of the stick.
Definition joycontrolstick.cpp:837
JoyControlStick::JoyStickDirections determineStandardModeDirection()
Find the current stick direction based on a Standard mode stick.
Definition joycontrolstick.cpp:2446
JoyControlStickModifierButton * modifierButton
Definition joycontrolstick.h:309
JoyAxis * getAxisY()
Definition joycontrolstick.cpp:1824
virtual bool isDefault()
Definition joycontrolstick.cpp:1881
JoyControlStick::JoyStickDirections calculateStickDirection()
Calculate the current direction of the stick based on the values of the X and Y axes and the current ...
Definition joycontrolstick.cpp:2592
void moved(int xaxis, int yaxis)
void released(int axis, int yaxis)
JoyButton::JoyMouseMovementMode getButtonsPresetMouseMode()
Definition joycontrolstick.cpp:1947
QString defaultStickName
Definition joycontrolstick.h:304
int stickDelay
Definition joycontrolstick.h:285
void setMaxZone(int value)
Definition joycontrolstick.cpp:882
bool isCalibrated() const
Check if the stick is calibrated.
Definition joycontrolstick.cpp:928
void diagonalRangeChanged(int value)
double getButtonsAccelerationEasingDuration()
Definition joycontrolstick.cpp:3073
void determineEightWayModeEvent(JoyControlStickButton *&eventbutton1, JoyControlStickButton *&eventbutton2, JoyControlStickButton *&eventbutton3)
Determine which stick direction button should be active for a 8 way mode stick.
Definition joycontrolstick.cpp:2321
QList< int > getFourWayDiagonalZoneAngles()
Definition joycontrolstick.cpp:1801
bool getButtonsExtraAccelerationStatus()
Definition joycontrolstick.cpp:2858
void setDirButtonsUpdateInitAccel(JoyControlStick::JoyStickDirections direction, bool state)
Definition joycontrolstick.cpp:3881
void setButtonsWheelSpeedY(int value)
Definition joycontrolstick.cpp:2203
double getCircleAdjust()
Get the current percentage of the outer square that should be ignored when performing the final axis ...
Definition joycontrolstick.cpp:2763
QPointer< JoyAxis > axisY
Definition joycontrolstick.h:294
virtual void setDefaultStickName(QString tempname)
Definition joycontrolstick.cpp:824
virtual void readConfig(QXmlStreamReader *xml)
Take a XML stream and set the stick and direction button properties according to the values contained...
Definition joycontrolstick.cpp:990
virtual QString getName(bool forceFullFormat=false, bool displayNames=false)
Definition joycontrolstick.cpp:747
virtual void populateButtons()
Populate the virtual buttons assigned to an analog stick.
Definition joycontrolstick.cpp:157
QPointer< JoyAxis > axisX
Definition joycontrolstick.h:293
QTimer directionDelayTimer
Definition joycontrolstick.h:306
void setDiagonalRange(int value)
Set the diagonal range value for a stick.
Definition joycontrolstick.cpp:970
int getXCoordinate()
Get the value for the corresponding X axis.
Definition joycontrolstick.cpp:1674
void setStickDelay(int value)
Definition joycontrolstick.cpp:2771
void deadZoneChanged(int value)
double calculateAccelerationDistance(JoyControlStickButton *button)
Definition joycontrolstick.cpp:3146
void setButtonsMouseCurve(JoyButton::JoyMouseCurve mouseCurve)
Definition joycontrolstick.cpp:1974
JoyButton::JoyExtraAccelerationCurve getButtonsExtraAccelerationCurve()
Definition joycontrolstick.cpp:3851
double calculateLastAccelerationButtonDistance(JoyControlStickButton *button)
Definition joycontrolstick.cpp:3373
void setButtonsMouseMode(JoyButton::JoyMouseMovementMode mode)
Definition joycontrolstick.cpp:1907
double calculateXDiagonalDeadZone(int axisXValue, int axisYValue)
Definition joycontrolstick.cpp:3660
void setStickName(QString tempName)
Definition joycontrolstick.cpp:2180
double calculateLastMouseDirectionalDistance(JoyControlStickButton *button)
Definition joycontrolstick.cpp:1280
QString stickName
Definition joycontrolstick.h:303
QHash< JoyStickDirections, JoyControlStickButton * > getButtonsForDirection(JoyControlStick::JoyStickDirections direction)
Definition joycontrolstick.cpp:3899
bool hasSameButtonsMouseCurve()
Definition joycontrolstick.cpp:1985
void setButtonsSpringHeight(int value)
Definition joycontrolstick.cpp:2051
void clearPendingAxisEvents()
void setButtonsWheelSpeedX(int value)
Definition joycontrolstick.cpp:2192
int getYCoordinate()
Get the value for the corresponding Y axis.
Definition joycontrolstick.cpp:1680
void activatePendingEvent()
Definition joycontrolstick.cpp:2832
double getButtonsPresetSensitivity()
Definition joycontrolstick.cpp:2129
double getSpringDeadCircleX()
Definition joycontrolstick.cpp:3754
int getCircleYCoordinate()
Definition joycontrolstick.cpp:1693
void determineFourWayDiagonalEvent(JoyControlStickButton *&eventbutton3)
Determine which stick direction button should be active when using 4 way diagonal mode.
Definition joycontrolstick.cpp:2413
void clearPendingEvent()
Definition joycontrolstick.cpp:2843
void reset()
Definition joycontrolstick.cpp:847
JoyControlStickButton * getDirectionButton(JoyStickDirections direction)
Get a pointer to the stick direction button for the desired direction.
Definition joycontrolstick.cpp:1179
double getButtonsStartAccelerationMultiplier()
Definition joycontrolstick.cpp:2941
double calculateEightWayDiagonalDistance(int axisXValue, int axisYValue)
Definition joycontrolstick.cpp:3644
void resetButtons()
Reset all the properties of the stick direction buttons and the stick modifier button.
Definition joycontrolstick.cpp:1156
bool isRelativeSpring()
Definition joycontrolstick.cpp:2671
void circleAdjustChange(double circle)
void replaceYAxis(JoyAxis *axis)
Definition joycontrolstick.cpp:1836
int getButtonsPresetSpringHeight()
Definition joycontrolstick.cpp:2090
bool hasSlotsAssigned()
Check all stick buttons and see if any have slots assigned.
Definition joycontrolstick.cpp:2638
void disconnectPropertyUpdatedConnection()
Definition joycontrolstick.cpp:2629
int getButtonsPresetSpringWidth()
Definition joycontrolstick.cpp:2062
QList< double > getDiagonalZoneAngles()
Definition joycontrolstick.cpp:1750
JoyMode getJoyMode()
Definition joycontrolstick.cpp:1868
JoyControlStickButton * activeButton2
Definition joycontrolstick.h:297
double calculateLastAccelerationDirectionalDistance()
Definition joycontrolstick.cpp:1552
double getRadialDistance(int axisXValue, int axisYValue)
Definition joycontrolstick.cpp:724
int getCurrentlyAssignedSet()
Definition joycontrolstick.cpp:845
void setCalibration(double offsetX, double gainX, double offsetY, double gainY)
Sets the axis calibration values and sets the calibration flag. Calibrated value is calculated by the...
Definition joycontrolstick.cpp:960
double getDistanceFromDeadZone()
Get current radial distance of the stick position past the assigned dead zone.
Definition joycontrolstick.cpp:389
void setButtonsExtraAccelerationMultiplier(double value)
Definition joycontrolstick.cpp:2885
double calculateLastDirectionalDistance()
Definition joycontrolstick.cpp:1464
int diagonalRange
Definition joycontrolstick.h:282
void setButtonsSpringRelativeStatus(bool value)
Definition joycontrolstick.cpp:2660
Definition joydpadxml.h:27
Definition joycontrolstickdirectionstype.h:23
JoyStickDirections
Definition joycontrolstickdirectionstype.h:26
A set of mapped events which can by switched by a controller event. Contains controller input objects...
Definition setjoystick.h:40