AntiMicroX
Public Member Functions | Private Attributes
Joystick Class Reference

General input device (which is not a typical gamepad like steering wheels, flight sticks etc.) More...

#include <joystick.h>

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

Public Member Functions

 Joystick (SDL_Joystick *joyhandle, int deviceIndex, AntiMicroSettings *settings, QObject *parent)
 
virtual QString getName () override
 
virtual QString getSDLName () override
 
virtual QString getGUIDString () const override
 
virtual QString getUniqueIDString () const override
 
virtual QString getVendorString () const override
 
virtual QString getProductIDString () const override
 
virtual QString getSerialString () const override
 
virtual QString getProductVersion () const override
 
virtual void closeSDLDevice () override
 
virtual SDL_JoystickID getSDLJoystickID () override
 
virtual int getNumberRawButtons () override
 
virtual int getNumberRawAxes () override
 
virtual int getNumberRawHats () override
 
virtual double getRawSensorRate (JoySensorType type) override
 
virtual bool hasRawSensor (JoySensorType type) override
 
void setCounterUniques (int counter) override
 
SDL_Joystick * getJoyhandle () const
 
virtual QString getXmlName () const override
 
- Public Member Functions inherited from InputDevice
 InputDevice (SDL_Joystick *joystick, int deviceIndex, AntiMicroSettings *settings, QObject *parent)
 
virtual ~InputDevice ()
 
virtual int getNumberButtons ()
 
virtual int getNumberAxes ()
 
virtual int getNumberHats ()
 
virtual int getNumberSticks ()
 
virtual bool hasSensor (JoySensorType type)
 Checks if this input device has a sensor of given type. More...
 
virtual int getNumberVDPads ()
 
int getJoyNumber ()
 
int getRealJoyNumber ()
 
int getActiveSetNumber ()
 
SetJoystickgetActiveSetJoystick ()
 
SetJoystickgetSetJoystick (int index)
 
void removeControlStick (int index)
 
bool isActive ()
 
int getButtonDownCount ()
 
virtual QString getDescription ()
 
virtual QString getRawGUIDString () const
 
virtual QString getRawVendorString () const
 
virtual QString getRawProductIDString () const
 
virtual QString getRawProductVersion () const
 
virtual QString getRawUniqueIDString () const
 
virtual QString getStringIdentifier ()
 
QString getSDLPlatform ()
 
virtual bool isGameController ()
 Check if device is using the SDL Game Controller API. More...
 
virtual bool isKnownController ()
 
void setButtonName (int index, QString tempName)
 
void setAxisButtonName (int axisIndex, int buttonIndex, QString tempName)
 
void setStickButtonName (int stickIndex, int buttonIndex, QString tempName)
 
void setSensorButtonName (JoySensorType type, JoySensorDirection direction, QString tempName)
 Sets the name of a mapped sensor button in all sets Used during XML loading. More...
 
void setDPadButtonName (int dpadIndex, int buttonIndex, QString tempName)
 
void setVDPadButtonName (int vdpadIndex, int buttonIndex, QString tempName)
 
void setAxisName (int axisIndex, QString tempName)
 
void setStickName (int stickIndex, QString tempName)
 
void setSensorName (JoySensorType type, QString tempName)
 Sets the name of a sensor in all sets Used during XML loading. More...
 
void setDPadName (int dpadIndex, QString tempName)
 
void setVDPadName (int vdpadIndex, QString tempName)
 
int getDeviceKeyPressTime ()
 
void setIndex (int index)
 
bool isDeviceEdited ()
 
void revertProfileEdited ()
 
void setKeyRepeatStatus (bool enabled)
 
void setKeyRepeatDelay (int delay)
 
void setKeyRepeatRate (int rate)
 
bool isKeyRepeatEnabled ()
 
int getKeyRepeatDelay ()
 
int getKeyRepeatRate ()
 
QString getProfileName ()
 
bool hasCalibrationThrottle (int axisNum)
 
JoyAxis::ThrottleTypes getCalibrationThrottle (int axisNum)
 
void setCalibrationThrottle (int axisNum, JoyAxis::ThrottleTypes throttle)
 
void setCalibrationStatus (int axisNum, JoyAxis::ThrottleTypes throttle)
 
void removeCalibrationStatus (int axisNum)
 
void sendLoadProfileRequest (QString location)
 
AntiMicroSettingsgetSettings ()
 
void activatePossiblePendingEvents ()
 
void activatePossibleControlStickEvents ()
 
void activatePossibleAxisEvents ()
 
void activatePossibleSensorEvents ()
 
void activatePossibleDPadEvents ()
 
void activatePossibleVDPadEvents ()
 
void activatePossibleButtonEvents ()
 
void convertToUniqueMappSett (QSettings *sett, QString gUIDmappGroupSett, QString uniqueIDGroupSett)
 
bool isEmptyUniqueID (QString tempUniqueID)
 Check if the GUID passed is considered empty. More...
 
bool isRelevantUniqueID (QString tempUniqueID)
 Check if GUID passed matches the expected GUID for a device. Needed for xinput GUID abstraction. More...
 
