AntiMicroX
Data Structures | Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Slots | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Slots | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
JoyButton Class Reference

Represents a single joystick button being part of a SetJoystick Contains multiple JoyButtonSlots which do the actual mapping. Also has various static methods for mouse cursor movement. More...

#include <joybutton.h>

Inheritance diagram for JoyButton:
[legend]
Collaboration diagram for JoyButton:
[legend]

Data Structures

struct  _mouseCursorInfo
 

Public Types

enum  SetChangeCondition { SetChangeDisabled = 0, SetChangeOneWay, SetChangeTwoWay, SetChangeWhileHeld }
 
enum  JoyMouseMovementMode { MouseCursor = 0, MouseSpring }
 
enum  JoyMouseCurve {
  EnhancedPrecisionCurve = 0, LinearCurve, QuadraticCurve, CubicCurve,
  QuadraticExtremeCurve, PowerCurve, EasingQuadraticCurve, EasingCubicCurve
}
 
enum  JoyExtraAccelerationCurve { LinearAccelCurve, EaseOutSineCurve, EaseOutQuadAccelCurve, EaseOutCubicAccelCurve }
 
enum  TurboMode { NormalTurbo = 0, GradientTurbo, PulseTurbo }
 
typedef struct JoyButton::_mouseCursorInfo mouseCursorInfo
 

Public Slots

void setTurboInterval (int interval)
 
void setToggle (bool toggle)
 
void setUseTurbo (bool useTurbo)
 
void setMouseSpeedX (int speed)
 
void setMouseSpeedY (int speed)
 
void setWheelSpeed (int speed, QChar ax)
 
void setSpringWidth (int value)
 
void setSpringHeight (int value)
 
void setSensitivity (double value)
 
void setSpringRelativeStatus (bool value)
 
void setActionName (QString tempName)
 
void setButtonName (QString tempName)
 
void setEasingDuration (double value)
 
void establishPropertyUpdatedConnections ()
 
void disconnectPropertyUpdatedConnections ()
 
void removeAssignedSlot (int index)
 
virtual void reset ()
 
virtual void reset (int index)
 
virtual void resetProperties ()
 
virtual void clearSlotsEventReset (bool clearSignalEmit=true)
 
virtual void eventReset ()
 
virtual void mouseEvent ()
 Calculate mouse movement coordinates for mouse movement slots currently active. More...
 
static void establishMouseTimerConnections ()
 Change initial settings used for mouse event timer being used by the application. More...
 
bool setAssignedSlot (int code, int alias, int index, JoyButtonSlot::JoySlotInputAction mode=JoyButtonSlot::JoyKeyboard)
 Create new JoyButtonSlot with data provided and replace an existing slot in the assignment list if one exists. More...
 
bool setAssignedSlot (int code, JoyButtonSlot::JoySlotInputAction mode=JoyButtonSlot::JoyKeyboard)
 Create new JoyButtonSlot with data provided and append the new slot an existing to the assignment list. More...
 
bool setAssignedSlot (int code, int alias, JoyButtonSlot::JoySlotInputAction mode=JoyButtonSlot::JoyKeyboard)
 Create new JoyButtonSlot with data provided and append the new slot an existing to the assignment list. More...
 
bool setAssignedSlot (JoyButtonSlot *otherSlot, int index)
 
bool insertAssignedSlot (int code, int alias, int index, JoyButtonSlot::JoySlotInputAction mode=JoyButtonSlot::JoyKeyboard)
 Create new JoyButtonSlot with data provided and insert it into assignments list if it is valid. More...
 
void buildActiveZoneSummaryString ()
 Generate active zone string and notify other objects. More...
 

Signals

void clicked (int index)
 
void released (int index)
 
void keyChanged (int keycode)
 
void mouseChanged (int mousecode)
 
void setChangeActivated (int index)
 
void setAssignmentChanged (int current_button, int associated_set, int mode)
 
void finishedPause ()
 
void turboChanged (bool state)
 
void toggleChanged (bool state)
 
void turboIntervalChanged (int interval)
 
void slotsChanged ()
 
void actionNameChanged ()
 
void buttonNameChanged ()
 
void propertyUpdated ()
 
void activeZoneChanged ()
 

Public Member Functions

 JoyButton (int sdl_button_index, int originset, SetJoystick *parentSet, QObject *parent)
 
 ~JoyButton ()
 
void joyEvent (bool pressed, bool ignoresets=false)
 Activates mapped slots and generates QT events which highlight pressed controller buttons. More...
 
void queuePendingEvent (bool pressed, bool ignoresets=false)
 
void activatePendingEvent ()
 
void setJoyNumber (int index)
 
void clearPendingEvent ()
 
void setCustomName (QString name)
 
void setUpdateInitAccel (bool state)
 
void removeVDPad ()
 
void setIgnoreEventState (bool ignore)
 
void setMouseMode (JoyMouseMovementMode mousemode)
 
void setMouseCurve (JoyMouseCurve selectedCurve)
 
void setWhileHeldStatus (bool status)
 
void setCycleResetStatus (bool enabled)
 
void copyAssignments (JoyButton *destButton)
 Copy assignments and properties from one button to another. Used for set copying. More...
 
void resetAccelerationDistances ()
 
void setExtraAccelerationStatus (bool status)
 
void setExtraAccelerationMultiplier (double value)
 
void setCycleResetTime (int interval)
 
void setMinAccelThreshold (double value)
 
void setExtraAccelerationCurve (JoyExtraAccelerationCurve curve)
 
void setSpringDeadCircleMultiplier (int value)
 
void setAccelExtraDuration (double value)
 
void setStartAccelMultiplier (double value)
 
void setMaxAccelThreshold (double value)
 
void setChangeSetSelection (int index, bool updateActiveString=true)
 
void activateMiniSlots (JoyButtonSlot *slot, JoyButtonSlot *mix)
 
bool hasPendingEvent ()
 
bool getToggleState ()
 
bool isUsingTurbo ()
 
bool getButtonState ()
 Checks if this button is currently active. More...
 
bool containsSequence ()
 
bool containsDistanceSlots ()
 
bool containsReleaseSlots ()
 
bool getIgnoreEventState ()
 
bool getWhileHeldStatus ()
 
bool hasActiveSlots ()
 
bool isCycleResetActive ()
 
bool isRelativeSpring ()
 
bool isPartVDPad ()
 
bool isExtraAccelerationEnabled ()
 
double getMinAccelThreshold ()
 
double getMaxAccelThreshold ()
 
double getStartAccelMultiplier ()
 
double getAccelExtraDuration ()
 
double getExtraAccelerationMultiplier ()
 
double getSensitivity ()
 
double getEasingDuration ()
 
int getJoyNumber ()
 Get 0 indexed number of SDL button index. More...
 
int getTurboInterval ()
 
int getMouseSpeedX ()
 
int getMouseSpeedY ()
 
int getWheelSpeedX ()
 
int getWheelSpeedY ()
 
int getSetSelection ()
 
int getOriginSet ()
 
int getSpringWidth ()
 
int getSpringHeight ()
 
int getCycleResetTime ()
 
int getSpringDeadCircleMultiplier ()
 
QString getCustomName ()
 
QString getActionName ()
 
QString getButtonName ()
 
QList< JoyButtonSlot * > * getAssignedSlots ()
 
const QList< JoyButtonSlot * > & getActiveSlots ()
 
virtual bool isPartRealAxis ()
 Check if button should be considered a part of a real controller axis. Needed for some dialogs so the program won't have to resort to type checking. More...
 
virtual bool isModifierButton ()
 
bool isDefault ()
 Check if button properties are at their default values. More...
 
virtual JoyMouseCurve getDefaultMouseCurve () const
 Returns the default mouse curve for this JoyButton type. Can be overwritten by subclasses. More...
 
virtual int getRealJoyNumber () const
 Get a 1 indexed number of button. More...
 
virtual double getDistanceFromDeadZone ()
 Get the distance that an element is away from its assigned dead zone. More...
 
virtual double getMouseDistanceFromDeadZone ()
 Get the distance factor that should be used for mouse movement. More...
 
virtual double getLastMouseDistanceFromDeadZone ()
 
virtual double getAccelerationDistance ()
 
virtual double getLastAccelerationDistance ()
 
virtual void initializeDistanceValues ()
 
virtual void setTurboMode (TurboMode mode)
 Set the turbo mode that the button should use. More...
 
virtual void setDefaultButtonName (QString tempname)
 
virtual void copyLastMouseDistanceFromDeadZone (JoyButton *srcButton)
 
virtual void copyLastAccelerationDistance (JoyButton *srcButton)
 
virtual void setVDPad (VDPad *vdpad)
 
virtual void setChangeSetCondition (SetChangeCondition condition, bool passive=false, bool updateActiveString=true)
 
virtual QString getPartialName (bool forceFullFormat=false, bool displayNames=false) const
 
virtual QString getSlotsSummary ()
 Generate a string representing a summary of the slots currently assigned to a button. More...
 
virtual QString getSlotsString ()
 Generate a string representing all the currently assigned slots for a button. More...
 
virtual QString getActiveZoneSummary ()
 Generate a string that represents slots that will be activated or slots that are currently active if a button is pressed. More...
 
virtual QString getCalculatedActiveZoneSummary ()
 
