AntiMicroX
Loading...
Searching...
No Matches
inputdevice.h
Go to the documentation of this file.
1/* antimicrox Gamepad to KB+M event mapper
2 * Copyright (C) 2015 Travis Nickles <nickles.travis@gmail.com>
3 * Copyright (C) 2020 Jagoda Górska <juliagoda.pl@protonmail>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef INPUTDEVICE_H
20#define INPUTDEVICE_H
21
23#include "joysensordirection.h"
24#include "joysensortype.h"
25#include "setjoystick.h"
26
27#include <SDL2/SDL_joystick.h>
28
30class SetJoystick;
33class QSettings;
34
35#if not SDL_VERSION_ATLEAST(2, 0, 12)
40#endif
41
50class InputDevice : public QObject
51{
53
54 public:
55 explicit InputDevice(SDL_Joystick *joystick, int deviceIndex, AntiMicroSettings *settings, QObject *parent);
56 virtual ~InputDevice();
57
58 virtual int getNumberButtons();
59 virtual int getNumberAxes();
60 virtual int getNumberHats();
61 virtual int getNumberSticks();
62 virtual bool hasSensor(JoySensorType type);
63 virtual int getNumberVDPads();
64
65 int getJoyNumber();
66 int getRealJoyNumber();
70 SetJoystick *getSetJoystick(int index);
71 void removeControlStick(int index);
72 bool isActive();
74
75 virtual QString getXmlName() const = 0;
76 virtual QString getName() = 0;
77 virtual QString getSDLName() = 0;
78 virtual QString getDescription();
79
80 // GUID only available on SDL 2.
81 virtual QString getGUIDString() const = 0;
82 virtual QString getUniqueIDString() const = 0;
83 virtual QString getVendorString() const = 0;
84 virtual QString getSerialString() const = 0;
85 virtual QString getProductIDString() const = 0;
86 virtual QString getProductVersion() const = 0;
87 virtual QString getRawGUIDString() const;
88 virtual QString getRawVendorString() const;
89 virtual QString getRawProductIDString() const;
90 virtual QString getRawProductVersion() const;
91 virtual QString getRawUniqueIDString() const;
92 virtual void setCounterUniques(int counter) = 0;
93
95 virtual void closeSDLDevice() = 0;
98 virtual bool isGameController();
99 virtual bool isKnownController();
100
101 void setButtonName(int index, QString tempName); // InputDeviceXml class
102 void setAxisButtonName(int axisIndex, int buttonIndex, QString tempName); // InputDeviceXml class
103 void setStickButtonName(int stickIndex, int buttonIndex, QString tempName); // InputDeviceXml class
105 void setDPadButtonName(int dpadIndex, int buttonIndex, QString tempName); // InputDeviceXml class
106 void setVDPadButtonName(int vdpadIndex, int buttonIndex, QString tempName); // InputDeviceXml class
107
108 void setAxisName(int axisIndex, QString tempName); // InputDeviceAxis class
109 void setStickName(int stickIndex, QString tempName); // InputDeviceStick class
111 void setDPadName(int dpadIndex, QString tempName); // InputDeviceHat class
112 void setVDPadName(int vdpadIndex, QString tempName); // InputDeviceVDPad class
113
114 virtual int getNumberRawButtons() = 0;
115 virtual int getNumberRawAxes() = 0;
116 virtual int getNumberRawHats() = 0;
117 virtual double getRawSensorRate(JoySensorType type) = 0;
118 virtual bool hasRawSensor(JoySensorType type) = 0;
119
120 int getDeviceKeyPressTime(); // unsigned
121
122 void setIndex(int index);
123 bool isDeviceEdited();
124 void revertProfileEdited();
125
126 void setKeyRepeatStatus(bool enabled);
127 void setKeyRepeatDelay(int delay);
128 void setKeyRepeatRate(int rate);
129
130 bool isKeyRepeatEnabled();
131 int getKeyRepeatDelay();
132 int getKeyRepeatRate();
133
140
143
145 void activatePossibleControlStickEvents(); // InputDeviceStick class
146 void activatePossibleAxisEvents(); // InputDeviceAxis class
148 void activatePossibleDPadEvents(); // InputDeviceHat class
149 void activatePossibleVDPadEvents(); // InputDeviceVDPad class
150 void activatePossibleButtonEvents(); // InputDeviceButton class
152
153 // bool isEmptyGUID(QString tempGUID);
155 // bool isRelevantGUID(QString tempGUID);
157
158 void setRawAxisDeadZone(int deadZone); // InputDeviceAxis class
159 int getRawAxisDeadZone(); // InputDeviceAxis class
160 void rawAxisEvent(int index, int value); // InputDeviceAxis class
161 bool elementsHaveNames();
162
164 SDL_Joystick *getJoyHandle() const;
166
168 void updateStickCalibration(int index, double offsetX, double gainX, double offsetY, double gainY);
169 void applyStickCalibration(int index, double offsetX, double gainX, double offsetY, double gainY);
170 void updateAccelerometerCalibration(double offsetX, double offsetY, double offsetZ);
171 void applyAccelerometerCalibration(double offsetX, double offsetY, double offsetZ);
172 void updateGyroscopeCalibration(double offsetX, double offsetY, double offsetZ);
173 void applyGyroscopeCalibration(double offsetX, double offsetY, double offsetZ);
174
175 protected:
177
180
182 int keyPressTime; // unsigned
185
186 signals:
187 void setChangeActivated(int index);
188 void setAxisThrottleActivated(int index); // InputDeviceAxis class
189 void clicked(int index);
190 void released(int index);
191
192 void rawButtonClick(int index); // InputDeviceButton class
193 void rawButtonRelease(int index); // InputDeviceButton class
194 void rawAxisButtonClick(int axis, int buttonindex); // InputDeviceAxisBtn class
195 void rawAxisButtonRelease(int axis, int buttonindex); // InputDeviceAxisBtn class
196 void rawDPadButtonClick(int dpad, int buttonindex); // InputDeviceHat class
197 void rawDPadButtonRelease(int dpad, int buttonindex); // InputDeviceHat class
198 void rawAxisActivated(int axis, int value); // InputDeviceAxis class
199 void rawAxisReleased(int axis, int value); // InputDeviceAxis class
200 void rawAxisMoved(int axis, int value); // InputDeviceAxis class
206
207 public slots:
208 void reset();
209 void transferReset();
210 void reInitButtons();
212 void setActiveSetNumber(int index);
213 void changeSetButtonAssociation(int button_index, int originset, int newset, int mode); // InputDeviceButton class
214 void changeSetAxisButtonAssociation(int button_index, int axis_index, int originset, int newset,
215 int mode); // InputDeviceAxisBtn class
216 void changeSetStickButtonAssociation(int button_index, int stick_index, int originset, int newset,
217 int mode); // InputDeviceStick class
219 int mode);
220 void changeSetDPadButtonAssociation(int button_index, int dpad_index, int originset, int newset,
221 int mode); // InputDeviceHat class
222 void changeSetVDPadButtonAssociation(int button_index, int dpad_index, int originset, int newset,
223 int mode); // InputDeviceVDPad class
224 void setDeviceKeyPressTime(int newPressTime); // .., unsigned
225 void profileEdited();
226 void setProfileName(QString value);
227 void haltServices();
228 void finalRemoval();
229
230 virtual void buttonClickEvent(int buttonindex); // InputDeviceButton class
231 virtual void buttonReleaseEvent(int buttonindex); // InputDeviceButton class
232 virtual void dpadButtonClickEvent(int buttonindex); // InputDeviceHat class
233 virtual void dpadButtonReleaseEvent(int buttonindex); // InputDeviceHat class
234
237
238 protected slots:
239 void propogateSetChange(int index);
240 void propogateSetAxisThrottleChange(int index, int originset);
241 void buttonDownEvent(int setindex, int buttonindex); // InputDeviceButton class
242 void buttonUpEvent(int setindex, int buttonindex); // InputDeviceButton class
243 virtual void axisActivatedEvent(int setindex, int axisindex, int value); // InputDeviceAxis class
244 virtual void axisReleasedEvent(int setindex, int axisindex, int value); // InputDeviceAxis class
245 virtual void axisButtonDownEvent(int setindex, int axisindex, int buttonindex); // InputDeviceAxisBtn class
246 virtual void axisButtonUpEvent(int setindex, int axisindex, int buttonindex); // InputDeviceAxisBtn class
247 virtual void dpadButtonDownEvent(int setindex, int dpadindex, int buttonindex); // InputDeviceHat class
248 virtual void dpadButtonUpEvent(int setindex, int dpadindex, int buttonindex); // InputDeviceHat class
249 virtual void stickButtonDownEvent(int setindex, int stickindex, int buttonindex); // InputDeviceStick class
250 virtual void stickButtonUpEvent(int setindex, int stickindex, int buttonindex); // InputDeviceStick class
253
254 void updateSetButtonNames(int index); // InputDeviceButton class
255 void updateSetAxisButtonNames(int axisIndex, int buttonIndex); // InputDeviceAxis class
256 void updateSetStickButtonNames(int stickIndex, int buttonIndex); // InputDeviceStick class
258 void updateSetDPadButtonNames(int dpadIndex, int buttonIndex); // InputDeviceHat class
259 void updateSetVDPadButtonNames(int vdpadIndex, int buttonIndex); // InputDeviceVDPad class
260
261 void updateSetAxisNames(int axisIndex); // InputDeviceAxis class
262 void updateSetStickNames(int stickIndex); // InputDeviceStick class
264 void updateSetDPadNames(int dpadIndex); // InputDeviceHat class
265 void updateSetVDPadNames(int vdpadIndex); // InputDeviceVDPad class
266
267 private:
271
272 // When D-Bus is supported, register this object on D-Bus. (Does nothing in
273 // builds without D-Bus support.)
274 void registerDBusObject();
275 // Unregister the object in D-Bus builds
277
287
291
295};
296
299
300#endif // INPUTDEVICE_H
Definition antimicrosettings.h:27
Calibration storage backend which can store multiple calibration items for different controllers.
Definition inputdevicecalibration.h:88
Abstract class representing a hardware input device, e.g a joystick or controller.
Definition inputdevice.h:51
void updateSetSensorButtonNames(JoySensorType type, JoySensorDirection direction)
Rename mapped sensor button in all sets to the name in the active set.
Definition inputdevice.cpp:1057
void rawDPadButtonClick(int dpad, int buttonindex)
void setCalibrationThrottle(int axisNum, JoyAxis::ThrottleTypes throttle)
Definition inputdevice.cpp:1372
int getButtonDownCount()
Definition inputdevice.cpp:1323
void establishPropertyUpdatedConnection()
Definition inputdevice.cpp:1251
QString getProfileName()
Definition inputdevice.cpp:1321
void setDPadName(int dpadIndex, QString tempName)
Definition inputdevice.cpp:985
void setDPadButtonName(int dpadIndex, int buttonIndex, QString tempName)
Definition inputdevice.cpp:898
virtual SDL_JoystickID getSDLJoystickID()=0
virtual QString getDescription()
Definition inputdevice.cpp:1325
QList< bool > buttonstates
Definition inputdevice.h:292
int getDeviceKeyPressTime()
Definition inputdevice.cpp:1220
SDL_JoystickID joystickID
Definition inputdevice.h:285
virtual bool hasSensor(JoySensorType type)
Checks if this input device has a sensor of given type.
Definition inputdevice.cpp:594
void disconnectPropertyUpdatedConnection()
Definition inputdevice.cpp:1256
int active_set
Definition inputdevice.h:282
virtual int getNumberSticks()
Definition inputdevice.cpp:588
void buttonDownEvent(int setindex, int buttonindex)
Definition inputdevice.cpp:712
int getJoyNumber()
Definition inputdevice.cpp:64
void propogateSetChange(int index)
Definition inputdevice.cpp:600
virtual QString getRawGUIDString() const
Definition inputdevice.cpp:1679
void updateSetDPadButtonNames(int dpadIndex, int buttonIndex)
Definition inputdevice.cpp:1070
AntiMicroSettings * getSettings()
Definition inputdevice.cpp:1403
InputDeviceCalibration m_calibrations
Definition inputdevice.h:184
bool deviceEdited
Definition inputdevice.h:286
void updateAccelerometerCalibration(double offsetX, double offsetY, double offsetZ)
Applies calibration to the specified accelerometer in all sets See JoySensor::setCalibration.
Definition inputdevice.cpp:1824
virtual QString getName()=0
virtual void axisReleasedEvent(int setindex, int axisindex, int value)
Definition inputdevice.cpp:1199
virtual void buttonClickEvent(int buttonindex)
Definition inputdevice.cpp:739
void sendLoadProfileRequest(QString location)
Definition inputdevice.cpp:1397
void buttonUpEvent(int setindex, int buttonindex)
Definition inputdevice.cpp:724
virtual double getRawSensorRate(JoySensorType type)=0
QMap< int, SetJoystick * > joystick_sets
Definition inputdevice.h:279
bool isEmptyUniqueID(QString tempUniqueID)
Check if the GUID passed is considered empty.
Definition inputdevice.cpp:1644
virtual void dpadButtonDownEvent(int setindex, int dpadindex, int buttonindex)
Definition inputdevice.cpp:773
void setAxisThrottleActivated(int index)
void setChangeActivated(int index)
bool hasCalibrationThrottle(int axisNum)
Definition inputdevice.cpp:1360
QHash< int, JoyAxis::ThrottleTypes > cali
Definition inputdevice.h:280
int keyPressTime
Definition inputdevice.h:182
virtual ~InputDevice()
Definition inputdevice.cpp:62
virtual QString getSDLName()=0
virtual void dpadButtonReleaseEvent(int buttonindex)
Definition inputdevice.cpp:765
int keyRepeatDelay
Definition inputdevice.h:289
void setVDPadName(int vdpadIndex, QString tempName)
Definition inputdevice.cpp:999
void requestProfileLoad(QString location)
virtual void stickButtonDownEvent(int setindex, int stickindex, int buttonindex)
Definition inputdevice.cpp:787
void setAxisButtonName(int axisIndex, int buttonIndex, QString tempName)
Definition inputdevice.cpp:829
virtual void sensorButtonUpEvent(int setindex, JoySensorType type, JoySensorDirection direction)
Definition inputdevice.cpp:808
void applyStickCalibration(int index, double offsetX, double gainX, double offsetY, double gainY)
Applies calibration to the specified stick in all sets See JoyControlStick::setCalibration.
Definition inputdevice.cpp:1807
virtual QString getRawProductVersion() const
Definition inputdevice.cpp:1685
void setAxisName(int axisIndex, QString tempName)
Definition inputdevice.cpp:936
void resetButtonDownCount()
Definition inputdevice.cpp:1140
virtual void axisButtonDownEvent(int setindex, int axisindex, int buttonindex)
Definition inputdevice.cpp:743
bool isDeviceEdited()
Definition inputdevice.cpp:1231
QString getActiveSetName()
Definition inputdevice.cpp:574
void setKeyRepeatStatus(bool enabled)
Definition inputdevice.cpp:1261
void removeControlStick(int index)
Definition inputdevice.cpp:699
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.
Definition inputdevice.cpp:649
void clicked(int index)
void setDeviceKeyPressTime(int newPressTime)
Definition inputdevice.cpp:1214
virtual int getNumberAxes()
Definition inputdevice.cpp:584
virtual void axisButtonUpEvent(int setindex, int axisindex, int buttonindex)
Definition inputdevice.cpp:750
void applyAccelerometerCalibration(double offsetX, double offsetY, double offsetZ)
Applies calibration to the specified accelerometer in all sets See JoySensor::setCalibration.
Definition inputdevice.cpp:1837
QList< int > axesstates
Definition inputdevice.h:293
virtual QString getUniqueIDString() const =0
void haltServices()
Definition inputdevice.cpp:1689
void setButtonName(int index, QString tempName)
Definition inputdevice.cpp:815
void changeSetStickButtonAssociation(int button_index, int stick_index, int originset, int newset, int mode)
Definition inputdevice.cpp:633
void updateGyroscopeCalibration(double offsetX, double offsetY, double offsetZ)
Updates stored calibration for this controller and applies calibration to the specified gyroscope in ...
Definition inputdevice.cpp:1855
QString profileName
Definition inputdevice.h:183
void rawAxisMoved(int axis, int value)
virtual void sensorButtonDownEvent(int setindex, JoySensorType type, JoySensorDirection direction)
Definition inputdevice.cpp:801
int getKeyRepeatRate()
Definition inputdevice.cpp:1293
int buttonDownCount
Definition inputdevice.h:284
void activatePossiblePendingEvents()
Definition inputdevice.cpp:1434
virtual bool isKnownController()
Definition inputdevice.cpp:1405
virtual void stickButtonUpEvent(int setindex, int stickindex, int buttonindex)
Definition inputdevice.cpp:794
void unregisterDBusObject()
Definition inputdevice.cpp:1760
void enableSetConnections(SetJoystick *setstick)
Establishes necessary connections for set change slots.
Definition inputdevice.cpp:1149
bool isActive()
Definition inputdevice.cpp:710
InputDeviceCalibration * getCalibrationBackend()
Returns a pointer to the internal calibration storage backend.
Definition inputdevice.cpp:1780
void activatePossibleSensorEvents()
Definition inputdevice.cpp:1473
virtual void closeSDLDevice()=0
void transferReset()
Obtain current joystick element values, create new SetJoystick objects, and then transfer most recent...
Definition inputdevice.cpp:90
bool elementsHaveNames()
Definition inputdevice.cpp:1526
void finalRemoval()
Definition inputdevice.cpp:1691
QHash< int, JoyAxis::ThrottleTypes > & getCali()
Definition inputdevice.cpp:1734
void rawAxisReleased(int axis, int value)
virtual int getNumberHats()
Definition inputdevice.cpp:586
virtual void setCounterUniques(int counter)=0
void rawDPadButtonRelease(int dpad, int buttonindex)
void updateSetStickNames(int stickIndex)
Definition inputdevice.cpp:1104
void profileUpdated()
void released(int index)
void setSensorButtonName(JoySensorType type, JoySensorDirection direction, QString tempName)
Sets the name of a mapped sensor button in all sets Used during XML loading.
Definition inputdevice.cpp:879
void updateSetAxisNames(int axisIndex)
Definition inputdevice.cpp:1096
virtual QString getRawUniqueIDString() const
Definition inputdevice.cpp:1687
virtual QString getStringIdentifier()
Definition inputdevice.cpp:1235
virtual void axisActivatedEvent(int setindex, int axisindex, int value)
Definition inputdevice.cpp:1192
void setKeyRepeatDelay(int delay)
Definition inputdevice.cpp:1263
int joyNumber
Definition inputdevice.h:283
void changeSetAxisButtonAssociation(int button_index, int axis_index, int originset, int newset, int mode)
Definition inputdevice.cpp:610
virtual int getNumberButtons()
Definition inputdevice.cpp:582
void rawAxisEvent(int index, int value)
Definition inputdevice.cpp:1710
QString getSDLPlatform()
Definition inputdevice.cpp:1348
QList< int > dpadstates
Definition inputdevice.h:294
void rawButtonRelease(int index)
AntiMicroSettings * m_settings
Definition inputdevice.h:281
virtual QString getXmlName() const =0
void setStickName(int stickIndex, QString tempName)
Definition inputdevice.cpp:950
void rawButtonClick(int index)
SDL_Joystick * getJoyHandle() const
Definition inputdevice.cpp:1769
void updateSetVDPadNames(int vdpadIndex)
Definition inputdevice.cpp:1132
void revertProfileEdited()
Definition inputdevice.cpp:1233
void removeCalibrationStatus(int axisNum)
Definition inputdevice.cpp:1391
SDL_JoystickID * getJoystickID()
Definition inputdevice.cpp:1736
virtual QString getSerialString() const =0
SDL_Joystick * m_joyhandle
Definition inputdevice.h:278
bool isKeyRepeatEnabled()
Definition inputdevice.cpp:1279
void rawAxisActivated(int axis, int value)
QList< int > & getAxesstatesLocal()
Definition inputdevice.cpp:1740
JoyAxis::ThrottleTypes getCalibrationThrottle(int axisNum)
Definition inputdevice.cpp:1370
void activatePossibleVDPadEvents()
Definition inputdevice.cpp:1500
int rawAxisDeadZone
Definition inputdevice.h:181
void activatePossibleDPadEvents()
Definition inputdevice.cpp:1487
void setSensorName(JoySensorType type, QString tempName)
Sets the name of a sensor in all sets Used during XML loading.
Definition inputdevice.cpp:970
virtual int getNumberRawAxes()=0
void profileNameEdited(QString text)
bool isRelevantUniqueID(QString tempUniqueID)
Check if GUID passed matches the expected GUID for a device. Needed for xinput GUID abstraction.
Definition inputdevice.cpp:1669
virtual int getNumberRawButtons()=0
SetJoystick * getActiveSetJoystick()
Definition inputdevice.cpp:580
int getKeyRepeatDelay()
Definition inputdevice.cpp:1281
void setRawAxisDeadZone(int deadZone)
Definition inputdevice.cpp:1697
QList< int > & getDpadstatesLocal()
Definition inputdevice.cpp:1742
virtual void buttonReleaseEvent(int buttonindex)
Definition inputdevice.cpp:741
void reInitButtons()
Definition inputdevice.cpp:114
void updateSetVDPadButtonNames(int vdpadIndex, int buttonIndex)
Definition inputdevice.cpp:1083
void propertyUpdated()
void updateSetButtonNames(int index)
Definition inputdevice.cpp:1013
QList< bool > & getButtonstatesLocal()
Definition inputdevice.cpp:1738
void rawAxisButtonClick(int axis, int buttonindex)
void updateSetStickButtonNames(int stickIndex, int buttonIndex)
Definition inputdevice.cpp:1039
void changeSetVDPadButtonAssociation(int button_index, int dpad_index, int originset, int newset, int mode)
Definition inputdevice.cpp:668
void propogateSetAxisThrottleChange(int index, int originset)
Definition inputdevice.cpp:677
void updateSetSensorNames(JoySensorType type)
Rename sensor in all sets to the name in the current set.
Definition inputdevice.cpp:1116
virtual int getNumberRawHats()=0
virtual SDL_GameControllerType getControllerType() const
Returns the current controller model. For non gamecontroller devices it always returns UNKNOWN.
Definition inputdevice.cpp:1775
void setProfileName(QString value)
Definition inputdevice.cpp:1305
int getRawAxisDeadZone()
Definition inputdevice.cpp:1708
int getActiveSetNumber()
Definition inputdevice.cpp:572
void applyGyroscopeCalibration(double offsetX, double offsetY, double offsetZ)
Applies calibration to the specified gyroscope in all sets See JoySensor::setCalibration.
Definition inputdevice.cpp:1868
void rawAxisButtonRelease(int axis, int buttonindex)
virtual QString getProductVersion() const =0
void activatePossibleControlStickEvents()
Definition inputdevice.cpp:1443
virtual QString getRawVendorString() const
Definition inputdevice.cpp:1681
void updateSetAxisButtonNames(int axisIndex, int buttonIndex)
Definition inputdevice.cpp:1021
void setCalibrationStatus(int axisNum, JoyAxis::ThrottleTypes throttle)
Definition inputdevice.cpp:1385
virtual bool hasRawSensor(JoySensorType type)=0
virtual int getNumberVDPads()
Definition inputdevice.cpp:596
void changeSetButtonAssociation(int button_index, int originset, int newset, int mode)
Definition inputdevice.cpp:602
virtual QString getRawProductIDString() const
Definition inputdevice.cpp:1683
void setIndex(int index)
Definition inputdevice.cpp:1206
void registerDBusObject()
Definition inputdevice.cpp:1744
void convertToUniqueMappSett(QSettings *sett, QString gUIDmappGroupSett, QString uniqueIDGroupSett)
Definition inputdevice.cpp:1712
void changeSetDPadButtonAssociation(int button_index, int dpad_index, int originset, int newset, int mode)
Definition inputdevice.cpp:659
void activatePossibleAxisEvents()
Definition inputdevice.cpp:1458
virtual QString getVendorString() const =0
void requestWait()
virtual bool isGameController()
Check if device is using the SDL Game Controller API.
Definition inputdevice.cpp:1358
virtual void dpadButtonUpEvent(int setindex, int dpadindex, int buttonindex)
Definition inputdevice.cpp:780
void setActiveSetNumber(int index)
Definition inputdevice.cpp:150
virtual QString getGUIDString() const =0
void setKeyRepeatRate(int rate)
Definition inputdevice.cpp:1271
SetJoystick * getSetJoystick(int index)
Definition inputdevice.cpp:598
bool keyRepeatEnabled
Definition inputdevice.h:288
virtual QString getProductIDString() const =0
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 ...
Definition inputdevice.cpp:1792
int getRealJoyNumber()
Definition inputdevice.cpp:66
int keyRepeatRate
Definition inputdevice.h:290
void profileEdited()
Definition inputdevice.cpp:1222
void activatePossibleButtonEvents()
Definition inputdevice.cpp:1513
QMap< int, SetJoystick * > & getJoystick_sets()
Definition inputdevice.cpp:1732
virtual void dpadButtonClickEvent(int buttonindex)
Definition inputdevice.cpp:757
void reset()
Definition inputdevice.cpp:72
void updateSetDPadNames(int dpadIndex)
Definition inputdevice.cpp:1124
void setStickButtonName(int stickIndex, int buttonIndex, QString tempName)
Definition inputdevice.cpp:853
void setVDPadButtonName(int vdpadIndex, int buttonIndex, QString tempName)
Definition inputdevice.cpp:917
ThrottleTypes
Definition joyaxis.h:49
Definition joydpadxml.h:27
A set of mapped events which can by switched by a controller event. Contains controller input objects...
Definition setjoystick.h:40
SDL_GameControllerType
Definition inputdevice.h:37
@ SDL_CONTROLLER_TYPE_UNKNOWN
Definition inputdevice.h:38
JoySensorDirection
A bitfield style enum which encodes all possible three dimensional sensor directions....
Definition joysensordirection.h:28
JoySensorType
Definition joysensortype.h:24