void setRawAxisDeadZone (int deadZone)
 
int getRawAxisDeadZone ()
 
void rawAxisEvent (int index, int value)
 
bool elementsHaveNames ()
 
QMap< int, SetJoystick * > & getJoystick_sets ()
 
SDL_Joystick * getJoyHandle () const
 
virtual SDL_GameControllerType getControllerType () const
 Returns the current controller model. For non gamecontroller devices it always returns UNKNOWN. More...
 
InputDeviceCalibrationgetCalibrationBackend ()
 Returns a pointer to the internal calibration storage backend. More...
 
void updateStickCalibration (int index, double offsetX, double gainX, double offsetY, double gainY)
 Updates stored calibration for this controller and applies calibration to the specified stick in all sets See JoyControlStick::setCalibration. More...
 
void applyStickCalibration (int index, double offsetX, double gainX, double offsetY, double gainY)
 Applies calibration to the specified stick in all sets See JoyControlStick::setCalibration. More...
 
void updateAccelerometerCalibration (double offsetX, double offsetY, double offsetZ)
 Applies calibration to the specified accelerometer in all sets See JoySensor::setCalibration. More...
 
void applyAccelerometerCalibration (double offsetX, double offsetY, double offsetZ)
 Applies calibration to the specified accelerometer in all sets See JoySensor::setCalibration. More...
 
void updateGyroscopeCalibration (double offsetX, double offsetY, double offsetZ)
 Updates stored calibration for this controller and applies calibration to the specified gyroscope in all sets See JoySensor::setCalibration. More...
 
void applyGyroscopeCalibration (double offsetX, double offsetY, double offsetZ)
 Applies calibration to the specified gyroscope in all sets See JoySensor::setCalibration. More...
 

Private Attributes

SDL_Joystick * m_joyhandle
 
SDL_GameController * controller
 
SDL_JoystickID joystickID
 
int counterUniques
 

Additional Inherited Members

- Public Slots inherited from InputDevice
void reset ()
 
void transferReset ()
 Obtain current joystick element values, create new SetJoystick objects, and then transfer most recent joystick element values to new current set. More...
 
void reInitButtons ()
 
void resetButtonDownCount ()
 
void setActiveSetNumber (int index)
 
void changeSetButtonAssociation (int button_index, int originset, int newset, int mode)
 
void changeSetAxisButtonAssociation (int button_index, int axis_index, int originset, int newset, int mode)
 
void changeSetStickButtonAssociation (int button_index, int stick_index, int originset, int newset, int mode)
 
void changeSetSensorButtonAssociation (JoySensorDirection direction, JoySensorType type, int originset, int newset, int mode)
 Creates reverse set change button mapping for toggle and while-hold set change mappings. More...
 
void changeSetDPadButtonAssociation (int button_index, int dpad_index, int originset, int newset, int mode)
 
void changeSetVDPadButtonAssociation (int button_index, int dpad_index, int originset, int newset, int mode)
 
void setDeviceKeyPressTime (int newPressTime)
 
void profileEdited ()
 
void setProfileName (QString value)
 
void haltServices ()
 
void finalRemoval ()
 
virtual void buttonClickEvent (int buttonindex)
 
virtual void buttonReleaseEvent (int buttonindex)
 
virtual void dpadButtonClickEvent (int buttonindex)
 
virtual void dpadButtonReleaseEvent (int buttonindex)
 
void establishPropertyUpdatedConnection ()
 
void disconnectPropertyUpdatedConnection ()
 
- Signals inherited from InputDevice
void setChangeActivated (int index)
 
void setAxisThrottleActivated (int index)
 
void clicked (int index)
 
void released (int index)
 
void rawButtonClick (int index)
 
void rawButtonRelease (int index)
 
void rawAxisButtonClick (int axis, int buttonindex)
 
void rawAxisButtonRelease (int axis, int buttonindex)
 
void rawDPadButtonClick (int dpad, int buttonindex)
 
void rawDPadButtonRelease (int dpad, int buttonindex)
 
void rawAxisActivated (int axis, int value)
 
void rawAxisReleased (int axis, int value)
 
void rawAxisMoved (int axis, int value)
 
void profileUpdated ()
 
void propertyUpdated ()
 
void profileNameEdited (QString text)
 
void requestProfileLoad (QString location)
 
void requestWait ()
 
- Protected Slots inherited from InputDevice
void propogateSetChange (int index)
 
void propogateSetAxisThrottleChange (int index, int originset)
 
void buttonDownEvent (int setindex, int buttonindex)
 
void buttonUpEvent (int setindex, int buttonindex)
 
virtual void axisActivatedEvent (int setindex, int axisindex, int value)
 
virtual void axisReleasedEvent (int setindex, int axisindex, int value)
 
virtual void axisButtonDownEvent (int setindex, int axisindex, int buttonindex)
 
virtual void axisButtonUpEvent (int setindex, int axisindex, int buttonindex)
 
virtual void dpadButtonDownEvent (int setindex, int dpadindex, int buttonindex)
 