virtual QString getName (bool forceFullFormat=false, bool displayNames=false)
 
virtual QString getXmlName ()
 
virtual QString getDefaultButtonName ()
 
virtual QList< JoyButtonSlot * > getActiveZoneList ()
 
SetChangeCondition getChangeSetCondition ()
 
VDPadgetVDPad ()
 
JoyMouseMovementMode getMouseMode ()
 
JoyMouseCurve getMouseCurve ()
 
SetJoystickgetParentSet ()
 
TurboMode getTurboMode ()
 Get currently assigned turbo mode. More...
 
JoyExtraAccelerationCurve getExtraAccelerationCurve ()
 
bool insertAssignedSlot (JoyButtonSlot *slot, bool updateActiveString=true)
 
bool insertAssignedSlot (JoyButtonSlot *newSlot, int index, bool updateActiveString=true)
 
bool containsJoyMixSlot ()
 

Static Public Member Functions

static int calculateFinalMouseSpeed (JoyMouseCurve curve, int value, const float joyspeed)
 Calculate maximum mouse speed when using a given mouse curve. More...
 
static bool hasCursorEvents (QList< JoyButton::mouseCursorInfo > *cursorXSpeedsList, QList< JoyButton::mouseCursorInfo > *cursorYSpeedsList)
 
static bool hasSpringEvents (QList< PadderCommon::springModeInfo > *springXSpeedsList, QList< PadderCommon::springModeInfo > *springYSpeedsList)
 
static bool shouldInvokeMouseEvents (QList< JoyButton * > *pendingMouseButtons, QTimer *staticMouseEventTimer, QElapsedTimer *testOldMouseTime)
 
static void setWeightModifier (double modifier, double maxWeightModifier, double &weightModifier)
 Set the weight modifier to use for mouse smoothing. More...
 
static void moveMouseCursor (int &movedX, int &movedY, int &movedElapsed, QList< double > *mouseHistoryX, QList< double > *mouseHistoryY, QElapsedTimer *testOldMouseTime, QTimer *staticMouseEventTimer, int mouseRefreshRate, int mouseHistorySize, QList< JoyButton::mouseCursorInfo > *cursorXSpeeds, QList< JoyButton::mouseCursorInfo > *cursorYSpeeds, double &cursorRemainderX, double &cursorRemainderY, double weightModifier, int idleMouseRefrRate, QList< JoyButton * > *pendingMouseButtonse)
 Take cursor mouse information provided by all buttons and send a cursor mode mouse event to the display server. More...
 
static void moveSpringMouse (int &movedX, int &movedY, bool &hasMoved, int springModeScreen, QList< PadderCommon::springModeInfo > *springXSpeeds, QList< PadderCommon::springModeInfo > *springYSpeeds, QList< JoyButton * > *pendingMouseButtons, int mouseRefreshRate, int idleMouseRefrRate, QTimer *staticMouseEventTimer)
 Take spring mouse information provided by all buttons and send a spring mode mouse event to the display server. More...
 
static void setMouseHistorySize (int size, int maxMouseHistSize, int &mouseHistSize, QList< double > *mouseHistoryX, QList< double > *mouseHistoryY)
 Set mouse history buffer size used for mouse smoothing. More...
 
static void setMouseRefreshRate (int refresh, int &mouseRefreshRate, int idleMouseRefrRate, JoyButtonMouseHelper *mouseHelper, QList< double > *mouseHistoryX, QList< double > *mouseHistoryY, QElapsedTimer *testOldMouseTime, QTimer *staticMouseEventTimer)
 Set the mouse refresh rate when a mouse slot is active. More...
 
static void setSpringModeScreen (int screen, int &springModeScreen)
 
static void resetActiveButtonMouseDistances (JoyButtonMouseHelper *mouseHelper)
 
static void setGamepadRefreshRate (int refresh, int &gamepadRefreshRate, JoyButtonMouseHelper *mouseHelper)
 Set the gamepad poll rate to be used in the application. More...
 
static void restartLastMouseTime (QElapsedTimer *testOldMouseTime)
 
static void setStaticMouseThread (QThread *thread, QTimer *staticMouseEventTimer, QElapsedTimer *testOldMouseTime, int idleMouseRefrRate, JoyButtonMouseHelper *mouseHelper)
 
static void indirectStaticMouseThread (QThread *thread, QTimer *staticMouseEventTimer, JoyButtonMouseHelper *mouseHelper)
 
static void invokeMouseEvents (JoyButtonMouseHelper *mouseHelper)
 
static JoyButtonMouseHelpergetMouseHelper ()
 
static QList< JoyButton * > * getPendingMouseButtons ()
 Get the list of buttons that have a pending mouse movement event. More...
 
static QList< JoyButton::mouseCursorInfo > * getCursorXSpeeds ()
 
static QList< JoyButton::mouseCursorInfo > * getCursorYSpeeds ()
 
static QList< PadderCommon::springModeInfo > * getSpringXSpeeds ()
 
static QList< PadderCommon::springModeInfo > * getSpringYSpeeds ()
 
static QTimer * getStaticMouseEventTimer ()
 
static QElapsedTimer * getTestOldMouseTime ()
 

Static Public Attributes

static const JoyMouseCurve DEFAULTMOUSECURVE = JoyButton::EnhancedPrecisionCurve
 
static const SetChangeCondition DEFAULTSETCONDITION = JoyButton::SetChangeDisabled
 
static const JoyMouseMovementMode DEFAULTMOUSEMODE = JoyButton::MouseCursor
 
static const TurboMode DEFAULTTURBOMODE = JoyButton::NormalTurbo
 
static const JoyExtraAccelerationCurve DEFAULTEXTRAACCELCURVE = JoyButton::LinearAccelCurve
 

Protected Slots

virtual void turboEvent ()
 
virtual void wheelEventVertical ()
 
virtual void wheelEventHorizontal ()
 
void createDeskEvent ()
 
void releaseDeskEvent (bool skipsetchange=false)
 

Protected Member Functions

int getPreferredKeyPressTime ()
 Obtain the appropriate key press time for the current event. Order of preference: active key press time slot value -> profile value -> program default value. More...
 
double getTotalSlotDistance (JoyButtonSlot *slot)
 
bool distanceEvent ()
 
bool checkForDelaySequence ()
 TODO: CHECK IF METHOD WOULD BE USEFUL. CURRENTLY NOT USED. More...
 
void clearAssignedSlots (bool signalEmit=true)
 
void releaseSlotEvent ()
 
void checkForPressedSetChange ()
 
void checkTurboCondition (JoyButtonSlot *slot)
 Check if turbo should be disabled for a slot. More...
 
void vdpadPassEvent (bool pressed, bool ignoresets=false)
 
void localBuildActiveZoneSummaryString ()
 Generate active zone string but do not notify any other object. More...
 
virtual double getCurrentSpringDeadCircle ()
 
QString buildActiveZoneSummary (QList< JoyButtonSlot * > &tempList)
 

Static Protected Member Functions

static bool hasFutureSpringEvents (QList< JoyButton * > *pendingMouseButtons)
 

Protected Attributes

TurboMode currentTurboMode
 
int m_index_sdl
 
int turboInterval
 
int wheelSpeedX
 
int wheelSpeedY
 
int setSelection
 
int tempTurboInterval
 
int springDeadCircleMultiplier
 
bool isButtonPressed
 
bool isKeyPressed
 
double lastDistance
 
double lastWheelVerticalDistance
 
double lastWheelHorizontalDistance
 
QTimer turboTimer
 
QTimer mouseWheelVerticalEventTimer
 
QTimer mouseWheelHorizontalEventTimer
 
QElapsedTimer wheelVerticalTime
 
QElapsedTimer wheelHorizontalTime
 
QElapsedTimer turboHold
 
QPointer< SetJoystickm_parentSet
 
SetChangeCondition setSelectionCondition
 
JoyButtonSlotcurrentWheelVerticalEvent
 
JoyButtonSlotcurrentWheelHorizontalEvent
 
QQueue< bool > ignoreSetQueue
 
QQueue< bool > isButtonPressedQueue
 
QQueue< JoyButtonSlot * > mouseWheelVerticalEventQueue
 
QQueue< JoyButtonSlot * > mouseWheelHorizontalEventQueue
 
QString buttonName
 
QString defaultButtonName
 

Static Protected Attributes

static int timeBetweenMiniSlots = 55
 
static int allSlotTimeBetweenSlots = 0
 
static QList< JoyButtonSlot * > mouseSpeedModList
 
static QList< mouseCursorInfocursorXSpeeds
 
static QList< mouseCursorInfocursorYSpeeds
 
static QList< PadderCommon::springModeInfospringXSpeeds
 
static QList< PadderCommon::springModeInfospringYSpeeds
 
static QList< JoyButton * > pendingMouseButtons
 
static JoyButtonSlotlastActiveKey = nullptr
 
static JoyButtonMouseHelper mouseHelper
 

Private Slots

void releaseActiveSlots ()
 
void activateSlots ()
 
void waitForDeskEvent ()
 
void waitForReleaseDeskEvent ()
 
void holdEvent ()
 
void delayEvent ()
 
void pauseWaitEvent ()
 
void checkForSetChange ()
 
void keyPressEvent ()
 
void slotSetChange ()
 

Private Member Functions

void updatePendingParams (bool isEvent, bool isPressed, bool areIgnoredSets)
 
void updateMouseParams (bool updatedLastDist, bool updatedStartDist, double oldAccelMultiVal)
 
void resetSlotsProp (bool currentChangedSlot=false)
 
void stopTimers (bool stoppedSlotSetTimer)
 
void clearQueues ()
 
void restartAccelParams (bool updatedOldAccel, bool restartedAccelDurTimer, bool restartedRestParams)
 
void lockForWritedString (QString &param, QString value)
 
void releaseEachSlot (bool &changeRepeatState, int &references, int tempcode, JoyButtonSlot::JoySlotInputAction mode, JoyButtonSlot *slot)
 
void resetAllProperties ()
 
void resetPrivVars ()
 
void restartAllForSetChange ()
 
void startTimerOverrun (int slotCode, QElapsedTimer *currSlotTime, QTimer *currSlotTimer, bool releasedDeskTimer=false)
 
void findJoySlotsEnd (QListIterator< JoyButtonSlot * > *slotiter)
 
void changeStatesQueue (bool currentReleased)
 
void countActiveSlots (int tempcode, int &references, JoyButtonSlot *slot, QHash< int, int > &activeSlotsHash, bool &changeRepeatState, bool activeSlotHashWindows=false)
 
void releaseMoveSlots (QList< JoyButton::mouseCursorInfo > &cursorSpeeds, JoyButtonSlot *slot, QList< int > &indexesToRemove)
 
void setSpringDeadCircle (double &springDeadCircle, int mouseDirection)
 
void checkSpringDeadCircle (int tempcode, double &springDeadCircle, int mouseSlot1, int mouseSlot2)
 
void setDistanceForSpring (JoyButtonMouseHelper &mouseHelper, double &mouseFirstAx, double &mouseSecondAx, double distanceFromDeadZone)
 
void changeTurboParams (bool _isKeyPressed, bool isButtonPressed)
 
void updateParamsAfterDistEvent ()
 
void startSequenceOfPressActive (bool isTurbo, QString debugText)
 
QList< JoyButtonSlot * > & getAssignmentsLocal ()
 
QList< JoyButtonSlot * > & getActiveSlotsLocal ()
 
void updateMouseProperties (double newAxisValue, double newSpringDead, int newSpringWidth, int newSpringHeight, bool relatived, int modeScreen, QList< PadderCommon::springModeInfo > &springSpeeds, QChar axis, double newAxisValueY=0, double newSpringDeadY=0)
 
void buildActiveZoneSummarySwitchSlots (JoyButtonSlot::JoySlotInputAction mode, JoyButtonSlot *slot, bool &behindHold, QStringList *stringlist, int &i, QListIterator< JoyButtonSlot * > *iter, bool slotsActive)
 
void addEachSlotToActives (JoyButtonSlot *slot, int &i, bool &delaySequence, bool &exit, QListIterator< JoyButtonSlot * > *slotiter)
 

Static Private Member Functions

static void distanceForMovingAx (double &finalAx, mouseCursorInfo infoAx)
 Combines mouse movement distances from multiple mouse mappings. More...
 
static void adjustAxForCursor (QList< double > *mouseHistoryList, double &adjustedAx, double &cursorRemainder, double weightModifier)
 

Private Attributes

bool m_toggle
 
bool quitEvent
 
bool isDown
 
bool toggleActiveState
 
bool m_useTurbo
 
bool lastUnlessInList
 
bool m_ignoresets
 
bool ignoreEvents
 
bool whileHeldStatus
 
bool updateLastMouseDistance
 
bool updateStartingMouseDistance
 
bool relativeSpring
 
bool pendingPress
 
bool pendingEvent
 
bool pendingIgnoreSets
 
bool extraAccelerationEnabled
 
bool cycleResetActive
 
bool updateInitAccelValues
 
int mouseSpeedX
 
int mouseSpeedY
 
int m_originset
 
int springWidth
 
int springHeight
 
int currentRawValue
 
int cycleResetInterval
 
double sensitivity
 
double lastMouseDistance
 
double lastAccelerationDistance
 
double currentAccelMulti
 
double accelDuration
 
double oldAccelMulti
 
double accelTravel
 
double updateOldAccelMulti
 
double currentMouseDistance
 
double currentAccelerationDistance
 
double startingAccelerationDistance
 
double minMouseDistanceAccelThreshold
 
double maxMouseDistanceAccelThreshold
 
double startAccelMultiplier
 
double m_easingDuration
 
double extraAccelerationMultiplier
 
QTimer pauseTimer
 
QTimer holdTimer
 
QTimer pauseWaitTimer
 
QTimer createDeskTimer
 
QTimer releaseDeskTimer
 
QTimer setChangeTimer
 
QTimer keyPressTimer
 
QTimer delayTimer
 
QTimer slotSetChangeTimer
 
QString customName
 
QString actionName
 
QString activeZoneString
 
QList< JoyButtonSlot * > assignments
 
QList< JoyButtonSlot * > activeSlots
 
QListIterator< JoyButtonSlot * > * slotiter
 
QQueue< JoyButtonSlot * > mouseEventQueue
 
JoyButtonSlotcurrentPause
 
JoyButtonSlotcurrentHold
 
JoyButtonSlotcurrentCycle
 
JoyButtonSlotpreviousCycle
 
JoyButtonSlotm_currentDistance
 
JoyButtonSlotcurrentMouseEvent
 
JoyButtonSlotcurrentRelease
 
JoyButtonSlotcurrentKeyPress
 
JoyButtonSlotcurrentDelay
 
JoyButtonSlotcurrentSetChangeSlot
 
QElapsedTimer buttonHold
 
QElapsedTimer pauseHold
 
QElapsedTimer inpauseHold
 
QElapsedTimer buttonHeldRelease
 
QElapsedTimer keyPressHold
 
QElapsedTimer buttonDelay
 
QElapsedTimer accelExtraDurationTime
 
QElapsedTimer cycleResetHold
 
VDPadm_vdpad
 
JoyMouseMovementMode mouseMode
 
JoyMouseCurve mouseCurve
 
JoyExtraAccelerationCurve extraAccelCurve
 
QReadWriteLock activeZoneLock
 
QReadWriteLock assignmentsLock
 
QReadWriteLock activeZoneStringLock
 
QThreadPool * threadPool
 

Static Private Attributes

static QTimer staticMouseEventTimer
 
static QElapsedTimer testOldMouseTime
 

Detailed Description

Represents a single joystick button being part of a SetJoystick Contains multiple JoyButtonSlots which do the actual mapping. Also has various static methods for mouse cursor movement.

Member Typedef Documentation

◆ mouseCursorInfo

Member Enumeration Documentation

◆ JoyExtraAccelerationCurve

Enumerator
LinearAccelCurve 
EaseOutSineCurve 
EaseOutQuadAccelCurve 
EaseOutCubicAccelCurve 

◆ JoyMouseCurve

Enumerator
EnhancedPrecisionCurve 
LinearCurve 
QuadraticCurve 
CubicCurve 
QuadraticExtremeCurve 
PowerCurve 
EasingQuadraticCurve 
EasingCubicCurve 

◆ JoyMouseMovementMode

Enumerator
MouseCursor 
MouseSpring 

◆ SetChangeCondition

Enumerator
SetChangeDisabled 
SetChangeOneWay 
SetChangeTwoWay 
SetChangeWhileHeld 

◆ TurboMode

Enumerator
NormalTurbo 
GradientTurbo 
PulseTurbo 

Constructor & Destructor Documentation

◆ JoyButton()

JoyButton::JoyButton ( int  sdl_button_index,
int  originset,
SetJoystick parentSet,
QObject *  parent 
)
explicit
Here is the call graph for this function:

◆ ~JoyButton()

JoyButton::~JoyButton ( )
Here is the call graph for this function:

Member Function Documentation

◆ actionNameChanged

void JoyButton::actionNameChanged ( )
signal
Here is the caller graph for this function:

◆ activateMiniSlots()