virtual void dpadButtonUpEvent (int setindex, int dpadindex, int buttonindex)
 
virtual void stickButtonDownEvent (int setindex, int stickindex, int buttonindex)
 
virtual void stickButtonUpEvent (int setindex, int stickindex, int buttonindex)
 
virtual void sensorButtonDownEvent (int setindex, JoySensorType type, JoySensorDirection direction)
 
virtual void sensorButtonUpEvent (int setindex, JoySensorType type, JoySensorDirection direction)
 
void updateSetButtonNames (int index)
 
void updateSetAxisButtonNames (int axisIndex, int buttonIndex)
 
void updateSetStickButtonNames (int stickIndex, int buttonIndex)
 
void updateSetSensorButtonNames (JoySensorType type, JoySensorDirection direction)
 Rename mapped sensor button in all sets to the name in the active set. More...
 
void updateSetDPadButtonNames (int dpadIndex, int buttonIndex)
 
void updateSetVDPadButtonNames (int vdpadIndex, int buttonIndex)
 
void updateSetAxisNames (int axisIndex)
 
void updateSetStickNames (int stickIndex)
 
void updateSetSensorNames (JoySensorType type)
 Rename sensor in all sets to the name in the current set. More...
 
void updateSetDPadNames (int dpadIndex)
 
void updateSetVDPadNames (int vdpadIndex)
 
- Protected Member Functions inherited from InputDevice
void enableSetConnections (SetJoystick *setstick)
 Establishes necessary connections for set change slots. More...
 
QHash< int, JoyAxis::ThrottleTypes > & getCali ()
 
SDL_JoystickID * getJoystickID ()
 
- Protected Attributes inherited from InputDevice
int rawAxisDeadZone
 
int keyPressTime
 
QString profileName
 
InputDeviceCalibration m_calibrations
 

Detailed Description

General input device (which is not a typical gamepad like steering wheels, flight sticks etc.)

This is broad category of devices. (Includes Gamepads described by GameController and all of the other devices) Devices in this category trigger events SDL_JOY... (like SDL_JOYBUTTONUP)

Constructor & Destructor Documentation

◆ Joystick()

Joystick::Joystick ( SDL_Joystick *  joyhandle,
int  deviceIndex,
AntiMicroSettings settings,
QObject *  parent 
)
explicit
Here is the call graph for this function:

Member Function Documentation

◆ closeSDLDevice()

void Joystick::closeSDLDevice ( )
overridevirtual

Implements InputDevice.

◆ getGUIDString()

QString Joystick::getGUIDString ( ) const
overridevirtual

Implements InputDevice.

Here is the caller graph for this function:

◆ getJoyhandle()

SDL_Joystick * Joystick::getJoyhandle ( ) const

◆ getName()

QString Joystick::getName ( )
overridevirtual

Implements InputDevice.

Here is the call graph for this function:

◆ getNumberRawAxes()

int Joystick::getNumberRawAxes ( )
overridevirtual

Implements InputDevice.

◆ getNumberRawButtons()

int Joystick::getNumberRawButtons ( )
overridevirtual

Implements InputDevice.

◆ getNumberRawHats()

int Joystick::getNumberRawHats ( )
overridevirtual

Implements InputDevice.

◆ getProductIDString()

QString Joystick::getProductIDString ( ) const
overridevirtual

Implements InputDevice.

Here is the caller graph for this function:

◆ getProductVersion()

QString Joystick::getProductVersion ( ) const
overridevirtual

Implements InputDevice.

◆ getRawSensorRate()

double Joystick::getRawSensorRate ( JoySensorType  type)
overridevirtual

Implements InputDevice.

◆ getSDLJoystickID()

SDL_JoystickID Joystick::getSDLJoystickID ( )
overridevirtual

Implements InputDevice.

◆ getSDLName()

QString Joystick::getSDLName ( )
overridevirtual

Implements InputDevice.

Here is the caller graph for this function:

◆ getSerialString()

QString Joystick::getSerialString ( ) const
overridevirtual

Implements InputDevice.

Here is the caller graph for this function:

◆ getUniqueIDString()

QString Joystick::getUniqueIDString ( ) const
overridevirtual

Implements InputDevice.

Here is the call graph for this function:

◆ getVendorString()

QString Joystick::getVendorString ( ) const
overridevirtual

Implements InputDevice.

Here is the caller graph for this function:

◆ getXmlName()

QString Joystick::getXmlName ( ) const
overridevirtual

Implements InputDevice.

◆ hasRawSensor()

bool Joystick::hasRawSensor ( JoySensorType  type)
overridevirtual

Implements InputDevice.

◆ setCounterUniques()

void Joystick::setCounterUniques ( int  counter)
overridevirtual

Implements InputDevice.

Field Documentation

◆ controller

SDL_GameController* Joystick::controller
private

◆ counterUniques

int Joystick::counterUniques
private

◆ joystickID

SDL_JoystickID Joystick::joystickID
private

◆ m_joyhandle

SDL_Joystick* Joystick::m_joyhandle
private

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