void JoyButton::activateMiniSlots ( JoyButtonSlot slot,
JoyButtonSlot mix 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ activatePendingEvent()

void JoyButton::activatePendingEvent ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ activateSlots

void JoyButton::activateSlots ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ activeZoneChanged

void JoyButton::activeZoneChanged ( )
signal
Here is the caller graph for this function:

◆ addEachSlotToActives()

void JoyButton::addEachSlotToActives ( JoyButtonSlot slot,
int &  i,
bool &  delaySequence,
bool &  exit,
QListIterator< JoyButtonSlot * > *  slotiter 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ adjustAxForCursor()

void JoyButton::adjustAxForCursor ( QList< double > *  mouseHistoryList,
double &  adjustedAx,
double &  cursorRemainder,
double  weightModifier 
)
staticprivate
Here is the caller graph for this function:

◆ buildActiveZoneSummary()

QString JoyButton::buildActiveZoneSummary ( QList< JoyButtonSlot * > &  tempList)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ buildActiveZoneSummaryString

void JoyButton::buildActiveZoneSummaryString ( )
slot

Generate active zone string and notify other objects.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ buildActiveZoneSummarySwitchSlots()

void JoyButton::buildActiveZoneSummarySwitchSlots ( JoyButtonSlot::JoySlotInputAction  mode,
JoyButtonSlot slot,
bool &  behindHold,
QStringList *  stringlist,
int &  i,
QListIterator< JoyButtonSlot * > *  iter,
bool  slotsActive 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ buttonNameChanged

void JoyButton::buttonNameChanged ( )
signal
Here is the caller graph for this function:

◆ calculateFinalMouseSpeed()

int JoyButton::calculateFinalMouseSpeed ( JoyMouseCurve  curve,
int  value,
const float  joyspeed 
)
static

Calculate maximum mouse speed when using a given mouse curve.

Parameters
Mousecurve
Mousespeed value
Returns
Final mouse speed
Here is the caller graph for this function:

◆ changeStatesQueue()

void JoyButton::changeStatesQueue ( bool  currentReleased)
private
Here is the caller graph for this function:

◆ changeTurboParams()

void JoyButton::changeTurboParams ( bool  _isKeyPressed,
bool  isButtonPressed 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkForDelaySequence()

bool JoyButton::checkForDelaySequence ( )
protected

TODO: CHECK IF METHOD WOULD BE USEFUL. CURRENTLY NOT USED.

Returns
Result
Here is the call graph for this function:

◆ checkForPressedSetChange()

void JoyButton::checkForPressedSetChange ( )
protected
Here is the caller graph for this function:

◆ checkForSetChange

void JoyButton::checkForSetChange ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkSpringDeadCircle()

void JoyButton::checkSpringDeadCircle ( int  tempcode,
double &  springDeadCircle,
int  mouseSlot1,
int  mouseSlot2 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkTurboCondition()

void JoyButton::checkTurboCondition ( JoyButtonSlot slot)
protected

Check if turbo should be disabled for a slot.

Parameters
JoyButtonSlotto check
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clearAssignedSlots()

void JoyButton::clearAssignedSlots ( bool  signalEmit = true)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clearPendingEvent()

void JoyButton::clearPendingEvent ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clearQueues()

void JoyButton::clearQueues ( )
inlineprivate
Here is the caller graph for this function:

◆ clearSlotsEventReset

void JoyButton::clearSlotsEventReset ( bool  clearSignalEmit = true)
virtualslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clicked

void JoyButton::clicked ( int  index)
signal
Here is the caller graph for this function:

◆ containsDistanceSlots()

bool JoyButton::containsDistanceSlots ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ containsJoyMixSlot()

bool JoyButton::containsJoyMixSlot ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ containsReleaseSlots()

bool JoyButton::containsReleaseSlots ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ containsSequence()

bool JoyButton::containsSequence ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ copyAssignments()

void JoyButton::copyAssignments ( JoyButton destButton)

Copy assignments and properties from one button to another. Used for set copying.

Parameters
Buttoninstance that should be modified.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ copyLastAccelerationDistance()

void JoyButton::copyLastAccelerationDistance ( JoyButton srcButton)
virtual
Here is the caller graph for this function:

◆ copyLastMouseDistanceFromDeadZone()

void JoyButton::copyLastMouseDistanceFromDeadZone ( JoyButton srcButton)
virtual
Here is the caller graph for this function:

◆ countActiveSlots()

void JoyButton::countActiveSlots ( int  tempcode,
int &  references,
JoyButtonSlot slot,
QHash< int, int > &  activeSlotsHash,
bool &  changeRepeatState,
bool  activeSlotHashWindows = false 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createDeskEvent

void JoyButton::createDeskEvent ( )
protectedslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ delayEvent

void JoyButton::delayEvent ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ disconnectPropertyUpdatedConnections

void JoyButton::disconnectPropertyUpdatedConnections ( )
slot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ distanceEvent()

bool JoyButton::distanceEvent ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ distanceForMovingAx()

void JoyButton::distanceForMovingAx ( double &  finalAx,
mouseCursorInfo  infoAx 
)
staticprivate

Combines mouse movement distances from multiple mouse mappings.

Parameters
[in,out]finalAxCombined mouse distance from previous iteration. Updated by this function.
[in]infoAxNext mouse event to join into finalAx.
Here is the caller graph for this function:

◆ establishMouseTimerConnections

void JoyButton::establishMouseTimerConnections ( )
staticslot

Change initial settings used for mouse event timer being used by the application.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ establishPropertyUpdatedConnections

void JoyButton::establishPropertyUpdatedConnections ( )
slot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ eventReset

void JoyButton::eventReset ( )
virtualslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ findJoySlotsEnd()

void JoyButton::findJoySlotsEnd ( QListIterator< JoyButtonSlot * > *  slotiter)
private
Here is the caller graph for this function:

◆ finishedPause

void JoyButton::finishedPause ( )
signal

◆ getAccelerationDistance()

double JoyButton::getAccelerationDistance ( )
virtual

Reimplemented in JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getAccelExtraDuration()

double JoyButton::getAccelExtraDuration ( )
Here is the caller graph for this function:

◆ getActionName()

QString JoyButton::getActionName ( )
Here is the caller graph for this function:

◆ getActiveSlots()

const QList< JoyButtonSlot * > & JoyButton::getActiveSlots ( )
Here is the caller graph for this function:

◆ getActiveSlotsLocal()

QList< JoyButtonSlot * > & JoyButton::getActiveSlotsLocal ( )
private
Here is the caller graph for this function:

◆ getActiveZoneList()

QList< JoyButtonSlot * > JoyButton::getActiveZoneList ( )
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getActiveZoneSummary()

QString JoyButton::getActiveZoneSummary ( )
virtual

Generate a string that represents slots that will be activated or slots that are currently active if a button is pressed.

Returns
String of currently applicable slots for a button

Reimplemented in JoyControlStickButton.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getAssignedSlots()

QList< JoyButtonSlot * > * JoyButton::getAssignedSlots ( )
Here is the caller graph for this function:

◆ getAssignmentsLocal()

QList< JoyButtonSlot * > & JoyButton::getAssignmentsLocal ( )
private
Here is the caller graph for this function:

◆ getButtonName()

QString JoyButton::getButtonName ( )
Here is the caller graph for this function:

◆ getButtonState()

bool JoyButton::getButtonState ( )

Checks if this button is currently active.

Returns
True if the button is pressed, false otherwise
Here is the caller graph for this function:

◆ getCalculatedActiveZoneSummary()

QString JoyButton::getCalculatedActiveZoneSummary ( )
virtual

Reimplemented in JoyControlStickButton.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getChangeSetCondition()

JoyButton::SetChangeCondition JoyButton::getChangeSetCondition ( )
Here is the caller graph for this function:

◆ getCurrentSpringDeadCircle()

double JoyButton::getCurrentSpringDeadCircle ( )
protectedvirtual

Reimplemented in JoyControlStickButton.

Here is the caller graph for this function:

◆ getCursorXSpeeds()

QList< JoyButton::mouseCursorInfo > * JoyButton::getCursorXSpeeds ( )
static
Here is the caller graph for this function:

◆ getCursorYSpeeds()

QList< JoyButton::mouseCursorInfo > * JoyButton::getCursorYSpeeds ( )
static
Here is the caller graph for this function:

◆ getCustomName()

QString JoyButton::getCustomName ( )

◆ getCycleResetTime()

int JoyButton::getCycleResetTime ( )
Here is the caller graph for this function:

◆ getDefaultButtonName()

QString JoyButton::getDefaultButtonName ( )
virtual

◆ getDefaultMouseCurve()

JoyButton::JoyMouseCurve JoyButton::getDefaultMouseCurve ( ) const
virtual

Returns the default mouse curve for this JoyButton type. Can be overwritten by subclasses.

Returns
Default mouse curve

Reimplemented in JoySensorButton.

Here is the caller graph for this function:

◆ getDistanceFromDeadZone()

double JoyButton::getDistanceFromDeadZone ( )
virtual

Get the distance that an element is away from its assigned dead zone.

Returns
Normalized distance away from dead zone

Reimplemented in JoySensorButton, JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the caller graph for this function:

◆ getEasingDuration()

double JoyButton::getEasingDuration ( )
Here is the caller graph for this function:

◆ getExtraAccelerationCurve()

JoyButton::JoyExtraAccelerationCurve JoyButton::getExtraAccelerationCurve ( )
Here is the caller graph for this function:

◆ getExtraAccelerationMultiplier()

double JoyButton::getExtraAccelerationMultiplier ( )
Here is the caller graph for this function:

◆ getIgnoreEventState()

bool JoyButton::getIgnoreEventState ( )
Here is the caller graph for this function:

◆ getJoyNumber()

int JoyButton::getJoyNumber ( )

Get 0 indexed number of SDL button index.

Returns
0 indexed button index number
Here is the caller graph for this function:

◆ getLastAccelerationDistance()

double JoyButton::getLastAccelerationDistance ( )
virtual

Reimplemented in JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the caller graph for this function:

◆ getLastMouseDistanceFromDeadZone()

double JoyButton::getLastMouseDistanceFromDeadZone ( )
virtual

Reimplemented in JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the caller graph for this function:

◆ getMaxAccelThreshold()

double JoyButton::getMaxAccelThreshold ( )
Here is the caller graph for this function:

◆ getMinAccelThreshold()

double JoyButton::getMinAccelThreshold ( )
Here is the caller graph for this function:

◆ getMouseCurve()

JoyButton::JoyMouseCurve JoyButton::getMouseCurve ( )
Here is the caller graph for this function:

◆ getMouseDistanceFromDeadZone()

double JoyButton::getMouseDistanceFromDeadZone ( )
virtual

Get the distance factor that should be used for mouse movement.

Returns
Distance factor that should be used for mouse movement

Reimplemented in JoySensorButton, JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMouseHelper()

JoyButtonMouseHelper * JoyButton::getMouseHelper ( )
static
Here is the caller graph for this function:

◆ getMouseMode()

JoyButton::JoyMouseMovementMode JoyButton::getMouseMode ( )
Here is the caller graph for this function:

◆ getMouseSpeedX()

int JoyButton::getMouseSpeedX ( )
Here is the caller graph for this function:

◆ getMouseSpeedY()

int JoyButton::getMouseSpeedY ( )
Here is the caller graph for this function:

◆ getName()

QString JoyButton::getName ( bool  forceFullFormat = false,
bool  displayNames = false 
)
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOriginSet()

int JoyButton::getOriginSet ( )
Here is the caller graph for this function:

◆ getParentSet()

SetJoystick * JoyButton::getParentSet ( )
Here is the caller graph for this function:

◆ getPartialName()

QString JoyButton::getPartialName ( bool  forceFullFormat = false,
bool  displayNames = false 
) const
virtual

Reimplemented in JoySensorButton, JoyDPadButton, JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPendingMouseButtons()

QList< JoyButton * > * JoyButton::getPendingMouseButtons ( )
static

Get the list of buttons that have a pending mouse movement event.

Returns
QList<JoyButton*>*
Here is the caller graph for this function:

◆ getPreferredKeyPressTime()

int JoyButton::getPreferredKeyPressTime ( )
protected

Obtain the appropriate key press time for the current event. Order of preference: active key press time slot value -> profile value -> program default value.

Returns
Appropriate key press time for current event.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRealJoyNumber()

int JoyButton::getRealJoyNumber ( ) const
virtual

Get a 1 indexed number of button.

Returns
1 indexed button index number

Reimplemented in JoySensorButton, JoyDPadButton, and JoyControlStickButton.

Here is the caller graph for this function:

◆ getSensitivity()

double JoyButton::getSensitivity ( )
Here is the caller graph for this function:

◆ getSetSelection()

int JoyButton::getSetSelection ( )
Here is the caller graph for this function:

◆ getSlotsString()

QString JoyButton::getSlotsString ( )
virtual

Generate a string representing all the currently assigned slots for a button.

Returns
String representing all assigned slots for a button
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSlotsSummary()

QString JoyButton::getSlotsSummary ( )
virtual

Generate a string representing a summary of the slots currently assigned to a button.

Returns
String of currently assigned slots
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSpringDeadCircleMultiplier()

int JoyButton::getSpringDeadCircleMultiplier ( )
Here is the caller graph for this function:

◆ getSpringHeight()

int JoyButton::getSpringHeight ( )
Here is the caller graph for this function:

◆ getSpringWidth()

int JoyButton::getSpringWidth ( )
Here is the caller graph for this function:

◆ getSpringXSpeeds()

QList< PadderCommon::springModeInfo > * JoyButton::getSpringXSpeeds ( )
static
Here is the caller graph for this function:

◆ getSpringYSpeeds()

QList< PadderCommon::springModeInfo > * JoyButton::getSpringYSpeeds ( )
static
Here is the caller graph for this function:

◆ getStartAccelMultiplier()

double JoyButton::getStartAccelMultiplier ( )
Here is the caller graph for this function:

◆ getStaticMouseEventTimer()

QTimer * JoyButton::getStaticMouseEventTimer ( )
static
Here is the caller graph for this function:

◆ getTestOldMouseTime()

QElapsedTimer * JoyButton::getTestOldMouseTime ( )
static
Here is the caller graph for this function:

◆ getToggleState()

bool JoyButton::getToggleState ( )
Here is the caller graph for this function:

◆ getTotalSlotDistance()

double JoyButton::getTotalSlotDistance ( JoyButtonSlot slot)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTurboInterval()

int JoyButton::getTurboInterval ( )
Here is the caller graph for this function:

◆ getTurboMode()

JoyButton::TurboMode JoyButton::getTurboMode ( )

Get currently assigned turbo mode.

Returns
Currently assigned turbo mode
Here is the caller graph for this function:

◆ getVDPad()

VDPad * JoyButton::getVDPad ( )
Here is the caller graph for this function:

◆ getWheelSpeedX()

int JoyButton::getWheelSpeedX ( )
Here is the caller graph for this function:

◆ getWheelSpeedY()

int JoyButton::getWheelSpeedY ( )
Here is the caller graph for this function:

◆ getWhileHeldStatus()

bool JoyButton::getWhileHeldStatus ( )
Here is the caller graph for this function:

◆ getXmlName()

QString JoyButton::getXmlName ( )
virtual

Reimplemented in JoySensorButton, JoyDPadButton, JoyControlStickButton, JoyAxisButton, GameControllerTriggerButton, and JoyControlStickModifierButton.

Here is the caller graph for this function:

◆ hasActiveSlots()

bool JoyButton::hasActiveSlots ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasCursorEvents()

bool JoyButton::hasCursorEvents ( QList< JoyButton::mouseCursorInfo > *  cursorXSpeedsList,
QList< JoyButton::mouseCursorInfo > *  cursorYSpeedsList 
)
static
Here is the caller graph for this function:

◆ hasFutureSpringEvents()

bool JoyButton::hasFutureSpringEvents ( QList< JoyButton * > *  pendingMouseButtons)
staticprotected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasPendingEvent()

bool JoyButton::hasPendingEvent ( )
Here is the caller graph for this function:

◆ hasSpringEvents()

bool JoyButton::hasSpringEvents ( QList< PadderCommon::springModeInfo > *  springXSpeedsList,
QList< PadderCommon::springModeInfo > *  springYSpeedsList 
)
static
Here is the caller graph for this function:

◆ holdEvent

void JoyButton::holdEvent ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ indirectStaticMouseThread()

void JoyButton::indirectStaticMouseThread ( QThread *  thread,
QTimer *  staticMouseEventTimer,
JoyButtonMouseHelper mouseHelper 
)
static
Here is the caller graph for this function:

◆ initializeDistanceValues()

void JoyButton::initializeDistanceValues ( )
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ insertAssignedSlot [1/3]

bool JoyButton::insertAssignedSlot ( int  code,
int  alias,
int  index,
JoyButtonSlot::JoySlotInputAction  mode = JoyButtonSlot::JoyKeyboard 
)
slot

Create new JoyButtonSlot with data provided and insert it into assignments list if it is valid.

Parameters
Nativevirtual code being used.
Qtkey alias used for abstracting native virtual code.
Indexnumber in the list.
Modeof the slot.
Returns
Whether the new slot was successfully added to the assignment list.
Here is the call graph for this function:

◆ insertAssignedSlot() [2/3]

bool JoyButton::insertAssignedSlot ( JoyButtonSlot newSlot,
int  index,
bool  updateActiveString = true 
)
Here is the call graph for this function:

◆ insertAssignedSlot() [3/3]

bool JoyButton::insertAssignedSlot ( JoyButtonSlot slot,
bool  updateActiveString = true 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ invokeMouseEvents()

void JoyButton::invokeMouseEvents ( JoyButtonMouseHelper mouseHelper)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isCycleResetActive()

bool JoyButton::isCycleResetActive ( )
Here is the caller graph for this function:

◆ isDefault()

bool JoyButton::isDefault ( )

Check if button properties are at their default values.

Returns
Status of possible property edits
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isExtraAccelerationEnabled()

bool JoyButton::isExtraAccelerationEnabled ( )
Here is the caller graph for this function:

◆ isModifierButton()

bool JoyButton::isModifierButton ( )
virtual

Reimplemented in JoyControlStickModifierButton.

Here is the caller graph for this function:

◆ isPartRealAxis()

bool JoyButton::isPartRealAxis ( )
virtual

Check if button should be considered a part of a real controller axis. Needed for some dialogs so the program won't have to resort to type checking.

Returns
Status of being part of a real controller axis

Reimplemented in JoySensorButton, JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the caller graph for this function:

◆ isPartVDPad()

bool JoyButton::isPartVDPad ( )
Here is the caller graph for this function:

◆ isRelativeSpring()

bool JoyButton::isRelativeSpring ( )
Here is the caller graph for this function:

◆ isUsingTurbo()

bool JoyButton::isUsingTurbo ( )
Here is the caller graph for this function:

◆ joyEvent()

void JoyButton::joyEvent ( bool  pressed,
bool  ignoresets = false 
)

Activates mapped slots and generates QT events which highlight pressed controller buttons.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ keyChanged

void JoyButton::keyChanged ( int  keycode)
signal

◆ keyPressEvent

void JoyButton::keyPressEvent ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ localBuildActiveZoneSummaryString()

void JoyButton::localBuildActiveZoneSummaryString ( )
protected

Generate active zone string but do not notify any other object.

Here is the call graph for this function:

◆ lockForWritedString()

void JoyButton::lockForWritedString ( QString &  param,
QString  value 
)
inlineprivate
Here is the caller graph for this function:

◆ mouseChanged

void JoyButton::mouseChanged ( int  mousecode)
signal

◆ mouseEvent

void JoyButton::mouseEvent ( )
virtualslot

Calculate mouse movement coordinates for mouse movement slots currently active.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveMouseCursor()

void JoyButton::moveMouseCursor ( int &  movedX,
int &  movedY,
int &  movedElapsed,
QList< double > *  mouseHistoryX,
QList< double > *  mouseHistoryY,
QElapsedTimer *  testOldMouseTime,
QTimer *  staticMouseEventTimer,
int  mouseRefreshRate,
int  mouseHistorySize,
QList< JoyButton::mouseCursorInfo > *  cursorXSpeeds,
QList< JoyButton::mouseCursorInfo > *  cursorYSpeeds,
double &  cursorRemainderX,
double &  cursorRemainderY,
double  weightModifier,
int  idleMouseRefrRate,
QList< JoyButton * > *  pendingMouseButtonse 
)
static

Take cursor mouse information provided by all buttons and send a cursor mode mouse event to the display server.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveSpringMouse()

void JoyButton::moveSpringMouse ( int &  movedX,
int &  movedY,
bool &  hasMoved,
int  springModeScreen,
QList< PadderCommon::springModeInfo > *  springXSpeeds,
QList< PadderCommon::springModeInfo > *  springYSpeeds,
QList< JoyButton * > *  pendingMouseButtons,
int  mouseRefreshRate,
int  idleMouseRefrRate,
QTimer *  staticMouseEventTimer 
)
static

Take spring mouse information provided by all buttons and send a spring mode mouse event to the display server.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pauseWaitEvent

void JoyButton::pauseWaitEvent ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ propertyUpdated

void JoyButton::propertyUpdated ( )
signal
Here is the caller graph for this function:

◆ queuePendingEvent()

void JoyButton::queuePendingEvent ( bool  pressed,
bool  ignoresets = false 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ releaseActiveSlots

void JoyButton::releaseActiveSlots ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ released

void JoyButton::released ( int  index)
signal
Here is the caller graph for this function:

◆ releaseDeskEvent

void JoyButton::releaseDeskEvent ( bool  skipsetchange = false)
protectedslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ releaseEachSlot()

void JoyButton::releaseEachSlot ( bool &  changeRepeatState,
int &  references,
int  tempcode,
JoyButtonSlot::JoySlotInputAction  mode,
JoyButtonSlot slot 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ releaseMoveSlots()

void JoyButton::releaseMoveSlots ( QList< JoyButton::mouseCursorInfo > &  cursorSpeeds,
JoyButtonSlot slot,
QList< int > &  indexesToRemove 
)
private
Here is the caller graph for this function:

◆ releaseSlotEvent()

void JoyButton::releaseSlotEvent ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeAssignedSlot

void JoyButton::removeAssignedSlot ( int  index)
slot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeVDPad()

void JoyButton::removeVDPad ( )
Here is the caller graph for this function:

◆ reset [1/2]

void JoyButton::reset ( )
virtualslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset [2/2]

void JoyButton::reset ( int  index)
virtualslot
Here is the call graph for this function:

◆ resetAccelerationDistances()

void JoyButton::resetAccelerationDistances ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetActiveButtonMouseDistances()

void JoyButton::resetActiveButtonMouseDistances ( JoyButtonMouseHelper mouseHelper)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetAllProperties()

void JoyButton::resetAllProperties ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetPrivVars()

void JoyButton::resetPrivVars ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetProperties

void JoyButton::resetProperties ( )
virtualslot
Here is the call graph for this function:

◆ resetSlotsProp()

void JoyButton::resetSlotsProp ( bool  currentChangedSlot = false)
inlineprivate
Here is the caller graph for this function:

◆ restartAccelParams()

void JoyButton::restartAccelParams ( bool  updatedOldAccel,
bool  restartedAccelDurTimer,
bool  restartedRestParams 
)
inlineprivate
Here is the caller graph for this function:

◆ restartAllForSetChange()

void JoyButton::restartAllForSetChange ( )
private
Here is the caller graph for this function:

◆ restartLastMouseTime()

void JoyButton::restartLastMouseTime ( QElapsedTimer *  testOldMouseTime)
static
Here is the caller graph for this function:

◆ setAccelExtraDuration()

void JoyButton::setAccelExtraDuration ( double  value)
Here is the caller graph for this function:

◆ setActionName

void JoyButton::setActionName ( QString  tempName)
slot
Here is the caller graph for this function:

◆ setAssignedSlot [1/4]

bool JoyButton::setAssignedSlot ( int  code,
int  alias,
int  index,
JoyButtonSlot::JoySlotInputAction  mode = JoyButtonSlot::JoyKeyboard 
)
slot

Create new JoyButtonSlot with data provided and replace an existing slot in the assignment list if one exists.

Parameters
Nativevirtual code being used.
Qtkey alias used for abstracting native virtual code.
Indexnumber in the list.
Modeof the slot.
Returns
Whether the new slot was successfully added to the assignment list.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setAssignedSlot [2/4]

bool JoyButton::setAssignedSlot ( int  code,
int  alias,
JoyButtonSlot::JoySlotInputAction  mode = JoyButtonSlot::JoyKeyboard 
)
slot

Create new JoyButtonSlot with data provided and append the new slot an existing to the assignment list.

Parameters
Nativevirtual code being used.
Qtkey alias used for abstracting native virtual code.
Modeof the slot.
Returns
Whether the new slot was successfully added to the assignment list.
Here is the call graph for this function:

◆ setAssignedSlot [3/4]

bool JoyButton::setAssignedSlot ( int  code,
JoyButtonSlot::JoySlotInputAction  mode = JoyButtonSlot::JoyKeyboard 
)
slot

Create new JoyButtonSlot with data provided and append the new slot an existing to the assignment list.

Parameters
Nativevirtual code being used.
Modeof the slot.
Returns
Whether the new slot was successfully added to the assignment list.
Here is the call graph for this function:

◆ setAssignedSlot [4/4]

bool JoyButton::setAssignedSlot ( JoyButtonSlot otherSlot,
int  index 
)
slot
Here is the call graph for this function:

◆ setAssignmentChanged

void JoyButton::setAssignmentChanged ( int  current_button,
int  associated_set,
int  mode 
)
signal
Here is the caller graph for this function:

◆ setButtonName

void JoyButton::setButtonName ( QString  tempName)
slot
Here is the caller graph for this function:

◆ setChangeActivated

void JoyButton::setChangeActivated ( int  index)
signal
Here is the caller graph for this function:

◆ setChangeSetCondition()

void JoyButton::setChangeSetCondition ( SetChangeCondition  condition,
bool  passive = false,
bool  updateActiveString = true 
)
virtual

Reimplemented in JoySensorButton, JoyDPadButton, JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setChangeSetSelection()

void JoyButton::setChangeSetSelection ( int  index,
bool  updateActiveString = true 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setCustomName()

void JoyButton::setCustomName ( QString  name)

◆ setCycleResetStatus()

void JoyButton::setCycleResetStatus ( bool  enabled)
Here is the caller graph for this function:

◆ setCycleResetTime()

void JoyButton::setCycleResetTime ( int  interval)
Here is the caller graph for this function:

◆ setDefaultButtonName()

void JoyButton::setDefaultButtonName ( QString  tempname)
virtual
Here is the caller graph for this function:

◆ setDistanceForSpring()

void JoyButton::setDistanceForSpring ( JoyButtonMouseHelper mouseHelper,
double &  mouseFirstAx,
double &  mouseSecondAx,
double  distanceFromDeadZone 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setEasingDuration

void JoyButton::setEasingDuration ( double  value)
slot
Here is the caller graph for this function:

◆ setExtraAccelerationCurve()

void JoyButton::setExtraAccelerationCurve ( JoyExtraAccelerationCurve  curve)
Here is the caller graph for this function:

◆ setExtraAccelerationMultiplier()

void JoyButton::setExtraAccelerationMultiplier ( double  value)
Here is the caller graph for this function:

◆ setExtraAccelerationStatus()

void JoyButton::setExtraAccelerationStatus ( bool  status)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setGamepadRefreshRate()

void JoyButton::setGamepadRefreshRate ( int  refresh,
int &  gamepadRefreshRate,
JoyButtonMouseHelper mouseHelper 
)
static

Set the gamepad poll rate to be used in the application.

Parameters
Pollrate in ms.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setIgnoreEventState()

void JoyButton::setIgnoreEventState ( bool  ignore)
Here is the caller graph for this function:

◆ setJoyNumber()

void JoyButton::setJoyNumber ( int  index)

◆ setMaxAccelThreshold()

void JoyButton::setMaxAccelThreshold ( double  value)
Here is the caller graph for this function:

◆ setMinAccelThreshold()

void JoyButton::setMinAccelThreshold ( double  value)
Here is the caller graph for this function:

◆ setMouseCurve()

void JoyButton::setMouseCurve ( JoyMouseCurve  selectedCurve)
Here is the caller graph for this function:

◆ setMouseHistorySize()

void JoyButton::setMouseHistorySize ( int  size,
int  maxMouseHistSize,
int &  mouseHistSize,
QList< double > *  mouseHistoryX,
QList< double > *  mouseHistoryY 
)
static

Set mouse history buffer size used for mouse smoothing.

Parameters
Mousehistory buffer size
Here is the caller graph for this function:

◆ setMouseMode()

void JoyButton::setMouseMode ( JoyMouseMovementMode  mousemode)
Here is the caller graph for this function:

◆ setMouseRefreshRate()

void JoyButton::setMouseRefreshRate ( int  refresh,
int &  mouseRefreshRate,
int  idleMouseRefrRate,
JoyButtonMouseHelper mouseHelper,
QList< double > *  mouseHistoryX,
QList< double > *  mouseHistoryY,
QElapsedTimer *  testOldMouseTime,
QTimer *  staticMouseEventTimer 
)
static

Set the mouse refresh rate when a mouse slot is active.

Parameters
Refreshrate in ms.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setMouseSpeedX

void JoyButton::setMouseSpeedX ( int  speed)
slot
Here is the caller graph for this function:

◆ setMouseSpeedY

void JoyButton::setMouseSpeedY ( int  speed)
slot
Here is the caller graph for this function:

◆ setSensitivity

void JoyButton::setSensitivity ( double  value)
slot
Here is the caller graph for this function:

◆ setSpringDeadCircle()

void JoyButton::setSpringDeadCircle ( double &  springDeadCircle,
int  mouseDirection 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSpringDeadCircleMultiplier()

void JoyButton::setSpringDeadCircleMultiplier ( int  value)
Here is the caller graph for this function:

◆ setSpringHeight

void JoyButton::setSpringHeight ( int  value)
slot
Here is the caller graph for this function:

◆ setSpringModeScreen()

void JoyButton::setSpringModeScreen ( int  screen,
int &  springModeScreen 
)
static
Here is the caller graph for this function:

◆ setSpringRelativeStatus

void JoyButton::setSpringRelativeStatus ( bool  value)
slot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSpringWidth

void JoyButton::setSpringWidth ( int  value)
slot
Here is the caller graph for this function:

◆ setStartAccelMultiplier()

void JoyButton::setStartAccelMultiplier ( double  value)
Here is the caller graph for this function:

◆ setStaticMouseThread()

void JoyButton::setStaticMouseThread ( QThread *  thread,
QTimer *  staticMouseEventTimer,
QElapsedTimer *  testOldMouseTime,
int  idleMouseRefrRate,
JoyButtonMouseHelper mouseHelper 
)
static
Here is the caller graph for this function:

◆ setToggle

void JoyButton::setToggle ( bool  toggle)
slot
Here is the caller graph for this function:

◆ setTurboInterval

void JoyButton::setTurboInterval ( int  interval)
slot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setTurboMode()

void JoyButton::setTurboMode ( TurboMode  mode)
virtual

Set the turbo mode that the button should use.

Parameters
Modethat should be used

Reimplemented in JoyControlStickButton, JoyAxisButton, and JoyControlStickModifierButton.

Here is the caller graph for this function:

◆ setUpdateInitAccel()

void JoyButton::setUpdateInitAccel ( bool  state)
Here is the caller graph for this function:

◆ setUseTurbo

void JoyButton::setUseTurbo ( bool  useTurbo)
slot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setVDPad()

void JoyButton::setVDPad ( VDPad vdpad)
virtual

Reimplemented in JoyAxisButton.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setWeightModifier()

void JoyButton::setWeightModifier ( double  modifier,
double  maxWeightModifier,
double &  weightModifier 
)
static

Set the weight modifier to use for mouse smoothing.

Parameters
Weightmodifier in the range of 0.0 - 1.0.
Here is the caller graph for this function:

◆ setWheelSpeed

void JoyButton::setWheelSpeed ( int  speed,
QChar  ax 
)
slot
Here is the caller graph for this function:

◆ setWhileHeldStatus()

void JoyButton::setWhileHeldStatus ( bool  status)
Here is the caller graph for this function:

◆ shouldInvokeMouseEvents()

bool JoyButton::shouldInvokeMouseEvents ( QList< JoyButton * > *  pendingMouseButtons,
QTimer *  staticMouseEventTimer,
QElapsedTimer *  testOldMouseTime 
)
static
Here is the caller graph for this function:

◆ slotsChanged

void JoyButton::slotsChanged ( )
signal
Here is the caller graph for this function:

◆ slotSetChange

void JoyButton::slotSetChange ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ startSequenceOfPressActive()

void JoyButton::startSequenceOfPressActive ( bool  isTurbo,
QString  debugText 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ startTimerOverrun()

void JoyButton::startTimerOverrun ( int  slotCode,
QElapsedTimer *  currSlotTime,
QTimer *  currSlotTimer,
bool  releasedDeskTimer = false 
)
private
Here is the caller graph for this function:

◆ stopTimers()

void JoyButton::stopTimers ( bool  stoppedSlotSetTimer)
inlineprivate
Here is the caller graph for this function:

◆ toggleChanged

void JoyButton::toggleChanged ( bool  state)
signal
Here is the caller graph for this function:

◆ turboChanged

void JoyButton::turboChanged ( bool  state)
signal
Here is the caller graph for this function:

◆ turboEvent

void JoyButton::turboEvent ( )
protectedvirtualslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ turboIntervalChanged

void JoyButton::turboIntervalChanged ( int  interval)
signal
Here is the caller graph for this function:

◆ updateMouseParams()

void JoyButton::updateMouseParams ( bool  updatedLastDist,
bool  updatedStartDist,
double  oldAccelMultiVal 
)
inlineprivate
Here is the caller graph for this function:

◆ updateMouseProperties()

void JoyButton::updateMouseProperties ( double  newAxisValue,
double  newSpringDead,
int  newSpringWidth,
int  newSpringHeight,
bool  relatived,
int  modeScreen,
QList< PadderCommon::springModeInfo > &  springSpeeds,
QChar  axis,
double  newAxisValueY = 0,
double  newSpringDeadY = 0 
)
private
Here is the caller graph for this function:

◆ updateParamsAfterDistEvent()

void JoyButton::updateParamsAfterDistEvent ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updatePendingParams()

void JoyButton::updatePendingParams ( bool  isEvent,
bool  isPressed,
bool  areIgnoredSets 
)
inlineprivate
Here is the caller graph for this function:

◆ vdpadPassEvent()

void JoyButton::vdpadPassEvent ( bool  pressed,
bool  ignoresets = false 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ waitForDeskEvent

void JoyButton::waitForDeskEvent ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ waitForReleaseDeskEvent

void JoyButton::waitForReleaseDeskEvent ( )
privateslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ wheelEventHorizontal

void JoyButton::wheelEventHorizontal ( )
protectedvirtualslot
Here is the call graph for this function:
Here is the caller graph for this function:

◆ wheelEventVertical

void JoyButton::wheelEventVertical ( )
protectedvirtualslot
Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ accelDuration

double JoyButton::accelDuration
private

◆ accelExtraDurationTime

QElapsedTimer JoyButton::accelExtraDurationTime
private

◆ accelTravel

double JoyButton::accelTravel
private

◆ actionName

QString JoyButton::actionName
private

◆ activeSlots

QList<JoyButtonSlot *> JoyButton::activeSlots
private

◆ activeZoneLock

QReadWriteLock JoyButton::activeZoneLock
private

◆ activeZoneString

QString JoyButton::activeZoneString
private

◆ activeZoneStringLock

QReadWriteLock JoyButton::activeZoneStringLock
private

◆ allSlotTimeBetweenSlots

int JoyButton::allSlotTimeBetweenSlots = 0
staticprotected

◆ assignments

QList<JoyButtonSlot *> JoyButton::assignments
private

◆ assignmentsLock

QReadWriteLock JoyButton::assignmentsLock
private

◆ buttonDelay

QElapsedTimer JoyButton::buttonDelay
private

◆ buttonHeldRelease

QElapsedTimer JoyButton::buttonHeldRelease
private

◆ buttonHold

QElapsedTimer JoyButton::buttonHold
private

◆ buttonName

QString JoyButton::buttonName
protected

◆ createDeskTimer

QTimer JoyButton::createDeskTimer
private

◆ currentAccelerationDistance

double JoyButton::currentAccelerationDistance
private

◆ currentAccelMulti

double JoyButton::currentAccelMulti
private

◆ currentCycle

JoyButtonSlot* JoyButton::currentCycle
private

◆ currentDelay

JoyButtonSlot* JoyButton::currentDelay
private

◆ currentHold

JoyButtonSlot* JoyButton::currentHold
private

◆ currentKeyPress

JoyButtonSlot* JoyButton::currentKeyPress
private

◆ currentMouseDistance

double JoyButton::currentMouseDistance
private

◆ currentMouseEvent

JoyButtonSlot* JoyButton::currentMouseEvent
private

◆ currentPause

JoyButtonSlot* JoyButton::currentPause
private

◆ currentRawValue

int JoyButton::currentRawValue
private

◆ currentRelease

JoyButtonSlot* JoyButton::currentRelease
private

◆ currentSetChangeSlot

JoyButtonSlot* JoyButton::currentSetChangeSlot
private

◆ currentTurboMode

TurboMode JoyButton::currentTurboMode
protected

◆ currentWheelHorizontalEvent

JoyButtonSlot* JoyButton::currentWheelHorizontalEvent
protected

◆ currentWheelVerticalEvent

JoyButtonSlot* JoyButton::currentWheelVerticalEvent
protected

◆ cursorXSpeeds

QList< JoyButton::mouseCursorInfo > JoyButton::cursorXSpeeds
staticprotected

◆ cursorYSpeeds

QList< JoyButton::mouseCursorInfo > JoyButton::cursorYSpeeds
staticprotected

◆ customName

QString JoyButton::customName
private

◆ cycleResetActive

bool JoyButton::cycleResetActive
private

◆ cycleResetHold

QElapsedTimer JoyButton::cycleResetHold
private

◆ cycleResetInterval

int JoyButton::cycleResetInterval
private

◆ defaultButtonName

QString JoyButton::defaultButtonName
protected

◆ DEFAULTEXTRAACCELCURVE

const JoyButton::JoyExtraAccelerationCurve JoyButton::DEFAULTEXTRAACCELCURVE = JoyButton::LinearAccelCurve
static

◆ DEFAULTMOUSECURVE

const JoyButton::JoyMouseCurve JoyButton::DEFAULTMOUSECURVE = JoyButton::EnhancedPrecisionCurve
static

◆ DEFAULTMOUSEMODE

const JoyButton::JoyMouseMovementMode JoyButton::DEFAULTMOUSEMODE = JoyButton::MouseCursor
static

◆ DEFAULTSETCONDITION

const JoyButton::SetChangeCondition JoyButton::DEFAULTSETCONDITION = JoyButton::SetChangeDisabled
static

◆ DEFAULTTURBOMODE

const JoyButton::TurboMode JoyButton::DEFAULTTURBOMODE = JoyButton::NormalTurbo
static

◆ delayTimer

QTimer JoyButton::delayTimer
private

◆ extraAccelCurve

JoyExtraAccelerationCurve JoyButton::extraAccelCurve
private

◆ extraAccelerationEnabled

bool JoyButton::extraAccelerationEnabled
private

◆ extraAccelerationMultiplier

double JoyButton::extraAccelerationMultiplier
private

◆ holdTimer

QTimer JoyButton::holdTimer
private

◆ ignoreEvents

bool JoyButton::ignoreEvents
private

◆ ignoreSetQueue

QQueue<bool> JoyButton::ignoreSetQueue
protected

◆ inpauseHold

QElapsedTimer JoyButton::inpauseHold
private

◆ isButtonPressed

bool JoyButton::isButtonPressed
protected

◆ isButtonPressedQueue

QQueue<bool> JoyButton::isButtonPressedQueue
protected

◆ isDown

bool JoyButton::isDown
private

◆ isKeyPressed

bool JoyButton::isKeyPressed
protected

◆ keyPressHold

QElapsedTimer JoyButton::keyPressHold
private

◆ keyPressTimer

QTimer JoyButton::keyPressTimer
private

◆ lastAccelerationDistance

double JoyButton::lastAccelerationDistance
private

◆ lastActiveKey

JoyButtonSlot * JoyButton::lastActiveKey = nullptr
staticprotected

◆ lastDistance

double JoyButton::lastDistance
protected

◆ lastMouseDistance

double JoyButton::lastMouseDistance
private

◆ lastUnlessInList

bool JoyButton::lastUnlessInList
private

◆ lastWheelHorizontalDistance

double JoyButton::lastWheelHorizontalDistance
protected

◆ lastWheelVerticalDistance

double JoyButton::lastWheelVerticalDistance
protected

◆ m_currentDistance

JoyButtonSlot* JoyButton::m_currentDistance
private

◆ m_easingDuration

double JoyButton::m_easingDuration
private

◆ m_ignoresets

bool JoyButton::m_ignoresets
private

◆ m_index_sdl

int JoyButton::m_index_sdl
protected

◆ m_originset

int JoyButton::m_originset
private

◆ m_parentSet

QPointer<SetJoystick> JoyButton::m_parentSet
protected

◆ m_toggle

bool JoyButton::m_toggle
private

◆ m_useTurbo

bool JoyButton::m_useTurbo
private

◆ m_vdpad

VDPad* JoyButton::m_vdpad
private

◆ maxMouseDistanceAccelThreshold

double JoyButton::maxMouseDistanceAccelThreshold
private

◆ minMouseDistanceAccelThreshold

double JoyButton::minMouseDistanceAccelThreshold
private

◆ mouseCurve

JoyMouseCurve JoyButton::mouseCurve
private

◆ mouseEventQueue

QQueue<JoyButtonSlot *> JoyButton::mouseEventQueue
private

◆ mouseHelper

JoyButtonMouseHelper JoyButton::mouseHelper
staticprotected

◆ mouseMode

JoyMouseMovementMode JoyButton::mouseMode
private

◆ mouseSpeedModList

QList< JoyButtonSlot * > JoyButton::mouseSpeedModList
staticprotected

◆ mouseSpeedX

int JoyButton::mouseSpeedX
private

◆ mouseSpeedY

int JoyButton::mouseSpeedY
private

◆ mouseWheelHorizontalEventQueue

QQueue<JoyButtonSlot *> JoyButton::mouseWheelHorizontalEventQueue
protected

◆ mouseWheelHorizontalEventTimer

QTimer JoyButton::mouseWheelHorizontalEventTimer
protected

◆ mouseWheelVerticalEventQueue

QQueue<JoyButtonSlot *> JoyButton::mouseWheelVerticalEventQueue
protected

◆ mouseWheelVerticalEventTimer

QTimer JoyButton::mouseWheelVerticalEventTimer
protected

◆ oldAccelMulti

double JoyButton::oldAccelMulti
private

◆ pauseHold

QElapsedTimer JoyButton::pauseHold
private

◆ pauseTimer

QTimer JoyButton::pauseTimer
private

◆ pauseWaitTimer

QTimer JoyButton::pauseWaitTimer
private

◆ pendingEvent

bool JoyButton::pendingEvent
private

◆ pendingIgnoreSets

bool JoyButton::pendingIgnoreSets
private

◆ pendingMouseButtons

QList< JoyButton * > JoyButton::pendingMouseButtons
staticprotected

◆ pendingPress

bool JoyButton::pendingPress
private

◆ previousCycle

JoyButtonSlot* JoyButton::previousCycle
private

◆ quitEvent

bool JoyButton::quitEvent
private

◆ relativeSpring

bool JoyButton::relativeSpring
private

◆ releaseDeskTimer

QTimer JoyButton::releaseDeskTimer
private

◆ sensitivity

double JoyButton::sensitivity
private

◆ setChangeTimer

QTimer JoyButton::setChangeTimer
private

◆ setSelection

int JoyButton::setSelection
protected

◆ setSelectionCondition

SetChangeCondition JoyButton::setSelectionCondition
protected

◆ slotiter

QListIterator<JoyButtonSlot *>* JoyButton::slotiter
private

◆ slotSetChangeTimer

QTimer JoyButton::slotSetChangeTimer
private

◆ springDeadCircleMultiplier

int JoyButton::springDeadCircleMultiplier
protected

◆ springHeight

int JoyButton::springHeight
private

◆ springWidth

int JoyButton::springWidth
private

◆ springXSpeeds

QList< PadderCommon::springModeInfo > JoyButton::springXSpeeds
staticprotected

◆ springYSpeeds

QList< PadderCommon::springModeInfo > JoyButton::springYSpeeds
staticprotected

◆ startAccelMultiplier

double JoyButton::startAccelMultiplier
private

◆ startingAccelerationDistance

double JoyButton::startingAccelerationDistance
private

◆ staticMouseEventTimer

QTimer JoyButton::staticMouseEventTimer
staticprivate

◆ tempTurboInterval

int JoyButton::tempTurboInterval
protected

◆ testOldMouseTime

QElapsedTimer JoyButton::testOldMouseTime
staticprivate

◆ threadPool

QThreadPool* JoyButton::threadPool
private

◆ timeBetweenMiniSlots

int JoyButton::timeBetweenMiniSlots = 55
staticprotected

◆ toggleActiveState

bool JoyButton::toggleActiveState
private

◆ turboHold

QElapsedTimer JoyButton::turboHold
protected

◆ turboInterval

int JoyButton::turboInterval
protected

◆ turboTimer

QTimer JoyButton::turboTimer
protected

◆ updateInitAccelValues

bool JoyButton::updateInitAccelValues
private

◆ updateLastMouseDistance

bool JoyButton::updateLastMouseDistance
private

◆ updateOldAccelMulti

double JoyButton::updateOldAccelMulti
private

◆ updateStartingMouseDistance

bool JoyButton::updateStartingMouseDistance
private

◆ wheelHorizontalTime

QElapsedTimer JoyButton::wheelHorizontalTime
protected

◆ wheelSpeedX

int JoyButton::wheelSpeedX
protected

◆ wheelSpeedY

int JoyButton::wheelSpeedY
protected

◆ wheelVerticalTime

QElapsedTimer JoyButton::wheelVerticalTime
protected

◆ whileHeldStatus

bool JoyButton::whileHeldStatus
private

The documentation for this class was generated from the following files: